// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Status {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub device_number: u32,
    #[prost(string, tag = "3")]
    pub device_name: ::prost::alloc::string::String,
    #[prost(float, tag = "4")]
    pub bus_voltage: f32,
    #[prost(float, tag = "5")]
    pub temperature: f32,
    #[prost(float, tag = "6")]
    pub output_voltage: f32,
    #[prost(float, tag = "7")]
    pub analog_input: f32,
    #[prost(uint32, tag = "8")]
    pub mode: u32,
    #[prost(uint32, tag = "9")]
    pub fault: u32,
}
impl ::prost::Name for Status {
    const NAME: &'static str = "Status";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.puma_motor_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.puma_motor_msgs.msg.Status".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.puma_motor_msgs.msg.Status".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiStatus {
    #[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 drivers: ::prost::alloc::vec::Vec<Status>,
}
impl ::prost::Name for MultiStatus {
    const NAME: &'static str = "MultiStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.puma_motor_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.puma_motor_msgs.msg.MultiStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.puma_motor_msgs.msg.MultiStatus".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Feedback {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub device_number: u32,
    #[prost(string, tag = "3")]
    pub device_name: ::prost::alloc::string::String,
    #[prost(float, tag = "4")]
    pub duty_cycle: f32,
    #[prost(float, tag = "5")]
    pub current: f32,
    #[prost(double, tag = "6")]
    pub travel: f64,
    #[prost(double, tag = "7")]
    pub speed: f64,
    #[prost(double, tag = "8")]
    pub setpoint: f64,
}
impl ::prost::Name for Feedback {
    const NAME: &'static str = "Feedback";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.puma_motor_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.puma_motor_msgs.msg.Feedback".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.puma_motor_msgs.msg.Feedback".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiFeedback {
    #[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 drivers_feedback: ::prost::alloc::vec::Vec<Feedback>,
}
impl ::prost::Name for MultiFeedback {
    const NAME: &'static str = "MultiFeedback";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.puma_motor_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.puma_motor_msgs.msg.MultiFeedback".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.puma_motor_msgs.msg.MultiFeedback".into()
    }
}
