// This file is @generated by prost-build.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MotorPower {
    #[prost(uint32, tag = "1")]
    pub state: u32,
}
impl ::prost::Name for MotorPower {
    const NAME: &'static str = "MotorPower";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.MotorPower".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.MotorPower".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExternalPower {
    #[prost(uint32, tag = "1")]
    pub source: u32,
    #[prost(uint32, tag = "2")]
    pub state: u32,
}
impl ::prost::Name for ExternalPower {
    const NAME: &'static str = "ExternalPower";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.ExternalPower".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.ExternalPower".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct KeyboardInput {
    #[prost(uint32, tag = "1")]
    pub pressed_key: u32,
}
impl ::prost::Name for KeyboardInput {
    const NAME: &'static str = "KeyboardInput";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.KeyboardInput".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.KeyboardInput".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ButtonEvent {
    #[prost(uint32, tag = "1")]
    pub button: u32,
    #[prost(uint32, tag = "2")]
    pub state: u32,
}
impl ::prost::Name for ButtonEvent {
    const NAME: &'static str = "ButtonEvent";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.ButtonEvent".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.ButtonEvent".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Sound {
    #[prost(uint32, tag = "1")]
    pub value: u32,
}
impl ::prost::Name for Sound {
    const NAME: &'static str = "Sound";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.Sound".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.Sound".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VersionInfo {
    #[prost(string, tag = "1")]
    pub hardware: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub firmware: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub software: ::prost::alloc::string::String,
    #[prost(uint32, repeated, tag = "4")]
    pub udid: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint64, tag = "5")]
    pub features: u64,
}
impl ::prost::Name for VersionInfo {
    const NAME: &'static str = "VersionInfo";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.VersionInfo".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.VersionInfo".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WheelDropEvent {
    #[prost(uint32, tag = "1")]
    pub wheel: u32,
    #[prost(uint32, tag = "2")]
    pub state: u32,
}
impl ::prost::Name for WheelDropEvent {
    const NAME: &'static str = "WheelDropEvent";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.WheelDropEvent".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.WheelDropEvent".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RobotStateEvent {
    #[prost(uint32, tag = "1")]
    pub state: u32,
}
impl ::prost::Name for RobotStateEvent {
    const NAME: &'static str = "RobotStateEvent";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.RobotStateEvent".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.RobotStateEvent".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ControllerInfo {
    #[prost(uint32, tag = "1")]
    pub r#type: u32,
    #[prost(double, tag = "2")]
    pub p_gain: f64,
    #[prost(double, tag = "3")]
    pub i_gain: f64,
    #[prost(double, tag = "4")]
    pub d_gain: f64,
}
impl ::prost::Name for ControllerInfo {
    const NAME: &'static str = "ControllerInfo";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.ControllerInfo".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.ControllerInfo".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Led {
    #[prost(uint32, tag = "1")]
    pub value: u32,
}
impl ::prost::Name for Led {
    const NAME: &'static str = "Led";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.Led".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.Led".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CliffEvent {
    #[prost(uint32, tag = "1")]
    pub sensor: u32,
    #[prost(uint32, tag = "2")]
    pub state: u32,
    #[prost(uint32, tag = "3")]
    pub bottom: u32,
}
impl ::prost::Name for CliffEvent {
    const NAME: &'static str = "CliffEvent";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.CliffEvent".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.CliffEvent".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScanAngle {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(double, tag = "2")]
    pub scan_angle: f64,
}
impl ::prost::Name for ScanAngle {
    const NAME: &'static str = "ScanAngle";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.ScanAngle".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.ScanAngle".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SensorState {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub time_stamp: u32,
    #[prost(uint32, tag = "3")]
    pub bumper: u32,
    #[prost(uint32, tag = "4")]
    pub wheel_drop: u32,
    #[prost(uint32, tag = "5")]
    pub cliff: u32,
    #[prost(uint32, tag = "6")]
    pub left_encoder: u32,
    #[prost(uint32, tag = "7")]
    pub right_encoder: u32,
    #[prost(int32, tag = "8")]
    pub left_pwm: i32,
    #[prost(int32, tag = "9")]
    pub right_pwm: i32,
    #[prost(uint32, tag = "10")]
    pub buttons: u32,
    #[prost(uint32, tag = "11")]
    pub charger: u32,
    #[prost(uint32, tag = "12")]
    pub battery: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub bottom: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "14")]
    pub current: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub over_current: u32,
    #[prost(uint32, tag = "16")]
    pub digital_input: u32,
    #[prost(uint32, repeated, tag = "17")]
    pub analog_input: ::prost::alloc::vec::Vec<u32>,
}
impl ::prost::Name for SensorState {
    const NAME: &'static str = "SensorState";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.SensorState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.SensorState".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DockInfraRed {
    #[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 DockInfraRed {
    const NAME: &'static str = "DockInfraRed";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.DockInfraRed".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.DockInfraRed".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DigitalInputEvent {
    #[prost(bool, repeated, tag = "1")]
    pub values: ::prost::alloc::vec::Vec<bool>,
}
impl ::prost::Name for DigitalInputEvent {
    const NAME: &'static str = "DigitalInputEvent";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.DigitalInputEvent".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.DigitalInputEvent".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PowerSystemEvent {
    #[prost(uint32, tag = "1")]
    pub event: u32,
}
impl ::prost::Name for PowerSystemEvent {
    const NAME: &'static str = "PowerSystemEvent";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.PowerSystemEvent".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.PowerSystemEvent".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BumperEvent {
    #[prost(uint32, tag = "1")]
    pub bumper: u32,
    #[prost(uint32, tag = "2")]
    pub state: u32,
}
impl ::prost::Name for BumperEvent {
    const NAME: &'static str = "BumperEvent";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.BumperEvent".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.BumperEvent".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DigitalOutput {
    #[prost(bool, repeated, tag = "1")]
    pub values: ::prost::alloc::vec::Vec<bool>,
    #[prost(bool, repeated, tag = "2")]
    pub mask: ::prost::alloc::vec::Vec<bool>,
}
impl ::prost::Name for DigitalOutput {
    const NAME: &'static str = "DigitalOutput";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.DigitalOutput".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.kobuki_ros_interfaces.msg.DigitalOutput".into()
    }
}
