// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cliff {
    #[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(bool, tag = "3")]
    pub is_cliff_left: bool,
    #[prost(bool, tag = "4")]
    pub is_cliff_front_left: bool,
    #[prost(bool, tag = "5")]
    pub is_cliff_right: bool,
    #[prost(bool, tag = "6")]
    pub is_cliff_front_right: bool,
}
impl ::prost::Name for Cliff {
    const NAME: &'static str = "Cliff";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.create_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.create_msgs.msg.Cliff".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.create_msgs.msg.Cliff".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mode {
    #[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 mode: u32,
}
impl ::prost::Name for Mode {
    const NAME: &'static str = "Mode";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.create_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.create_msgs.msg.Mode".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.create_msgs.msg.Mode".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DefineSong {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub song: u32,
    #[prost(uint32, tag = "3")]
    pub length: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub notes: ::prost::alloc::vec::Vec<u32>,
    #[prost(float, repeated, tag = "5")]
    pub durations: ::prost::alloc::vec::Vec<f32>,
}
impl ::prost::Name for DefineSong {
    const NAME: &'static str = "DefineSong";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.create_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.create_msgs.msg.DefineSong".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.create_msgs.msg.DefineSong".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlaySong {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub song: u32,
}
impl ::prost::Name for PlaySong {
    const NAME: &'static str = "PlaySong";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.create_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.create_msgs.msg.PlaySong".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.create_msgs.msg.PlaySong".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChargingState {
    #[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 state: u32,
}
impl ::prost::Name for ChargingState {
    const NAME: &'static str = "ChargingState";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.create_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.create_msgs.msg.ChargingState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.create_msgs.msg.ChargingState".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bumper {
    #[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(bool, tag = "3")]
    pub is_left_pressed: bool,
    #[prost(bool, tag = "4")]
    pub is_right_pressed: bool,
    #[prost(bool, tag = "5")]
    pub is_light_left: bool,
    #[prost(bool, tag = "6")]
    pub is_light_front_left: bool,
    #[prost(bool, tag = "7")]
    pub is_light_center_left: bool,
    #[prost(bool, tag = "8")]
    pub is_light_center_right: bool,
    #[prost(bool, tag = "9")]
    pub is_light_front_right: bool,
    #[prost(bool, tag = "10")]
    pub is_light_right: bool,
    #[prost(uint32, tag = "11")]
    pub light_signal_left: u32,
    #[prost(uint32, tag = "12")]
    pub light_signal_front_left: u32,
    #[prost(uint32, tag = "13")]
    pub light_signal_center_left: u32,
    #[prost(uint32, tag = "14")]
    pub light_signal_center_right: u32,
    #[prost(uint32, tag = "15")]
    pub light_signal_front_right: u32,
    #[prost(uint32, tag = "16")]
    pub light_signal_right: u32,
}
impl ::prost::Name for Bumper {
    const NAME: &'static str = "Bumper";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.create_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.create_msgs.msg.Bumper".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.create_msgs.msg.Bumper".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MotorSetpoint {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(float, tag = "2")]
    pub duty_cycle: f32,
}
impl ::prost::Name for MotorSetpoint {
    const NAME: &'static str = "MotorSetpoint";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.create_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.create_msgs.msg.MotorSetpoint".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.create_msgs.msg.MotorSetpoint".into()
    }
}
