// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FileAttributes {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub photo_ratio: u32,
    #[prost(uint32, tag = "3")]
    pub photo_rotation: u32,
    #[prost(uint32, tag = "4")]
    pub video_duration: u32,
    #[prost(uint32, tag = "5")]
    pub video_frame_rate: u32,
    #[prost(uint32, tag = "6")]
    pub video_rotation: u32,
    #[prost(uint32, tag = "7")]
    pub video_resolution: u32,
}
impl ::prost::Name for FileAttributes {
    const NAME: &'static str = "FileAttributes";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.FileAttributes".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.FileAttributes".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubFileInfo {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub r#type: u32,
    #[prost(uint32, tag = "4")]
    pub size: u32,
    #[prost(uint32, tag = "5")]
    pub index: u32,
    #[prost(int64, tag = "6")]
    pub create_time_unix: i64,
    #[prost(message, optional, tag = "7")]
    pub attributes: ::core::option::Option<FileAttributes>,
}
impl ::prost::Name for SubFileInfo {
    const NAME: &'static str = "SubFileInfo";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.SubFileInfo".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.SubFileInfo".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FileInfo {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub r#type: u32,
    #[prost(uint32, tag = "4")]
    pub size: u32,
    #[prost(uint32, tag = "5")]
    pub index: u32,
    #[prost(int64, tag = "6")]
    pub create_time_unix: i64,
    #[prost(message, optional, tag = "7")]
    pub attributes: ::core::option::Option<FileAttributes>,
    #[prost(uint32, tag = "8")]
    pub number_sub_files: u32,
    #[prost(message, repeated, tag = "9")]
    pub sub_files: ::prost::alloc::vec::Vec<SubFileInfo>,
}
impl ::prost::Name for FileInfo {
    const NAME: &'static str = "FileInfo";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.FileInfo".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.FileInfo".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RcConnectionStatus {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "3")]
    pub air_connection: u32,
    #[prost(uint32, tag = "4")]
    pub ground_connection: u32,
    #[prost(uint32, tag = "5")]
    pub app_connection: u32,
    #[prost(uint32, tag = "6")]
    pub air_or_ground_disconnected: u32,
}
impl ::prost::Name for RcConnectionStatus {
    const NAME: &'static str = "RCConnectionStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.RCConnectionStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.RCConnectionStatus".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayMode {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "3")]
    pub display_mode: u32,
}
impl ::prost::Name for DisplayMode {
    const NAME: &'static str = "DisplayMode";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.DisplayMode".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.DisplayMode".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GpsDetails {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(float, tag = "3")]
    pub horizontal_dop: f32,
    #[prost(float, tag = "4")]
    pub position_dop: f32,
    #[prost(float, tag = "5")]
    pub fix_state: f32,
    #[prost(float, tag = "6")]
    pub vertical_accuracy: f32,
    #[prost(float, tag = "7")]
    pub horizontal_accuracy: f32,
    #[prost(float, tag = "8")]
    pub speed_accuracy: f32,
    #[prost(uint32, tag = "9")]
    pub num_gps_satellites_used: u32,
    #[prost(uint32, tag = "10")]
    pub num_glonass_satellites_used: u32,
    #[prost(uint32, tag = "11")]
    pub num_total_satellites_used: u32,
    #[prost(uint32, tag = "12")]
    pub gps_counter: u32,
}
impl ::prost::Name for GpsDetails {
    const NAME: &'static str = "GPSDetails";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.GPSDetails".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.GPSDetails".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GimbalRotation {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub payload_index: u32,
    #[prost(uint32, tag = "3")]
    pub rotation_mode: u32,
    #[prost(float, tag = "4")]
    pub pitch: f32,
    #[prost(float, tag = "5")]
    pub roll: f32,
    #[prost(float, tag = "6")]
    pub yaw: f32,
    #[prost(float, tag = "7")]
    pub time: f32,
}
impl ::prost::Name for GimbalRotation {
    const NAME: &'static str = "GimbalRotation";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.GimbalRotation".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.GimbalRotation".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RtkYaw {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "3")]
    pub yaw: u32,
}
impl ::prost::Name for RtkYaw {
    const NAME: &'static str = "RTKYaw";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.RTKYaw".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.RTKYaw".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PerceptionCameraParameters {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "3")]
    pub stereo_cameras_direction: u32,
    #[prost(double, repeated, tag = "4")]
    pub left_intrinsics: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "5")]
    pub right_intrinsics: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "6")]
    pub rotation_left_in_right: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "7")]
    pub translation_left_in_right: ::prost::alloc::vec::Vec<f64>,
}
impl ::prost::Name for PerceptionCameraParameters {
    const NAME: &'static str = "PerceptionCameraParameters";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.PerceptionCameraParameters"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.PerceptionCameraParameters"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ControlMode {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "3")]
    pub control_mode: u32,
    #[prost(uint32, tag = "4")]
    pub device_mode: u32,
    #[prost(uint32, tag = "5")]
    pub control_auth: u32,
}
impl ::prost::Name for ControlMode {
    const NAME: &'static str = "ControlMode";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.ControlMode".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.ControlMode".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EscStatusIndividual {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(int32, tag = "2")]
    pub current: i32,
    #[prost(int32, tag = "3")]
    pub speed: i32,
    #[prost(uint32, tag = "4")]
    pub voltage: u32,
    #[prost(int32, tag = "5")]
    pub temperature: i32,
    #[prost(int32, tag = "6")]
    pub stall: i32,
    #[prost(int32, tag = "7")]
    pub empty: i32,
    #[prost(int32, tag = "8")]
    pub unbalanced: i32,
    #[prost(int32, tag = "9")]
    pub esc_disconnected: i32,
    #[prost(int32, tag = "10")]
    pub temperature_high: i32,
}
impl ::prost::Name for EscStatusIndividual {
    const NAME: &'static str = "EscStatusIndividual";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.EscStatusIndividual".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.EscStatusIndividual".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PositionFused {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, optional, tag = "3")]
    pub position: ::core::option::Option<super::super::geometry_msgs::msg::Point>,
    #[prost(uint32, tag = "4")]
    pub x_health: u32,
    #[prost(uint32, tag = "5")]
    pub y_health: u32,
    #[prost(uint32, tag = "6")]
    pub z_health: u32,
}
impl ::prost::Name for PositionFused {
    const NAME: &'static str = "PositionFused";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.PositionFused".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.PositionFused".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SingleBatteryInfo {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "3")]
    pub battery_index: u32,
    #[prost(float, tag = "4")]
    pub voltage: f32,
    #[prost(float, tag = "5")]
    pub current: f32,
    #[prost(float, tag = "6")]
    pub full_capacity: f32,
    #[prost(float, tag = "7")]
    pub capacity_remain: f32,
    #[prost(float, tag = "8")]
    pub capacity_percentage: f32,
    #[prost(float, tag = "9")]
    pub temperature: f32,
    #[prost(uint32, tag = "10")]
    pub cell_count: u32,
    #[prost(uint32, tag = "11")]
    pub self_check_error: u32,
    #[prost(uint32, tag = "12")]
    pub closed_reason: u32,
    #[prost(uint32, tag = "13")]
    pub abnormal_comm: u32,
    #[prost(uint32, tag = "14")]
    pub is_embed: u32,
}
impl ::prost::Name for SingleBatteryInfo {
    const NAME: &'static str = "SingleBatteryInfo";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.SingleBatteryInfo".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.SingleBatteryInfo".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GimbalStatus {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "3")]
    pub mount_status: u32,
    #[prost(uint32, tag = "4")]
    pub is_busy: u32,
    #[prost(uint32, tag = "5")]
    pub pitch_limited: u32,
    #[prost(uint32, tag = "6")]
    pub roll_limited: u32,
    #[prost(uint32, tag = "7")]
    pub yaw_limited: u32,
    #[prost(uint32, tag = "8")]
    pub calibrating: u32,
    #[prost(uint32, tag = "9")]
    pub prev_calibration_result: u32,
    #[prost(uint32, tag = "10")]
    pub installed_direction: u32,
    #[prost(uint32, tag = "11")]
    pub disabled_mvo: u32,
    #[prost(uint32, tag = "12")]
    pub gear_show_unable: u32,
    #[prost(uint32, tag = "13")]
    pub gyro_falut: u32,
    #[prost(uint32, tag = "14")]
    pub esc_pitch_status: u32,
    #[prost(uint32, tag = "15")]
    pub esc_roll_status: u32,
    #[prost(uint32, tag = "16")]
    pub esc_yaw_status: u32,
    #[prost(uint32, tag = "17")]
    pub drone_data_recv: u32,
    #[prost(uint32, tag = "18")]
    pub init_unfinished: u32,
    #[prost(uint32, tag = "19")]
    pub fw_updating: u32,
}
impl ::prost::Name for GimbalStatus {
    const NAME: &'static str = "GimbalStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.GimbalStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.GimbalStatus".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EscData {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, repeated, tag = "3")]
    pub esc: ::prost::alloc::vec::Vec<EscStatusIndividual>,
}
impl ::prost::Name for EscData {
    const NAME: &'static str = "EscData";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.EscData".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.EscData".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FlightAnomaly {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "3")]
    pub impact_in_air: u32,
    #[prost(uint32, tag = "4")]
    pub random_fly: u32,
    #[prost(uint32, tag = "5")]
    pub height_ctrl_fail: u32,
    #[prost(uint32, tag = "6")]
    pub roll_pitch_ctrl_fail: u32,
    #[prost(uint32, tag = "7")]
    pub yaw_ctrl_fail: u32,
    #[prost(uint32, tag = "8")]
    pub aircraft_is_falling: u32,
    #[prost(uint32, tag = "9")]
    pub strong_wind_level1: u32,
    #[prost(uint32, tag = "10")]
    pub strong_wind_level2: u32,
    #[prost(uint32, tag = "11")]
    pub compass_installation_error: u32,
    #[prost(uint32, tag = "12")]
    pub imu_installation_error: u32,
    #[prost(uint32, tag = "13")]
    pub esc_temperature_high: u32,
    #[prost(uint32, tag = "14")]
    pub at_least_one_esc_disconnected: u32,
    #[prost(uint32, tag = "15")]
    pub gps_yaw_error: u32,
    #[prost(uint32, tag = "16")]
    pub reserved: u32,
}
impl ::prost::Name for FlightAnomaly {
    const NAME: &'static str = "FlightAnomaly";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.FlightAnomaly".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.FlightAnomaly".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HmsInfoMsg {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub error_code: u32,
    #[prost(uint32, tag = "3")]
    pub component_index: u32,
    #[prost(uint32, tag = "4")]
    pub error_level: u32,
    #[prost(string, tag = "5")]
    pub ground_info: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub fly_info: ::prost::alloc::string::String,
}
impl ::prost::Name for HmsInfoMsg {
    const NAME: &'static str = "HmsInfoMsg";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.HmsInfoMsg".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.HmsInfoMsg".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HmsInfoTable {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub num_msg: u32,
    #[prost(message, repeated, tag = "3")]
    pub table: ::prost::alloc::vec::Vec<HmsInfoMsg>,
}
impl ::prost::Name for HmsInfoTable {
    const NAME: &'static str = "HmsInfoTable";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.HmsInfoTable".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.HmsInfoTable".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HomePosition {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "3")]
    pub home_position_status: u32,
    #[prost(double, tag = "4")]
    pub latitude: f64,
    #[prost(double, tag = "5")]
    pub longitude: f64,
}
impl ::prost::Name for HomePosition {
    const NAME: &'static str = "HomePosition";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.HomePosition".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.HomePosition".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FlightStatus {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "3")]
    pub flight_status: u32,
}
impl ::prost::Name for FlightStatus {
    const NAME: &'static str = "FlightStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.FlightStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.FlightStatus".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelativeObstacleInfo {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(float, tag = "3")]
    pub down: f32,
    #[prost(float, tag = "4")]
    pub front: f32,
    #[prost(float, tag = "5")]
    pub right: f32,
    #[prost(float, tag = "6")]
    pub back: f32,
    #[prost(float, tag = "7")]
    pub left: f32,
    #[prost(float, tag = "8")]
    pub up: f32,
    #[prost(uint32, tag = "9")]
    pub down_health: u32,
    #[prost(uint32, tag = "10")]
    pub front_health: u32,
    #[prost(uint32, tag = "11")]
    pub right_health: u32,
    #[prost(uint32, tag = "12")]
    pub back_health: u32,
    #[prost(uint32, tag = "13")]
    pub left_health: u32,
    #[prost(uint32, tag = "14")]
    pub up_health: u32,
    #[prost(uint32, tag = "15")]
    pub reserved: u32,
}
impl ::prost::Name for RelativeObstacleInfo {
    const NAME: &'static str = "RelativeObstacleInfo";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.RelativeObstacleInfo".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.RelativeObstacleInfo".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SdkCtrlInfo {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "3")]
    pub control_mode: u32,
    #[prost(uint32, tag = "4")]
    pub device_status: u32,
    #[prost(uint32, tag = "5")]
    pub flight_status: u32,
    #[prost(uint32, tag = "6")]
    pub vrc_status: u32,
    #[prost(uint32, tag = "7")]
    pub reserved: u32,
}
impl ::prost::Name for SdkCtrlInfo {
    const NAME: &'static str = "SDKCtrlInfo";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.psdk_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.psdk_interfaces.msg.SDKCtrlInfo".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.psdk_interfaces.msg.SDKCtrlInfo".into()
    }
}
