// This file is @generated by prost-build.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ParamValue {
    #[prost(int64, tag = "1")]
    pub integer: i64,
    #[prost(double, tag = "2")]
    pub real: f64,
}
impl ::prost::Name for ParamValue {
    const NAME: &'static str = "ParamValue";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.ParamValue".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.ParamValue".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VehicleInfo {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub available_info: u32,
    #[prost(uint32, tag = "3")]
    pub sysid: u32,
    #[prost(uint32, tag = "4")]
    pub compid: u32,
    #[prost(uint32, tag = "5")]
    pub autopilot: u32,
    #[prost(uint32, tag = "6")]
    pub r#type: u32,
    #[prost(uint32, tag = "7")]
    pub system_status: u32,
    #[prost(uint32, tag = "8")]
    pub base_mode: u32,
    #[prost(uint32, tag = "9")]
    pub custom_mode: u32,
    #[prost(string, tag = "10")]
    pub mode: ::prost::alloc::string::String,
    #[prost(uint32, tag = "11")]
    pub mode_id: u32,
    #[prost(uint64, tag = "12")]
    pub capabilities: u64,
    #[prost(uint32, tag = "13")]
    pub flight_sw_version: u32,
    #[prost(uint32, tag = "14")]
    pub middleware_sw_version: u32,
    #[prost(uint32, tag = "15")]
    pub os_sw_version: u32,
    #[prost(uint32, tag = "16")]
    pub board_version: u32,
    #[prost(string, tag = "17")]
    pub flight_custom_version: ::prost::alloc::string::String,
    #[prost(uint32, tag = "18")]
    pub vendor_id: u32,
    #[prost(uint32, tag = "19")]
    pub product_id: u32,
    #[prost(uint64, tag = "20")]
    pub uid: u64,
}
impl ::prost::Name for VehicleInfo {
    const NAME: &'static str = "VehicleInfo";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.VehicleInfo".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.VehicleInfo".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Waypoint {
    #[prost(uint32, tag = "1")]
    pub frame: u32,
    #[prost(uint32, tag = "2")]
    pub command: u32,
    #[prost(bool, tag = "3")]
    pub is_current: bool,
    #[prost(bool, tag = "4")]
    pub autocontinue: bool,
    #[prost(float, tag = "5")]
    pub param1: f32,
    #[prost(float, tag = "6")]
    pub param2: f32,
    #[prost(float, tag = "7")]
    pub param3: f32,
    #[prost(float, tag = "8")]
    pub param4: f32,
    #[prost(double, tag = "9")]
    pub x_lat: f64,
    #[prost(double, tag = "10")]
    pub y_long: f64,
    #[prost(double, tag = "11")]
    pub z_alt: f64,
}
impl ::prost::Name for Waypoint {
    const NAME: &'static str = "Waypoint";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.Waypoint".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.Waypoint".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FileEntry {
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub r#type: u32,
    #[prost(uint64, tag = "3")]
    pub size: u64,
}
impl ::prost::Name for FileEntry {
    const NAME: &'static str = "FileEntry";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.FileEntry".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.FileEntry".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RcOut {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, repeated, tag = "2")]
    pub channels: ::prost::alloc::vec::Vec<u32>,
}
impl ::prost::Name for RcOut {
    const NAME: &'static str = "RCOut";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.RCOut".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.RCOut".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Vibration {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, optional, tag = "2")]
    pub vibration: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
    #[prost(float, repeated, tag = "3")]
    pub clipping: ::prost::alloc::vec::Vec<f32>,
}
impl ::prost::Name for Vibration {
    const NAME: &'static str = "Vibration";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.Vibration".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.Vibration".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GimbalDeviceAttitudeStatus {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub target_system: u32,
    #[prost(uint32, tag = "3")]
    pub target_component: u32,
    #[prost(uint32, tag = "4")]
    pub flags: u32,
    #[prost(message, optional, tag = "5")]
    pub q: ::core::option::Option<super::super::geometry_msgs::msg::Quaternion>,
    #[prost(float, tag = "6")]
    pub angular_velocity_x: f32,
    #[prost(float, tag = "7")]
    pub angular_velocity_y: f32,
    #[prost(float, tag = "8")]
    pub angular_velocity_z: f32,
    #[prost(uint32, tag = "9")]
    pub failure_flags: u32,
}
impl ::prost::Name for GimbalDeviceAttitudeStatus {
    const NAME: &'static str = "GimbalDeviceAttitudeStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.GimbalDeviceAttitudeStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.GimbalDeviceAttitudeStatus".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WheelOdomStamped {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(double, repeated, tag = "2")]
    pub data: ::prost::alloc::vec::Vec<f64>,
}
impl ::prost::Name for WheelOdomStamped {
    const NAME: &'static str = "WheelOdomStamped";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.WheelOdomStamped".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.WheelOdomStamped".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CameraImageCaptured {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, optional, tag = "2")]
    pub orientation: ::core::option::Option<
        super::super::geometry_msgs::msg::Quaternion,
    >,
    #[prost(message, optional, tag = "3")]
    pub geo: ::core::option::Option<super::super::geographic_msgs::msg::GeoPoint>,
    #[prost(float, tag = "4")]
    pub relative_alt: f32,
    #[prost(int32, tag = "5")]
    pub image_index: i32,
    #[prost(int32, tag = "6")]
    pub capture_result: i32,
    #[prost(string, tag = "7")]
    pub file_url: ::prost::alloc::string::String,
}
impl ::prost::Name for CameraImageCaptured {
    const NAME: &'static str = "CameraImageCaptured";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.CameraImageCaptured".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.CameraImageCaptured".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PositionTarget {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub coordinate_frame: u32,
    #[prost(uint32, tag = "3")]
    pub type_mask: u32,
    #[prost(message, optional, tag = "4")]
    pub position: ::core::option::Option<super::super::geometry_msgs::msg::Point>,
    #[prost(message, optional, tag = "5")]
    pub velocity: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
    #[prost(message, optional, tag = "6")]
    pub acceleration_or_force: ::core::option::Option<
        super::super::geometry_msgs::msg::Vector3,
    >,
    #[prost(float, tag = "7")]
    pub yaw: f32,
    #[prost(float, tag = "8")]
    pub yaw_rate: f32,
}
impl ::prost::Name for PositionTarget {
    const NAME: &'static str = "PositionTarget";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.PositionTarget".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.PositionTarget".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Trajectory {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub r#type: u32,
    #[prost(message, optional, tag = "3")]
    pub point_1: ::core::option::Option<PositionTarget>,
    #[prost(message, optional, tag = "4")]
    pub point_2: ::core::option::Option<PositionTarget>,
    #[prost(message, optional, tag = "5")]
    pub point_3: ::core::option::Option<PositionTarget>,
    #[prost(message, optional, tag = "6")]
    pub point_4: ::core::option::Option<PositionTarget>,
    #[prost(message, optional, tag = "7")]
    pub point_5: ::core::option::Option<PositionTarget>,
    #[prost(uint32, repeated, tag = "8")]
    pub point_valid: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "9")]
    pub command: ::prost::alloc::vec::Vec<u32>,
    #[prost(float, repeated, tag = "10")]
    pub time_horizon: ::prost::alloc::vec::Vec<f32>,
}
impl ::prost::Name for Trajectory {
    const NAME: &'static str = "Trajectory";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.Trajectory".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.Trajectory".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HilActuatorControls {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(float, repeated, tag = "2")]
    pub controls: ::prost::alloc::vec::Vec<f32>,
    #[prost(uint32, tag = "3")]
    pub mode: u32,
    #[prost(uint64, tag = "4")]
    pub flags: u64,
}
impl ::prost::Name for HilActuatorControls {
    const NAME: &'static str = "HilActuatorControls";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.HilActuatorControls".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.HilActuatorControls".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogEntry {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(uint32, tag = "3")]
    pub num_logs: u32,
    #[prost(uint32, tag = "4")]
    pub last_log_num: u32,
    #[prost(message, optional, tag = "5")]
    pub time_utc: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(uint32, tag = "6")]
    pub size: u32,
}
impl ::prost::Name for LogEntry {
    const NAME: &'static str = "LogEntry";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.LogEntry".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.LogEntry".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpsraw {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub fix_type: u32,
    #[prost(int32, tag = "3")]
    pub lat: i32,
    #[prost(int32, tag = "4")]
    pub lon: i32,
    #[prost(int32, tag = "5")]
    pub alt: i32,
    #[prost(uint32, tag = "6")]
    pub eph: u32,
    #[prost(uint32, tag = "7")]
    pub epv: u32,
    #[prost(uint32, tag = "8")]
    pub vel: u32,
    #[prost(uint32, tag = "9")]
    pub cog: u32,
    #[prost(uint32, tag = "10")]
    pub satellites_visible: u32,
    #[prost(int32, tag = "11")]
    pub alt_ellipsoid: i32,
    #[prost(uint32, tag = "12")]
    pub h_acc: u32,
    #[prost(uint32, tag = "13")]
    pub v_acc: u32,
    #[prost(uint32, tag = "14")]
    pub vel_acc: u32,
    #[prost(int32, tag = "15")]
    pub hdg_acc: i32,
    #[prost(uint32, tag = "16")]
    pub yaw: u32,
    #[prost(uint32, tag = "17")]
    pub dgps_numch: u32,
    #[prost(uint32, tag = "18")]
    pub dgps_age: u32,
}
impl ::prost::Name for Gpsraw {
    const NAME: &'static str = "GPSRAW";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.GPSRAW".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.GPSRAW".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HilStateQuaternion {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, optional, tag = "2")]
    pub orientation: ::core::option::Option<
        super::super::geometry_msgs::msg::Quaternion,
    >,
    #[prost(message, optional, tag = "3")]
    pub angular_velocity: ::core::option::Option<
        super::super::geometry_msgs::msg::Vector3,
    >,
    #[prost(message, optional, tag = "4")]
    pub linear_acceleration: ::core::option::Option<
        super::super::geometry_msgs::msg::Vector3,
    >,
    #[prost(message, optional, tag = "5")]
    pub linear_velocity: ::core::option::Option<
        super::super::geometry_msgs::msg::Vector3,
    >,
    #[prost(message, optional, tag = "6")]
    pub geo: ::core::option::Option<super::super::geographic_msgs::msg::GeoPoint>,
    #[prost(float, tag = "7")]
    pub ind_airspeed: f32,
    #[prost(float, tag = "8")]
    pub true_airspeed: f32,
}
impl ::prost::Name for HilStateQuaternion {
    const NAME: &'static str = "HilStateQuaternion";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.HilStateQuaternion".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.HilStateQuaternion".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EscInfoItem {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub failure_flags: u32,
    #[prost(uint32, tag = "3")]
    pub error_count: u32,
    #[prost(int32, tag = "4")]
    pub temperature: i32,
}
impl ::prost::Name for EscInfoItem {
    const NAME: &'static str = "ESCInfoItem";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.ESCInfoItem".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.ESCInfoItem".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CommandCode {}
impl ::prost::Name for CommandCode {
    const NAME: &'static str = "CommandCode";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.CommandCode".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.CommandCode".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GimbalManagerInformation {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub cap_flags: u32,
    #[prost(uint32, tag = "3")]
    pub gimbal_device_id: u32,
    #[prost(float, tag = "4")]
    pub roll_min: f32,
    #[prost(float, tag = "5")]
    pub roll_max: f32,
    #[prost(float, tag = "6")]
    pub pitch_min: f32,
    #[prost(float, tag = "7")]
    pub pitch_max: f32,
    #[prost(float, tag = "8")]
    pub yaw_min: f32,
    #[prost(float, tag = "9")]
    pub yaw_max: f32,
}
impl ::prost::Name for GimbalManagerInformation {
    const NAME: &'static str = "GimbalManagerInformation";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.GimbalManagerInformation".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.GimbalManagerInformation".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayTuneV2 {
    #[prost(uint32, tag = "1")]
    pub format: u32,
    #[prost(string, tag = "2")]
    pub tune: ::prost::alloc::string::String,
}
impl ::prost::Name for PlayTuneV2 {
    const NAME: &'static str = "PlayTuneV2";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.PlayTuneV2".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.PlayTuneV2".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpticalFlowRad {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub integration_time_us: u32,
    #[prost(float, tag = "3")]
    pub integrated_x: f32,
    #[prost(float, tag = "4")]
    pub integrated_y: f32,
    #[prost(float, tag = "5")]
    pub integrated_xgyro: f32,
    #[prost(float, tag = "6")]
    pub integrated_ygyro: f32,
    #[prost(float, tag = "7")]
    pub integrated_zgyro: f32,
    #[prost(int32, tag = "8")]
    pub temperature: i32,
    #[prost(uint32, tag = "9")]
    pub quality: u32,
    #[prost(uint32, tag = "10")]
    pub time_delta_distance_us: u32,
    #[prost(float, tag = "11")]
    pub distance: f32,
}
impl ::prost::Name for OpticalFlowRad {
    const NAME: &'static str = "OpticalFlowRad";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.OpticalFlowRad".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.OpticalFlowRad".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MountControl {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub mode: u32,
    #[prost(float, tag = "3")]
    pub pitch: f32,
    #[prost(float, tag = "4")]
    pub roll: f32,
    #[prost(float, tag = "5")]
    pub yaw: f32,
    #[prost(float, tag = "6")]
    pub altitude: f32,
    #[prost(float, tag = "7")]
    pub latitude: f32,
    #[prost(float, tag = "8")]
    pub longitude: f32,
}
impl ::prost::Name for MountControl {
    const NAME: &'static str = "MountControl";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.MountControl".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.MountControl".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StatusText {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub severity: u32,
    #[prost(string, tag = "3")]
    pub text: ::prost::alloc::string::String,
}
impl ::prost::Name for StatusText {
    const NAME: &'static str = "StatusText";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.StatusText".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.StatusText".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OverrideRcIn {
    #[prost(uint32, repeated, tag = "1")]
    pub channels: ::prost::alloc::vec::Vec<u32>,
}
impl ::prost::Name for OverrideRcIn {
    const NAME: &'static str = "OverrideRCIn";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.OverrideRCIn".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.OverrideRCIn".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpsrtk {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub rtk_receiver_id: u32,
    #[prost(int32, tag = "3")]
    pub wn: i32,
    #[prost(uint32, tag = "4")]
    pub tow: u32,
    #[prost(uint32, tag = "5")]
    pub rtk_health: u32,
    #[prost(uint32, tag = "6")]
    pub rtk_rate: u32,
    #[prost(uint32, tag = "7")]
    pub nsats: u32,
    #[prost(int32, tag = "8")]
    pub baseline_a: i32,
    #[prost(int32, tag = "9")]
    pub baseline_b: i32,
    #[prost(int32, tag = "10")]
    pub baseline_c: i32,
    #[prost(uint32, tag = "11")]
    pub accuracy: u32,
    #[prost(int32, tag = "12")]
    pub iar_num_hypotheses: i32,
}
impl ::prost::Name for Gpsrtk {
    const NAME: &'static str = "GPSRTK";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.GPSRTK".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.GPSRTK".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TimesyncStatus {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint64, tag = "2")]
    pub remote_timestamp_ns: u64,
    #[prost(int64, tag = "3")]
    pub observed_offset_ns: i64,
    #[prost(int64, tag = "4")]
    pub estimated_offset_ns: i64,
    #[prost(float, tag = "5")]
    pub round_trip_time_ms: f32,
}
impl ::prost::Name for TimesyncStatus {
    const NAME: &'static str = "TimesyncStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.TimesyncStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.TimesyncStatus".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpticalFlow {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, optional, tag = "2")]
    pub flow: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
    #[prost(message, optional, tag = "3")]
    pub flow_comp_m: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
    #[prost(uint32, tag = "4")]
    pub quality: u32,
    #[prost(float, tag = "5")]
    pub ground_distance: f32,
    #[prost(message, optional, tag = "6")]
    pub flow_rate: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
}
impl ::prost::Name for OpticalFlow {
    const NAME: &'static str = "OpticalFlow";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.OpticalFlow".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.OpticalFlow".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdsbVehicle {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub icao_address: u32,
    #[prost(string, tag = "3")]
    pub callsign: ::prost::alloc::string::String,
    #[prost(double, tag = "4")]
    pub latitude: f64,
    #[prost(double, tag = "5")]
    pub longitude: f64,
    #[prost(float, tag = "6")]
    pub altitude: f32,
    #[prost(float, tag = "7")]
    pub heading: f32,
    #[prost(float, tag = "8")]
    pub hor_velocity: f32,
    #[prost(float, tag = "9")]
    pub ver_velocity: f32,
    #[prost(uint32, tag = "10")]
    pub altitude_type: u32,
    #[prost(uint32, tag = "11")]
    pub emitter_type: u32,
    #[prost(message, optional, tag = "12")]
    pub tslc: ::core::option::Option<super::super::builtin_interfaces::msg::Duration>,
    #[prost(uint32, tag = "13")]
    pub flags: u32,
    #[prost(uint32, tag = "14")]
    pub squawk: u32,
}
impl ::prost::Name for AdsbVehicle {
    const NAME: &'static str = "ADSBVehicle";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.ADSBVehicle".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.ADSBVehicle".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HilControls {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(float, tag = "2")]
    pub roll_ailerons: f32,
    #[prost(float, tag = "3")]
    pub pitch_elevator: f32,
    #[prost(float, tag = "4")]
    pub yaw_rudder: f32,
    #[prost(float, tag = "5")]
    pub throttle: f32,
    #[prost(float, tag = "6")]
    pub aux1: f32,
    #[prost(float, tag = "7")]
    pub aux2: f32,
    #[prost(float, tag = "8")]
    pub aux3: f32,
    #[prost(float, tag = "9")]
    pub aux4: f32,
    #[prost(uint32, tag = "10")]
    pub mode: u32,
    #[prost(uint32, tag = "11")]
    pub nav_mode: u32,
}
impl ::prost::Name for HilControls {
    const NAME: &'static str = "HilControls";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.HilControls".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.HilControls".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CamImuStamp {
    #[prost(message, optional, tag = "1")]
    pub frame_stamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(int32, tag = "2")]
    pub frame_seq_id: i32,
}
impl ::prost::Name for CamImuStamp {
    const NAME: &'static str = "CamIMUStamp";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.CamIMUStamp".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.CamIMUStamp".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AttitudeTarget {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub type_mask: u32,
    #[prost(message, optional, tag = "3")]
    pub orientation: ::core::option::Option<
        super::super::geometry_msgs::msg::Quaternion,
    >,
    #[prost(message, optional, tag = "4")]
    pub body_rate: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
    #[prost(float, tag = "5")]
    pub thrust: f32,
}
impl ::prost::Name for AttitudeTarget {
    const NAME: &'static str = "AttitudeTarget";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.AttitudeTarget".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.AttitudeTarget".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GimbalDeviceSetAttitude {
    #[prost(uint32, tag = "1")]
    pub target_system: u32,
    #[prost(uint32, tag = "2")]
    pub target_component: u32,
    #[prost(uint32, tag = "3")]
    pub flags: u32,
    #[prost(message, optional, tag = "4")]
    pub q: ::core::option::Option<super::super::geometry_msgs::msg::Quaternion>,
    #[prost(float, tag = "5")]
    pub angular_velocity_x: f32,
    #[prost(float, tag = "6")]
    pub angular_velocity_y: f32,
    #[prost(float, tag = "7")]
    pub angular_velocity_z: f32,
}
impl ::prost::Name for GimbalDeviceSetAttitude {
    const NAME: &'static str = "GimbalDeviceSetAttitude";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.GimbalDeviceSetAttitude".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.GimbalDeviceSetAttitude".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EstimatorStatus {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(bool, tag = "2")]
    pub attitude_status_flag: bool,
    #[prost(bool, tag = "3")]
    pub velocity_horiz_status_flag: bool,
    #[prost(bool, tag = "4")]
    pub velocity_vert_status_flag: bool,
    #[prost(bool, tag = "5")]
    pub pos_horiz_rel_status_flag: bool,
    #[prost(bool, tag = "6")]
    pub pos_horiz_abs_status_flag: bool,
    #[prost(bool, tag = "7")]
    pub pos_vert_abs_status_flag: bool,
    #[prost(bool, tag = "8")]
    pub pos_vert_agl_status_flag: bool,
    #[prost(bool, tag = "9")]
    pub const_pos_mode_status_flag: bool,
    #[prost(bool, tag = "10")]
    pub pred_pos_horiz_rel_status_flag: bool,
    #[prost(bool, tag = "11")]
    pub pred_pos_horiz_abs_status_flag: bool,
    #[prost(bool, tag = "12")]
    pub gps_glitch_status_flag: bool,
    #[prost(bool, tag = "13")]
    pub accel_error_status_flag: bool,
}
impl ::prost::Name for EstimatorStatus {
    const NAME: &'static str = "EstimatorStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.EstimatorStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.EstimatorStatus".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Thrust {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(float, tag = "2")]
    pub thrust: f32,
}
impl ::prost::Name for Thrust {
    const NAME: &'static str = "Thrust";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.Thrust".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.Thrust".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActuatorControl {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub group_mix: u32,
    #[prost(float, repeated, tag = "3")]
    pub controls: ::prost::alloc::vec::Vec<f32>,
}
impl ::prost::Name for ActuatorControl {
    const NAME: &'static str = "ActuatorControl";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.ActuatorControl".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.ActuatorControl".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LandingTarget {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub target_num: u32,
    #[prost(uint32, tag = "3")]
    pub frame: u32,
    #[prost(float, repeated, tag = "4")]
    pub angle: ::prost::alloc::vec::Vec<f32>,
    #[prost(float, tag = "5")]
    pub distance: f32,
    #[prost(float, repeated, tag = "6")]
    pub size: ::prost::alloc::vec::Vec<f32>,
    #[prost(message, optional, tag = "7")]
    pub pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(uint32, tag = "8")]
    pub r#type: u32,
}
impl ::prost::Name for LandingTarget {
    const NAME: &'static str = "LandingTarget";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.LandingTarget".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.LandingTarget".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EscStatusItem {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(int32, tag = "2")]
    pub rpm: i32,
    #[prost(float, tag = "3")]
    pub voltage: f32,
    #[prost(float, tag = "4")]
    pub current: f32,
}
impl ::prost::Name for EscStatusItem {
    const NAME: &'static str = "ESCStatusItem";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.ESCStatusItem".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.ESCStatusItem".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Param {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub param_id: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub value: ::core::option::Option<ParamValue>,
    #[prost(uint32, tag = "4")]
    pub param_index: u32,
    #[prost(uint32, tag = "5")]
    pub param_count: u32,
}
impl ::prost::Name for Param {
    const NAME: &'static str = "Param";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.Param".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.Param".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EscStatus {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, repeated, tag = "2")]
    pub esc_status: ::prost::alloc::vec::Vec<EscStatusItem>,
}
impl ::prost::Name for EscStatus {
    const NAME: &'static str = "ESCStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.ESCStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.ESCStatus".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VfrHud {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(float, tag = "2")]
    pub airspeed: f32,
    #[prost(float, tag = "3")]
    pub groundspeed: f32,
    #[prost(int32, tag = "4")]
    pub heading: i32,
    #[prost(float, tag = "5")]
    pub throttle: f32,
    #[prost(float, tag = "6")]
    pub altitude: f32,
    #[prost(float, tag = "7")]
    pub climb: f32,
}
impl ::prost::Name for VfrHud {
    const NAME: &'static str = "VfrHud";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.VfrHud".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.VfrHud".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpsinput {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub fix_type: u32,
    #[prost(uint32, tag = "3")]
    pub gps_id: u32,
    #[prost(uint32, tag = "4")]
    pub ignore_flags: u32,
    #[prost(uint32, tag = "5")]
    pub time_week_ms: u32,
    #[prost(uint32, tag = "6")]
    pub time_week: u32,
    #[prost(int32, tag = "7")]
    pub lat: i32,
    #[prost(int32, tag = "8")]
    pub lon: i32,
    #[prost(float, tag = "9")]
    pub alt: f32,
    #[prost(float, tag = "10")]
    pub hdop: f32,
    #[prost(float, tag = "11")]
    pub vdop: f32,
    #[prost(float, tag = "12")]
    pub vn: f32,
    #[prost(float, tag = "13")]
    pub ve: f32,
    #[prost(float, tag = "14")]
    pub vd: f32,
    #[prost(float, tag = "15")]
    pub speed_accuracy: f32,
    #[prost(float, tag = "16")]
    pub horiz_accuracy: f32,
    #[prost(float, tag = "17")]
    pub vert_accuracy: f32,
    #[prost(uint32, tag = "18")]
    pub satellites_visible: u32,
    #[prost(uint32, tag = "19")]
    pub yaw: u32,
}
impl ::prost::Name for Gpsinput {
    const NAME: &'static str = "GPSINPUT";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.GPSINPUT".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.GPSINPUT".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WaypointReached {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub wp_seq: u32,
}
impl ::prost::Name for WaypointReached {
    const NAME: &'static str = "WaypointReached";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.WaypointReached".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.WaypointReached".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CellularStatus {
    #[prost(uint32, tag = "1")]
    pub status: u32,
    #[prost(uint32, tag = "2")]
    pub failure_reason: u32,
    #[prost(uint32, tag = "3")]
    pub r#type: u32,
    #[prost(uint32, tag = "4")]
    pub quality: u32,
    #[prost(uint32, tag = "5")]
    pub mcc: u32,
    #[prost(uint32, tag = "6")]
    pub mnc: u32,
    #[prost(uint32, tag = "7")]
    pub lac: u32,
}
impl ::prost::Name for CellularStatus {
    const NAME: &'static str = "CellularStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.CellularStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.CellularStatus".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EscTelemetryItem {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(float, tag = "2")]
    pub temperature: f32,
    #[prost(float, tag = "3")]
    pub voltage: f32,
    #[prost(float, tag = "4")]
    pub current: f32,
    #[prost(float, tag = "5")]
    pub totalcurrent: f32,
    #[prost(int32, tag = "6")]
    pub rpm: i32,
    #[prost(uint32, tag = "7")]
    pub count: u32,
}
impl ::prost::Name for EscTelemetryItem {
    const NAME: &'static str = "ESCTelemetryItem";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.ESCTelemetryItem".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.ESCTelemetryItem".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EscTelemetry {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, repeated, tag = "2")]
    pub esc_telemetry: ::prost::alloc::vec::Vec<EscTelemetryItem>,
}
impl ::prost::Name for EscTelemetry {
    const NAME: &'static str = "ESCTelemetry";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.ESCTelemetry".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.ESCTelemetry".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mavlink {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub framing_status: u32,
    #[prost(uint32, tag = "3")]
    pub magic: u32,
    #[prost(uint32, tag = "4")]
    pub len: u32,
    #[prost(uint32, tag = "5")]
    pub incompat_flags: u32,
    #[prost(uint32, tag = "6")]
    pub compat_flags: u32,
    #[prost(uint32, tag = "7")]
    pub seq: u32,
    #[prost(uint32, tag = "8")]
    pub sysid: u32,
    #[prost(uint32, tag = "9")]
    pub compid: u32,
    #[prost(uint32, tag = "10")]
    pub msgid: u32,
    #[prost(uint32, tag = "11")]
    pub checksum: u32,
    #[prost(uint64, repeated, tag = "12")]
    pub payload64: ::prost::alloc::vec::Vec<u64>,
    #[prost(uint32, repeated, tag = "13")]
    pub signature: ::prost::alloc::vec::Vec<u32>,
}
impl ::prost::Name for Mavlink {
    const NAME: &'static str = "Mavlink";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.Mavlink".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.Mavlink".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct State {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(bool, tag = "2")]
    pub connected: bool,
    #[prost(bool, tag = "3")]
    pub armed: bool,
    #[prost(bool, tag = "4")]
    pub guided: bool,
    #[prost(bool, tag = "5")]
    pub manual_input: bool,
    #[prost(string, tag = "6")]
    pub mode: ::prost::alloc::string::String,
    #[prost(uint32, tag = "7")]
    pub system_status: u32,
}
impl ::prost::Name for State {
    const NAME: &'static str = "State";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.State".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.State".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Tunnel {
    #[prost(uint32, tag = "1")]
    pub target_system: u32,
    #[prost(uint32, tag = "2")]
    pub target_component: u32,
    #[prost(uint32, tag = "3")]
    pub payload_type: u32,
    #[prost(uint32, tag = "4")]
    pub payload_length: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub payload: ::prost::alloc::vec::Vec<u32>,
}
impl ::prost::Name for Tunnel {
    const NAME: &'static str = "Tunnel";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.Tunnel".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.Tunnel".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ManualControl {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(float, tag = "2")]
    pub x: f32,
    #[prost(float, tag = "3")]
    pub y: f32,
    #[prost(float, tag = "4")]
    pub z: f32,
    #[prost(float, tag = "5")]
    pub r: f32,
    #[prost(uint32, tag = "6")]
    pub buttons: u32,
    #[prost(uint32, tag = "7")]
    pub buttons2: u32,
    #[prost(uint32, tag = "8")]
    pub enabled_extensions: u32,
    #[prost(float, tag = "9")]
    pub s: f32,
    #[prost(float, tag = "10")]
    pub t: f32,
    #[prost(float, tag = "11")]
    pub aux1: f32,
    #[prost(float, tag = "12")]
    pub aux2: f32,
    #[prost(float, tag = "13")]
    pub aux3: f32,
    #[prost(float, tag = "14")]
    pub aux4: f32,
    #[prost(float, tag = "15")]
    pub aux5: f32,
    #[prost(float, tag = "16")]
    pub aux6: f32,
}
impl ::prost::Name for ManualControl {
    const NAME: &'static str = "ManualControl";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.ManualControl".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.ManualControl".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HilGps {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub fix_type: u32,
    #[prost(message, optional, tag = "3")]
    pub geo: ::core::option::Option<super::super::geographic_msgs::msg::GeoPoint>,
    #[prost(uint32, tag = "4")]
    pub eph: u32,
    #[prost(uint32, tag = "5")]
    pub epv: u32,
    #[prost(uint32, tag = "6")]
    pub vel: u32,
    #[prost(int32, tag = "7")]
    pub vn: i32,
    #[prost(int32, tag = "8")]
    pub ve: i32,
    #[prost(int32, tag = "9")]
    pub vd: i32,
    #[prost(uint32, tag = "10")]
    pub cog: u32,
    #[prost(uint32, tag = "11")]
    pub satellites_visible: u32,
}
impl ::prost::Name for HilGps {
    const NAME: &'static str = "HilGPS";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.HilGPS".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.HilGPS".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParamEvent {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub param_id: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub value: ::core::option::Option<super::super::rcl_interfaces::msg::ParameterValue>,
    #[prost(uint32, tag = "4")]
    pub param_index: u32,
    #[prost(uint32, tag = "5")]
    pub param_count: u32,
}
impl ::prost::Name for ParamEvent {
    const NAME: &'static str = "ParamEvent";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.ParamEvent".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.ParamEvent".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NavControllerOutput {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(float, tag = "2")]
    pub nav_roll: f32,
    #[prost(float, tag = "3")]
    pub nav_pitch: f32,
    #[prost(int32, tag = "4")]
    pub nav_bearing: i32,
    #[prost(int32, tag = "5")]
    pub target_bearing: i32,
    #[prost(uint32, tag = "6")]
    pub wp_dist: u32,
    #[prost(float, tag = "7")]
    pub alt_error: f32,
    #[prost(float, tag = "8")]
    pub aspd_error: f32,
    #[prost(float, tag = "9")]
    pub xtrack_error: f32,
}
impl ::prost::Name for NavControllerOutput {
    const NAME: &'static str = "NavControllerOutput";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.NavControllerOutput".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.NavControllerOutput".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StatusEvent {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub severity: u32,
    #[prost(uint32, tag = "3")]
    pub px4_id: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub arguments: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub sequence: u32,
}
impl ::prost::Name for StatusEvent {
    const NAME: &'static str = "StatusEvent";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.StatusEvent".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.StatusEvent".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Rtcm {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, repeated, tag = "2")]
    pub data: ::prost::alloc::vec::Vec<u32>,
}
impl ::prost::Name for Rtcm {
    const NAME: &'static str = "RTCM";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.RTCM".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.RTCM".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TerrainReport {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(double, tag = "2")]
    pub latitude: f64,
    #[prost(double, tag = "3")]
    pub longitude: f64,
    #[prost(uint32, tag = "4")]
    pub spacing: u32,
    #[prost(float, tag = "5")]
    pub terrain_height: f32,
    #[prost(float, tag = "6")]
    pub current_height: f32,
    #[prost(uint32, tag = "7")]
    pub pending: u32,
    #[prost(uint32, tag = "8")]
    pub loaded: u32,
}
impl ::prost::Name for TerrainReport {
    const NAME: &'static str = "TerrainReport";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.TerrainReport".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.TerrainReport".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CompanionProcessStatus {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub state: u32,
    #[prost(uint32, tag = "3")]
    pub component: u32,
}
impl ::prost::Name for CompanionProcessStatus {
    const NAME: &'static str = "CompanionProcessStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.CompanionProcessStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.CompanionProcessStatus".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GlobalPositionTarget {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub coordinate_frame: u32,
    #[prost(uint32, tag = "3")]
    pub type_mask: u32,
    #[prost(double, tag = "4")]
    pub latitude: f64,
    #[prost(double, tag = "5")]
    pub longitude: f64,
    #[prost(float, tag = "6")]
    pub altitude: f32,
    #[prost(message, optional, tag = "7")]
    pub velocity: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
    #[prost(message, optional, tag = "8")]
    pub acceleration_or_force: ::core::option::Option<
        super::super::geometry_msgs::msg::Vector3,
    >,
    #[prost(float, tag = "9")]
    pub yaw: f32,
    #[prost(float, tag = "10")]
    pub yaw_rate: f32,
}
impl ::prost::Name for GlobalPositionTarget {
    const NAME: &'static str = "GlobalPositionTarget";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.GlobalPositionTarget".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.GlobalPositionTarget".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GimbalManagerSetPitchyaw {
    #[prost(uint32, tag = "1")]
    pub target_system: u32,
    #[prost(uint32, tag = "2")]
    pub target_component: u32,
    #[prost(uint32, tag = "3")]
    pub flags: u32,
    #[prost(uint32, tag = "4")]
    pub gimbal_device_id: u32,
    #[prost(float, tag = "5")]
    pub pitch: f32,
    #[prost(float, tag = "6")]
    pub yaw: f32,
    #[prost(float, tag = "7")]
    pub pitch_rate: f32,
    #[prost(float, tag = "8")]
    pub yaw_rate: f32,
}
impl ::prost::Name for GimbalManagerSetPitchyaw {
    const NAME: &'static str = "GimbalManagerSetPitchyaw";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.GimbalManagerSetPitchyaw".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.GimbalManagerSetPitchyaw".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GimbalManagerSetAttitude {
    #[prost(uint32, tag = "1")]
    pub target_system: u32,
    #[prost(uint32, tag = "2")]
    pub target_component: u32,
    #[prost(uint32, tag = "3")]
    pub flags: u32,
    #[prost(uint32, tag = "4")]
    pub gimbal_device_id: u32,
    #[prost(message, optional, tag = "5")]
    pub q: ::core::option::Option<super::super::geometry_msgs::msg::Quaternion>,
    #[prost(float, tag = "6")]
    pub angular_velocity_x: f32,
    #[prost(float, tag = "7")]
    pub angular_velocity_y: f32,
    #[prost(float, tag = "8")]
    pub angular_velocity_z: f32,
}
impl ::prost::Name for GimbalManagerSetAttitude {
    const NAME: &'static str = "GimbalManagerSetAttitude";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.GimbalManagerSetAttitude".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.GimbalManagerSetAttitude".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SysStatus {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub sensors_present: u32,
    #[prost(uint32, tag = "3")]
    pub sensors_enabled: u32,
    #[prost(uint32, tag = "4")]
    pub sensors_health: u32,
    #[prost(uint32, tag = "5")]
    pub load: u32,
    #[prost(uint32, tag = "6")]
    pub voltage_battery: u32,
    #[prost(int32, tag = "7")]
    pub current_battery: i32,
    #[prost(int32, tag = "8")]
    pub battery_remaining: i32,
    #[prost(uint32, tag = "9")]
    pub drop_rate_comm: u32,
    #[prost(uint32, tag = "10")]
    pub errors_comm: u32,
    #[prost(uint32, tag = "11")]
    pub errors_count1: u32,
    #[prost(uint32, tag = "12")]
    pub errors_count2: u32,
    #[prost(uint32, tag = "13")]
    pub errors_count3: u32,
    #[prost(uint32, tag = "14")]
    pub errors_count4: u32,
}
impl ::prost::Name for SysStatus {
    const NAME: &'static str = "SysStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.SysStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.SysStatus".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MagnetometerReporter {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub report: u32,
    #[prost(float, tag = "3")]
    pub confidence: f32,
}
impl ::prost::Name for MagnetometerReporter {
    const NAME: &'static str = "MagnetometerReporter";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.MagnetometerReporter".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.MagnetometerReporter".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HomePosition {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, optional, tag = "2")]
    pub geo: ::core::option::Option<super::super::geographic_msgs::msg::GeoPoint>,
    #[prost(message, optional, tag = "3")]
    pub position: ::core::option::Option<super::super::geometry_msgs::msg::Point>,
    #[prost(message, optional, tag = "4")]
    pub orientation: ::core::option::Option<
        super::super::geometry_msgs::msg::Quaternion,
    >,
    #[prost(message, optional, tag = "5")]
    pub approach: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
}
impl ::prost::Name for HomePosition {
    const NAME: &'static str = "HomePosition";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.HomePosition".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.HomePosition".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GimbalDeviceInformation {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub vendor_name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub model_name: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub custom_name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "5")]
    pub firmware_version: u32,
    #[prost(uint32, tag = "6")]
    pub hardware_version: u32,
    #[prost(uint64, tag = "7")]
    pub uid: u64,
    #[prost(uint32, tag = "8")]
    pub cap_flags: u32,
    #[prost(uint32, tag = "9")]
    pub custom_cap_flags: u32,
    #[prost(float, tag = "10")]
    pub roll_min: f32,
    #[prost(float, tag = "11")]
    pub roll_max: f32,
    #[prost(float, tag = "12")]
    pub pitch_min: f32,
    #[prost(float, tag = "13")]
    pub pitch_max: f32,
    #[prost(float, tag = "14")]
    pub yaw_min: f32,
    #[prost(float, tag = "15")]
    pub yaw_max: f32,
}
impl ::prost::Name for GimbalDeviceInformation {
    const NAME: &'static str = "GimbalDeviceInformation";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.GimbalDeviceInformation".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.GimbalDeviceInformation".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OnboardComputerStatus {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub component: u32,
    #[prost(uint32, tag = "3")]
    pub uptime: u32,
    #[prost(uint32, tag = "4")]
    pub r#type: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub cpu_cores: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "6")]
    pub cpu_combined: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "7")]
    pub gpu_cores: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "8")]
    pub gpu_combined: ::prost::alloc::vec::Vec<u32>,
    #[prost(int32, tag = "9")]
    pub temperature_board: i32,
    #[prost(int32, repeated, tag = "10")]
    pub temperature_core: ::prost::alloc::vec::Vec<i32>,
    #[prost(int32, repeated, tag = "11")]
    pub fan_speed: ::prost::alloc::vec::Vec<i32>,
    #[prost(uint32, tag = "12")]
    pub ram_usage: u32,
    #[prost(uint32, tag = "13")]
    pub ram_total: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub storage_type: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub storage_usage: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "16")]
    pub storage_total: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "17")]
    pub link_type: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "18")]
    pub link_tx_rate: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "19")]
    pub link_rx_rate: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "20")]
    pub link_tx_max: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "21")]
    pub link_rx_max: ::prost::alloc::vec::Vec<u32>,
}
impl ::prost::Name for OnboardComputerStatus {
    const NAME: &'static str = "OnboardComputerStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.OnboardComputerStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.OnboardComputerStatus".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GimbalManagerStatus {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub flags: u32,
    #[prost(uint32, tag = "3")]
    pub gimbal_device_id: u32,
    #[prost(uint32, tag = "4")]
    pub sysid_primary: u32,
    #[prost(uint32, tag = "5")]
    pub compid_primary: u32,
    #[prost(uint32, tag = "6")]
    pub sysid_secondary: u32,
    #[prost(uint32, tag = "7")]
    pub compid_secondary: u32,
}
impl ::prost::Name for GimbalManagerStatus {
    const NAME: &'static str = "GimbalManagerStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.GimbalManagerStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.GimbalManagerStatus".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RcIn {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub rssi: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub channels: ::prost::alloc::vec::Vec<u32>,
}
impl ::prost::Name for RcIn {
    const NAME: &'static str = "RCIn";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.RCIn".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.RCIn".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RtkBaseline {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub time_last_baseline_ms: u32,
    #[prost(uint32, tag = "3")]
    pub rtk_receiver_id: u32,
    #[prost(uint32, tag = "4")]
    pub wn: u32,
    #[prost(uint32, tag = "5")]
    pub tow: u32,
    #[prost(uint32, tag = "6")]
    pub rtk_health: u32,
    #[prost(uint32, tag = "7")]
    pub rtk_rate: u32,
    #[prost(uint32, tag = "8")]
    pub nsats: u32,
    #[prost(uint32, tag = "9")]
    pub baseline_coords_type: u32,
    #[prost(int32, tag = "10")]
    pub baseline_a_mm: i32,
    #[prost(int32, tag = "11")]
    pub baseline_b_mm: i32,
    #[prost(int32, tag = "12")]
    pub baseline_c_mm: i32,
    #[prost(uint32, tag = "13")]
    pub accuracy: u32,
    #[prost(int32, tag = "14")]
    pub iar_num_hypotheses: i32,
}
impl ::prost::Name for RtkBaseline {
    const NAME: &'static str = "RTKBaseline";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.RTKBaseline".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.RTKBaseline".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Altitude {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(float, tag = "2")]
    pub monotonic: f32,
    #[prost(float, tag = "3")]
    pub amsl: f32,
    #[prost(float, tag = "4")]
    pub local: f32,
    #[prost(float, tag = "5")]
    pub relative: f32,
    #[prost(float, tag = "6")]
    pub terrain: f32,
    #[prost(float, tag = "7")]
    pub bottom_clearance: f32,
}
impl ::prost::Name for Altitude {
    const NAME: &'static str = "Altitude";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.Altitude".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.Altitude".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DebugValue {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(int32, tag = "2")]
    pub index: i32,
    #[prost(int32, tag = "3")]
    pub array_id: i32,
    #[prost(string, tag = "4")]
    pub name: ::prost::alloc::string::String,
    #[prost(float, tag = "5")]
    pub value_float: f32,
    #[prost(int32, tag = "6")]
    pub value_int: i32,
    #[prost(float, repeated, tag = "7")]
    pub data: ::prost::alloc::vec::Vec<f32>,
    #[prost(uint32, tag = "8")]
    pub r#type: u32,
}
impl ::prost::Name for DebugValue {
    const NAME: &'static str = "DebugValue";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.DebugValue".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.DebugValue".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RadioStatus {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub rssi: u32,
    #[prost(uint32, tag = "3")]
    pub remrssi: u32,
    #[prost(uint32, tag = "4")]
    pub txbuf: u32,
    #[prost(uint32, tag = "5")]
    pub noise: u32,
    #[prost(uint32, tag = "6")]
    pub remnoise: u32,
    #[prost(uint32, tag = "7")]
    pub rxerrors: u32,
    #[prost(uint32, tag = "8")]
    pub fixed: u32,
    #[prost(float, tag = "9")]
    pub rssi_dbm: f32,
    #[prost(float, tag = "10")]
    pub remrssi_dbm: f32,
}
impl ::prost::Name for RadioStatus {
    const NAME: &'static str = "RadioStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.RadioStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.RadioStatus".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogData {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(uint32, tag = "3")]
    pub offset: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub data: ::prost::alloc::vec::Vec<u32>,
}
impl ::prost::Name for LogData {
    const NAME: &'static str = "LogData";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.LogData".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.LogData".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EscInfo {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub counter: u32,
    #[prost(uint32, tag = "3")]
    pub count: u32,
    #[prost(uint32, tag = "4")]
    pub connection_type: u32,
    #[prost(uint32, tag = "5")]
    pub info: u32,
    #[prost(message, repeated, tag = "6")]
    pub esc_info: ::prost::alloc::vec::Vec<EscInfoItem>,
}
impl ::prost::Name for EscInfo {
    const NAME: &'static str = "ESCInfo";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.ESCInfo".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.ESCInfo".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HilSensor {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, optional, tag = "2")]
    pub acc: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
    #[prost(message, optional, tag = "3")]
    pub gyro: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
    #[prost(message, optional, tag = "4")]
    pub mag: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
    #[prost(float, tag = "5")]
    pub abs_pressure: f32,
    #[prost(float, tag = "6")]
    pub diff_pressure: f32,
    #[prost(float, tag = "7")]
    pub pressure_alt: f32,
    #[prost(float, tag = "8")]
    pub temperature: f32,
    #[prost(uint32, tag = "9")]
    pub fields_updated: u32,
}
impl ::prost::Name for HilSensor {
    const NAME: &'static str = "HilSensor";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.HilSensor".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.HilSensor".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExtendedState {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub vtol_state: u32,
    #[prost(uint32, tag = "3")]
    pub landed_state: u32,
}
impl ::prost::Name for ExtendedState {
    const NAME: &'static str = "ExtendedState";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.ExtendedState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.ExtendedState".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WaypointList {
    #[prost(uint32, tag = "1")]
    pub current_seq: u32,
    #[prost(message, repeated, tag = "2")]
    pub waypoints: ::prost::alloc::vec::Vec<Waypoint>,
}
impl ::prost::Name for WaypointList {
    const NAME: &'static str = "WaypointList";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.mavros_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.mavros_msgs.msg.WaypointList".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.mavros_msgs.msg.WaypointList".into()
    }
}
