// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrVehicle5 {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(int32, tag = "2")]
    pub oversteer_understeer: i32,
    #[prost(bool, tag = "3")]
    pub yaw_rate_bias_shift: bool,
    #[prost(float, tag = "4")]
    pub beamwidth_vert: f32,
    #[prost(float, tag = "5")]
    pub funnel_offset_left: f32,
    #[prost(float, tag = "6")]
    pub funnel_offset_right: f32,
    #[prost(float, tag = "7")]
    pub cw_blockage_threshold: f32,
    #[prost(uint32, tag = "8")]
    pub distance_rear_axle: u32,
    #[prost(uint32, tag = "9")]
    pub wheelbase: u32,
    #[prost(float, tag = "10")]
    pub steering_gear_ratio: f32,
}
impl ::prost::Name for EsrVehicle5 {
    const NAME: &'static str = "EsrVehicle5";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrVehicle5".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrVehicle5".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrStatus9 {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub canmsg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub avg_pwr_cwblkg: u32,
    #[prost(float, tag = "4")]
    pub sideslip_angle: f32,
    #[prost(uint32, tag = "5")]
    pub serial_num_3rd_byte: u32,
    #[prost(uint32, tag = "6")]
    pub water_spray_target_id: u32,
    #[prost(float, tag = "7")]
    pub filtered_xohp_acc_cipv: f32,
    #[prost(uint32, tag = "8")]
    pub path_id_acc_2: u32,
    #[prost(uint32, tag = "9")]
    pub path_id_acc_3: u32,
}
impl ::prost::Name for EsrStatus9 {
    const NAME: &'static str = "EsrStatus9";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus9".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus9".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrTrack {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub canmsg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub id: u32,
    #[prost(float, tag = "4")]
    pub lat_rate: f32,
    #[prost(bool, tag = "5")]
    pub grouping_changed: bool,
    #[prost(bool, tag = "6")]
    pub oncoming: bool,
    #[prost(uint32, tag = "7")]
    pub status: u32,
    #[prost(float, tag = "8")]
    pub angle: f32,
    #[prost(float, tag = "9")]
    pub range: f32,
    #[prost(bool, tag = "10")]
    pub bridge_object: bool,
    #[prost(bool, tag = "11")]
    pub rolling_count: bool,
    #[prost(float, tag = "12")]
    pub width: f32,
    #[prost(float, tag = "13")]
    pub range_accel: f32,
    #[prost(uint32, tag = "14")]
    pub med_range_mode: u32,
    #[prost(float, tag = "15")]
    pub range_rate: f32,
}
impl ::prost::Name for EsrTrack {
    const NAME: &'static str = "EsrTrack";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrTrack".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrTrack".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EsrTrackMotionPowerTrack {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(bool, tag = "2")]
    pub movable_fast: bool,
    #[prost(bool, tag = "3")]
    pub movable_slow: bool,
    #[prost(bool, tag = "4")]
    pub moving: bool,
    #[prost(int32, tag = "5")]
    pub power: i32,
}
impl ::prost::Name for EsrTrackMotionPowerTrack {
    const NAME: &'static str = "EsrTrackMotionPowerTrack";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrTrackMotionPowerTrack"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrTrackMotionPowerTrack"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrTrackMotionPowerGroup {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub canmsg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub rolling_count_2: u32,
    #[prost(uint32, tag = "4")]
    pub can_id_group: u32,
    #[prost(message, repeated, tag = "5")]
    pub tracks: ::prost::alloc::vec::Vec<EsrTrackMotionPowerTrack>,
}
impl ::prost::Name for EsrTrackMotionPowerGroup {
    const NAME: &'static str = "EsrTrackMotionPowerGroup";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrTrackMotionPowerGroup"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrTrackMotionPowerGroup"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrVehicle3 {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(bool, tag = "2")]
    pub long_accel_validity: bool,
    #[prost(bool, tag = "3")]
    pub lat_accel_validity: bool,
    #[prost(float, tag = "4")]
    pub lat_accel: f32,
    #[prost(float, tag = "5")]
    pub long_accel: f32,
    #[prost(uint32, tag = "6")]
    pub radar_fov_lr: u32,
    #[prost(uint32, tag = "7")]
    pub radar_fov_mr: u32,
    #[prost(bool, tag = "8")]
    pub auto_align_disable: bool,
    #[prost(uint32, tag = "9")]
    pub radar_height: u32,
    #[prost(bool, tag = "10")]
    pub serv_align_type: bool,
    #[prost(bool, tag = "11")]
    pub serv_align_enable: bool,
    #[prost(uint32, tag = "12")]
    pub aalign_avg_ctr_total: u32,
    #[prost(bool, tag = "13")]
    pub auto_align_converged: bool,
    #[prost(uint32, tag = "14")]
    pub wheel_slip: u32,
    #[prost(uint32, tag = "15")]
    pub serv_align_updates_need: u32,
    #[prost(int32, tag = "16")]
    pub angle_mounting_offset: i32,
}
impl ::prost::Name for EsrVehicle3 {
    const NAME: &'static str = "EsrVehicle3";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrVehicle3".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrVehicle3".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrVehicle4 {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(bool, tag = "2")]
    pub fac_align_cmd_1: bool,
    #[prost(bool, tag = "3")]
    pub fac_align_cmd_2: bool,
    #[prost(uint32, tag = "4")]
    pub fac_align_max_nt: u32,
    #[prost(uint32, tag = "5")]
    pub fac_align_samp_req: u32,
    #[prost(int32, tag = "6")]
    pub fac_tgt_mtg_offset: i32,
    #[prost(int32, tag = "7")]
    pub fac_tgt_mtg_space_hor: i32,
    #[prost(int32, tag = "8")]
    pub fac_tgt_mtg_space_ver: i32,
    #[prost(float, tag = "9")]
    pub fac_tgt_range_1: f32,
    #[prost(float, tag = "10")]
    pub fac_tgt_range_r2m: f32,
    #[prost(float, tag = "11")]
    pub fac_tgt_range_m2t: f32,
}
impl ::prost::Name for EsrVehicle4 {
    const NAME: &'static str = "EsrVehicle4";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrVehicle4".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrVehicle4".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrVehicle1 {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(float, tag = "2")]
    pub vehicle_speed: f32,
    #[prost(bool, tag = "3")]
    pub vehicle_speed_direction: bool,
    #[prost(float, tag = "4")]
    pub yaw_rate: f32,
    #[prost(bool, tag = "5")]
    pub yaw_rate_validity: bool,
    #[prost(bool, tag = "6")]
    pub steering_angle_rate_sign: bool,
    #[prost(int32, tag = "7")]
    pub radius_curvature: i32,
    #[prost(bool, tag = "8")]
    pub steering_angle_validity: bool,
    #[prost(bool, tag = "9")]
    pub steering_angle_sign: bool,
    #[prost(uint32, tag = "10")]
    pub steering_angle: u32,
    #[prost(uint32, tag = "11")]
    pub steering_angle_rate: u32,
}
impl ::prost::Name for EsrVehicle1 {
    const NAME: &'static str = "EsrVehicle1";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrVehicle1".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrVehicle1".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrStatus2 {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub canmsg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub maximum_tracks_ack: u32,
    #[prost(uint32, tag = "4")]
    pub rolling_count_2: u32,
    #[prost(bool, tag = "5")]
    pub overheat_error: bool,
    #[prost(bool, tag = "6")]
    pub range_perf_error: bool,
    #[prost(bool, tag = "7")]
    pub internal_error: bool,
    #[prost(bool, tag = "8")]
    pub xcvr_operational: bool,
    #[prost(bool, tag = "9")]
    pub raw_data_mode: bool,
    #[prost(uint32, tag = "10")]
    pub steering_angle_ack: u32,
    #[prost(int32, tag = "11")]
    pub temperature: i32,
    #[prost(float, tag = "12")]
    pub veh_spd_comp_factor: f32,
    #[prost(uint32, tag = "13")]
    pub grouping_mode: u32,
    #[prost(float, tag = "14")]
    pub yaw_rate_bias: f32,
    #[prost(string, tag = "15")]
    pub sw_version_dsp: ::prost::alloc::string::String,
}
impl ::prost::Name for EsrStatus2 {
    const NAME: &'static str = "EsrStatus2";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus2".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus2".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrStatus5 {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub canmsg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub swbatt_a2d: u32,
    #[prost(uint32, tag = "4")]
    pub ignp_a2d: u32,
    #[prost(uint32, tag = "5")]
    pub temp1_a2d: u32,
    #[prost(uint32, tag = "6")]
    pub temp2_a2d: u32,
    #[prost(uint32, tag = "7")]
    pub supply_5va_a2d: u32,
    #[prost(uint32, tag = "8")]
    pub supply_5vdx_a2d: u32,
    #[prost(uint32, tag = "9")]
    pub supply_3p3v_a2d: u32,
    #[prost(uint32, tag = "10")]
    pub supply_10v_a2d: u32,
}
impl ::prost::Name for EsrStatus5 {
    const NAME: &'static str = "EsrStatus5";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus5".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus5".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrEthTx {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub xcp_format_version: u32,
    #[prost(uint32, tag = "3")]
    pub scan_index: u32,
    #[prost(uint32, tag = "4")]
    pub tcp_size: u32,
    #[prost(uint32, tag = "5")]
    pub xcp_scan_type: u32,
    #[prost(uint32, tag = "6")]
    pub look_index: u32,
    #[prost(uint32, tag = "7")]
    pub mmr_scan_index: u32,
    #[prost(float, tag = "8")]
    pub target_report_host_speed: f32,
    #[prost(float, tag = "9")]
    pub target_report_host_yaw_rate: f32,
    #[prost(uint32, tag = "10")]
    pub xcp_timestamp: u32,
    #[prost(uint32, tag = "11")]
    pub release_revision: u32,
    #[prost(uint32, tag = "12")]
    pub promote_revision: u32,
    #[prost(uint32, tag = "13")]
    pub field_revision: u32,
    #[prost(uint32, tag = "14")]
    pub target_report_count: u32,
    #[prost(float, repeated, tag = "15")]
    pub target_report_range: ::prost::alloc::vec::Vec<f32>,
    #[prost(float, repeated, tag = "16")]
    pub target_report_range_rate: ::prost::alloc::vec::Vec<f32>,
    #[prost(float, repeated, tag = "17")]
    pub target_report_theta: ::prost::alloc::vec::Vec<f32>,
    #[prost(float, repeated, tag = "18")]
    pub target_report_amplitude: ::prost::alloc::vec::Vec<f32>,
}
impl ::prost::Name for EsrEthTx {
    const NAME: &'static str = "EsrEthTx";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrEthTx".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrEthTx".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrStatus7 {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub canmsg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub active_fault_0: u32,
    #[prost(uint32, tag = "4")]
    pub active_fault_1: u32,
    #[prost(uint32, tag = "5")]
    pub active_fault_2: u32,
    #[prost(uint32, tag = "6")]
    pub active_fault_3: u32,
    #[prost(uint32, tag = "7")]
    pub active_fault_4: u32,
    #[prost(uint32, tag = "8")]
    pub active_fault_5: u32,
    #[prost(uint32, tag = "9")]
    pub active_fault_6: u32,
    #[prost(uint32, tag = "10")]
    pub active_fault_7: u32,
}
impl ::prost::Name for EsrStatus7 {
    const NAME: &'static str = "EsrStatus7";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus7".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus7".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrValid2 {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub canmsg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub mr_sn: u32,
    #[prost(float, tag = "4")]
    pub mr_range: f32,
    #[prost(float, tag = "5")]
    pub mr_range_rate: f32,
    #[prost(float, tag = "6")]
    pub mr_angle: f32,
    #[prost(int32, tag = "7")]
    pub mr_power: i32,
}
impl ::prost::Name for EsrValid2 {
    const NAME: &'static str = "EsrValid2";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrValid2".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrValid2".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrStatus4 {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub canmsg: ::prost::alloc::string::String,
    #[prost(bool, tag = "3")]
    pub truck_target_det: bool,
    #[prost(bool, tag = "4")]
    pub lr_only_grating_lobe_det: bool,
    #[prost(bool, tag = "5")]
    pub sidelobe_blockage: bool,
    #[prost(bool, tag = "6")]
    pub partial_blockage: bool,
    #[prost(uint32, tag = "7")]
    pub mr_lr_mode: u32,
    #[prost(uint32, tag = "8")]
    pub rolling_count_3: u32,
    #[prost(uint32, tag = "9")]
    pub path_id_acc: u32,
    #[prost(uint32, tag = "10")]
    pub path_id_cmbb_move: u32,
    #[prost(uint32, tag = "11")]
    pub path_id_cmbb_stat: u32,
    #[prost(uint32, tag = "12")]
    pub path_id_fcw_move: u32,
    #[prost(uint32, tag = "13")]
    pub path_id_fcw_stat: u32,
    #[prost(float, tag = "14")]
    pub auto_align_angle: f32,
    #[prost(uint32, tag = "15")]
    pub path_id_acc_stat: u32,
}
impl ::prost::Name for EsrStatus4 {
    const NAME: &'static str = "EsrStatus4";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus4".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus4".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrStatus8 {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub canmsg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub history_fault_0: u32,
    #[prost(uint32, tag = "4")]
    pub history_fault_1: u32,
    #[prost(uint32, tag = "5")]
    pub history_fault_2: u32,
    #[prost(uint32, tag = "6")]
    pub history_fault_3: u32,
    #[prost(uint32, tag = "7")]
    pub history_fault_4: u32,
    #[prost(uint32, tag = "8")]
    pub history_fault_5: u32,
    #[prost(uint32, tag = "9")]
    pub history_fault_6: u32,
    #[prost(uint32, tag = "10")]
    pub history_fault_7: u32,
}
impl ::prost::Name for EsrStatus8 {
    const NAME: &'static str = "EsrStatus8";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus8".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus8".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrStatus1 {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub canmsg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub rolling_count_1: u32,
    #[prost(uint32, tag = "4")]
    pub dsp_timestamp: u32,
    #[prost(bool, tag = "5")]
    pub comm_error: bool,
    #[prost(int32, tag = "6")]
    pub radius_curvature_calc: i32,
    #[prost(uint32, tag = "7")]
    pub scan_index: u32,
    #[prost(float, tag = "8")]
    pub yaw_rate_calc: f32,
    #[prost(float, tag = "9")]
    pub vehicle_speed_calc: f32,
}
impl ::prost::Name for EsrStatus1 {
    const NAME: &'static str = "EsrStatus1";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus1".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus1".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrStatus6 {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub canmsg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub supply_1p8v_a2d: u32,
    #[prost(uint32, tag = "4")]
    pub supply_n5v_a2d: u32,
    #[prost(uint32, tag = "5")]
    pub wave_diff_a2d: u32,
    #[prost(uint32, tag = "6")]
    pub sw_version_dsp_3rd_byte: u32,
    #[prost(bool, tag = "7")]
    pub vertical_align_updated: bool,
    #[prost(uint32, tag = "8")]
    pub system_power_mode: u32,
    #[prost(bool, tag = "9")]
    pub found_target: bool,
    #[prost(bool, tag = "10")]
    pub recommend_unconverge: bool,
    #[prost(uint32, tag = "11")]
    pub factory_align_status_1: u32,
    #[prost(uint32, tag = "12")]
    pub factory_align_status_2: u32,
    #[prost(float, tag = "13")]
    pub factory_misalignment: f32,
    #[prost(uint32, tag = "14")]
    pub serv_align_updates_done: u32,
    #[prost(float, tag = "15")]
    pub vertical_misalignment: f32,
}
impl ::prost::Name for EsrStatus6 {
    const NAME: &'static str = "EsrStatus6";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus6".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus6".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrVehicle2 {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub scan_index_ack: u32,
    #[prost(bool, tag = "3")]
    pub use_angle_misalignment: bool,
    #[prost(bool, tag = "4")]
    pub clear_faults: bool,
    #[prost(int32, tag = "5")]
    pub high_yaw_angle: i32,
    #[prost(bool, tag = "6")]
    pub mr_only_transmit: bool,
    #[prost(bool, tag = "7")]
    pub lr_only_transmit: bool,
    #[prost(float, tag = "8")]
    pub angle_misalignment: f32,
    #[prost(float, tag = "9")]
    pub lateral_mounting_offset: f32,
    #[prost(bool, tag = "10")]
    pub radar_cmd_radiate: bool,
    #[prost(bool, tag = "11")]
    pub blockage_disable: bool,
    #[prost(uint32, tag = "12")]
    pub maximum_tracks: u32,
    #[prost(uint32, tag = "13")]
    pub turn_signal_status: u32,
    #[prost(bool, tag = "14")]
    pub vehicle_speed_validity: bool,
    #[prost(bool, tag = "15")]
    pub mmr_upside_down: bool,
    #[prost(uint32, tag = "16")]
    pub grouping_mode: u32,
    #[prost(bool, tag = "17")]
    pub wiper_status: bool,
    #[prost(bool, tag = "18")]
    pub raw_data_enable: bool,
}
impl ::prost::Name for EsrVehicle2 {
    const NAME: &'static str = "EsrVehicle2";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrVehicle2".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrVehicle2".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrValid1 {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub canmsg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub lr_sn: u32,
    #[prost(float, tag = "4")]
    pub lr_range: f32,
    #[prost(float, tag = "5")]
    pub lr_range_rate: f32,
    #[prost(float, tag = "6")]
    pub lr_angle: f32,
    #[prost(int32, tag = "7")]
    pub lr_power: i32,
}
impl ::prost::Name for EsrValid1 {
    const NAME: &'static str = "EsrValid1";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrValid1".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrValid1".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EsrStatus3 {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub canmsg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub interface_version: u32,
    #[prost(uint32, tag = "4")]
    pub hw_version: u32,
    #[prost(string, tag = "5")]
    pub sw_version_host: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub serial_num: ::prost::alloc::string::String,
    #[prost(uint32, tag = "7")]
    pub sw_version_pld: u32,
}
impl ::prost::Name for EsrStatus3 {
    const NAME: &'static str = "EsrStatus3";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.delphi_esr_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus3".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.delphi_esr_msgs.msg.EsrStatus3".into()
    }
}
