// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ImuExtended {
    #[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 imu: ::core::option::Option<super::super::sensor_msgs::msg::Imu>,
    #[prost(uint32, tag = "4")]
    pub ticks: u32,
    #[prost(float, tag = "5")]
    pub quaternion_accuracy: f32,
    #[prost(uint32, tag = "6")]
    pub angular_velocity_reliability: u32,
    #[prost(uint32, tag = "7")]
    pub linear_acceleration_reliability: u32,
}
impl ::prost::Name for ImuExtended {
    const NAME: &'static str = "ImuExtended";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.sick_scan_xd.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.sick_scan_xd.msg.ImuExtended".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.sick_scan_xd.msg.ImuExtended".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RadarPreHeaderDeviceBlock {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub uiident: u32,
    #[prost(uint32, tag = "3")]
    pub udiserialno: u32,
    #[prost(bool, tag = "4")]
    pub bdeviceerror: bool,
    #[prost(bool, tag = "5")]
    pub bcontaminationwarning: bool,
    #[prost(bool, tag = "6")]
    pub bcontaminationerror: bool,
}
impl ::prost::Name for RadarPreHeaderDeviceBlock {
    const NAME: &'static str = "RadarPreHeaderDeviceBlock";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.sick_scan_xd.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.sick_scan_xd.msg.RadarPreHeaderDeviceBlock".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.sick_scan_xd.msg.RadarPreHeaderDeviceBlock".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NavReflectorData {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub cartesian_data_valid: u32,
    #[prost(int32, tag = "3")]
    pub x: i32,
    #[prost(int32, tag = "4")]
    pub y: i32,
    #[prost(uint32, tag = "5")]
    pub polar_data_valid: u32,
    #[prost(uint32, tag = "6")]
    pub dist: u32,
    #[prost(uint32, tag = "7")]
    pub phi: u32,
    #[prost(uint32, tag = "8")]
    pub opt_reflector_data_valid: u32,
    #[prost(uint32, tag = "9")]
    pub local_id: u32,
    #[prost(uint32, tag = "10")]
    pub global_id: u32,
    #[prost(uint32, tag = "11")]
    pub r#type: u32,
    #[prost(uint32, tag = "12")]
    pub sub_type: u32,
    #[prost(uint32, tag = "13")]
    pub quality: u32,
    #[prost(uint32, tag = "14")]
    pub timestamp: u32,
    #[prost(uint32, tag = "15")]
    pub size: u32,
    #[prost(uint32, tag = "16")]
    pub hit_count: u32,
    #[prost(uint32, tag = "17")]
    pub mean_echo: u32,
    #[prost(uint32, tag = "18")]
    pub start_index: u32,
    #[prost(uint32, tag = "19")]
    pub end_index: u32,
    #[prost(int32, tag = "20")]
    pub pos_valid: i32,
    #[prost(float, tag = "21")]
    pub pos_x: f32,
    #[prost(float, tag = "22")]
    pub pos_y: f32,
}
impl ::prost::Name for NavReflectorData {
    const NAME: &'static str = "NAVReflectorData";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.sick_scan_xd.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.sick_scan_xd.msg.NAVReflectorData".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.sick_scan_xd.msg.NAVReflectorData".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LiDoutputstateMsg {
    #[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 version_number: u32,
    #[prost(uint32, tag = "4")]
    pub system_counter: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub output_state: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "6")]
    pub output_count: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub time_state: u32,
    #[prost(uint32, tag = "8")]
    pub year: u32,
    #[prost(uint32, tag = "9")]
    pub month: u32,
    #[prost(uint32, tag = "10")]
    pub day: u32,
    #[prost(uint32, tag = "11")]
    pub hour: u32,
    #[prost(uint32, tag = "12")]
    pub minute: u32,
    #[prost(uint32, tag = "13")]
    pub second: u32,
    #[prost(uint32, tag = "14")]
    pub microsecond: u32,
}
impl ::prost::Name for LiDoutputstateMsg {
    const NAME: &'static str = "LIDoutputstateMsg";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.sick_scan_xd.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.sick_scan_xd.msg.LIDoutputstateMsg".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.sick_scan_xd.msg.LIDoutputstateMsg".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LiDinputstateMsg {
    #[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 version_number: u32,
    #[prost(uint32, tag = "4")]
    pub system_counter: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub input_state: ::prost::alloc::vec::Vec<u32>,
    #[prost(int32, tag = "6")]
    pub active_fieldset: i32,
    #[prost(uint32, tag = "7")]
    pub time_state: u32,
    #[prost(uint32, tag = "8")]
    pub year: u32,
    #[prost(uint32, tag = "9")]
    pub month: u32,
    #[prost(uint32, tag = "10")]
    pub day: u32,
    #[prost(uint32, tag = "11")]
    pub hour: u32,
    #[prost(uint32, tag = "12")]
    pub minute: u32,
    #[prost(uint32, tag = "13")]
    pub second: u32,
    #[prost(uint32, tag = "14")]
    pub microsecond: u32,
}
impl ::prost::Name for LiDinputstateMsg {
    const NAME: &'static str = "LIDinputstateMsg";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.sick_scan_xd.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.sick_scan_xd.msg.LIDinputstateMsg".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.sick_scan_xd.msg.LIDinputstateMsg".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SickImu {
    #[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 imu: ::core::option::Option<super::super::sensor_msgs::msg::Imu>,
    #[prost(uint32, tag = "4")]
    pub ticks: u32,
    #[prost(float, tag = "5")]
    pub quaternion_accuracy: f32,
    #[prost(uint32, tag = "6")]
    pub angular_velocity_reliability: u32,
    #[prost(uint32, tag = "7")]
    pub linear_acceleration_reliability: u32,
}
impl ::prost::Name for SickImu {
    const NAME: &'static str = "SickImu";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.sick_scan_xd.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.sick_scan_xd.msg.SickImu".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.sick_scan_xd.msg.SickImu".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LfErecFieldMsg {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub version_number: u32,
    #[prost(uint32, tag = "3")]
    pub field_index: u32,
    #[prost(uint32, tag = "4")]
    pub sys_count: u32,
    #[prost(float, tag = "5")]
    pub dist_scale_factor: f32,
    #[prost(float, tag = "6")]
    pub dist_scale_offset: f32,
    #[prost(uint32, tag = "7")]
    pub angle_scale_factor: u32,
    #[prost(int32, tag = "8")]
    pub angle_scale_offset: i32,
    #[prost(uint32, tag = "9")]
    pub field_result_mrs: u32,
    #[prost(uint32, tag = "10")]
    pub time_state: u32,
    #[prost(uint32, tag = "11")]
    pub year: u32,
    #[prost(uint32, tag = "12")]
    pub month: u32,
    #[prost(uint32, tag = "13")]
    pub day: u32,
    #[prost(uint32, tag = "14")]
    pub hour: u32,
    #[prost(uint32, tag = "15")]
    pub minute: u32,
    #[prost(uint32, tag = "16")]
    pub second: u32,
    #[prost(uint32, tag = "17")]
    pub microsecond: u32,
}
impl ::prost::Name for LfErecFieldMsg {
    const NAME: &'static str = "LFErecFieldMsg";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.sick_scan_xd.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.sick_scan_xd.msg.LFErecFieldMsg".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.sick_scan_xd.msg.LFErecFieldMsg".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LfErecMsg {
    #[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 fields_number: u32,
    #[prost(message, repeated, tag = "4")]
    pub fields: ::prost::alloc::vec::Vec<LfErecFieldMsg>,
}
impl ::prost::Name for LfErecMsg {
    const NAME: &'static str = "LFErecMsg";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.sick_scan_xd.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.sick_scan_xd.msg.LFErecMsg".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.sick_scan_xd.msg.LFErecMsg".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RadarPreHeaderEncoderBlock {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub udiencoderpos: u32,
    #[prost(int32, tag = "3")]
    pub iencoderspeed: i32,
}
impl ::prost::Name for RadarPreHeaderEncoderBlock {
    const NAME: &'static str = "RadarPreHeaderEncoderBlock";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.sick_scan_xd.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.sick_scan_xd.msg.RadarPreHeaderEncoderBlock".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.sick_scan_xd.msg.RadarPreHeaderEncoderBlock".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RadarPreHeaderMeasurementParam1Block {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub uicycleduration: u32,
    #[prost(uint32, tag = "3")]
    pub uinoiselevel: u32,
}
impl ::prost::Name for RadarPreHeaderMeasurementParam1Block {
    const NAME: &'static str = "RadarPreHeaderMeasurementParam1Block";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.sick_scan_xd.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.sick_scan_xd.msg.RadarPreHeaderMeasurementParam1Block"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.sick_scan_xd.msg.RadarPreHeaderMeasurementParam1Block"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RadarPreHeaderStatusBlock {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub uitelegramcount: u32,
    #[prost(uint32, tag = "3")]
    pub uicyclecount: u32,
    #[prost(uint32, tag = "4")]
    pub udisystemcountscan: u32,
    #[prost(uint32, tag = "5")]
    pub udisystemcounttransmit: u32,
    #[prost(uint32, tag = "6")]
    pub uiinputs: u32,
    #[prost(uint32, tag = "7")]
    pub uioutputs: u32,
}
impl ::prost::Name for RadarPreHeaderStatusBlock {
    const NAME: &'static str = "RadarPreHeaderStatusBlock";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.sick_scan_xd.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.sick_scan_xd.msg.RadarPreHeaderStatusBlock".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.sick_scan_xd.msg.RadarPreHeaderStatusBlock".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RadarPreHeader {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub uiversionno: u32,
    #[prost(message, optional, tag = "3")]
    pub radarpreheaderdeviceblock: ::core::option::Option<RadarPreHeaderDeviceBlock>,
    #[prost(message, optional, tag = "4")]
    pub radarpreheaderstatusblock: ::core::option::Option<RadarPreHeaderStatusBlock>,
    #[prost(message, optional, tag = "5")]
    pub radarpreheadermeasurementparam1block: ::core::option::Option<
        RadarPreHeaderMeasurementParam1Block,
    >,
    #[prost(message, repeated, tag = "6")]
    pub radarpreheaderarrayencoderblock: ::prost::alloc::vec::Vec<
        RadarPreHeaderEncoderBlock,
    >,
}
impl ::prost::Name for RadarPreHeader {
    const NAME: &'static str = "RadarPreHeader";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.sick_scan_xd.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.sick_scan_xd.msg.RadarPreHeader".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.sick_scan_xd.msg.RadarPreHeader".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NavLandmarkData {
    #[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 landmark_filter: u32,
    #[prost(uint32, tag = "4")]
    pub num_reflectors: u32,
    #[prost(message, repeated, tag = "5")]
    pub reflectors: ::prost::alloc::vec::Vec<NavReflectorData>,
}
impl ::prost::Name for NavLandmarkData {
    const NAME: &'static str = "NAVLandmarkData";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.sick_scan_xd.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.sick_scan_xd.msg.NAVLandmarkData".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.sick_scan_xd.msg.NAVLandmarkData".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Encoder {
    #[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(int32, tag = "3")]
    pub enc_position: i32,
    #[prost(int32, tag = "4")]
    pub enc_speed: i32,
}
impl ::prost::Name for Encoder {
    const NAME: &'static str = "Encoder";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.sick_scan_xd.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.sick_scan_xd.msg.Encoder".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.sick_scan_xd.msg.Encoder".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NavOdomVelocity {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(float, tag = "2")]
    pub vel_x: f32,
    #[prost(float, tag = "3")]
    pub vel_y: f32,
    #[prost(float, tag = "4")]
    pub omega: f32,
    #[prost(uint32, tag = "5")]
    pub timestamp: u32,
    #[prost(uint32, tag = "6")]
    pub coordbase: u32,
}
impl ::prost::Name for NavOdomVelocity {
    const NAME: &'static str = "NAVOdomVelocity";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.sick_scan_xd.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.sick_scan_xd.msg.NAVOdomVelocity".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.sick_scan_xd.msg.NAVOdomVelocity".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NavPoseData {
    #[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(int32, tag = "3")]
    pub x: i32,
    #[prost(int32, tag = "4")]
    pub y: i32,
    #[prost(uint32, tag = "5")]
    pub phi: u32,
    #[prost(uint32, tag = "6")]
    pub opt_pose_data_valid: u32,
    #[prost(uint32, tag = "7")]
    pub output_mode: u32,
    #[prost(uint32, tag = "8")]
    pub timestamp: u32,
    #[prost(int32, tag = "9")]
    pub mean_dev: i32,
    #[prost(uint32, tag = "10")]
    pub nav_mode: u32,
    #[prost(uint32, tag = "11")]
    pub info_state: u32,
    #[prost(uint32, tag = "12")]
    pub quant_used_reflectors: u32,
    #[prost(int32, tag = "13")]
    pub pose_valid: i32,
    #[prost(float, tag = "14")]
    pub pose_x: f32,
    #[prost(float, tag = "15")]
    pub pose_y: f32,
    #[prost(float, tag = "16")]
    pub pose_yaw: f32,
}
impl ::prost::Name for NavPoseData {
    const NAME: &'static str = "NAVPoseData";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.sick_scan_xd.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.sick_scan_xd.msg.NAVPoseData".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.sick_scan_xd.msg.NAVPoseData".into()
    }
}
