// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Analog {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub pin: u32,
    #[prost(uint32, tag = "3")]
    pub domain: u32,
    #[prost(float, tag = "4")]
    pub state: f32,
}
impl ::prost::Name for Analog {
    const NAME: &'static str = "Analog";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.ur_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.ur_msgs.msg.Analog".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.ur_msgs.msg.Analog".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ToolDataMsg {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(int32, tag = "2")]
    pub analog_input_range2: i32,
    #[prost(int32, tag = "3")]
    pub analog_input_range3: i32,
    #[prost(double, tag = "4")]
    pub analog_input2: f64,
    #[prost(double, tag = "5")]
    pub analog_input3: f64,
    #[prost(float, tag = "6")]
    pub tool_voltage_48v: f32,
    #[prost(uint32, tag = "7")]
    pub tool_output_voltage: u32,
    #[prost(float, tag = "8")]
    pub tool_current: f32,
    #[prost(float, tag = "9")]
    pub tool_temperature: f32,
    #[prost(uint32, tag = "10")]
    pub tool_mode: u32,
}
impl ::prost::Name for ToolDataMsg {
    const NAME: &'static str = "ToolDataMsg";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.ur_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.ur_msgs.msg.ToolDataMsg".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.ur_msgs.msg.ToolDataMsg".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MasterboardDataMsg {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub digital_input_bits: u32,
    #[prost(uint32, tag = "3")]
    pub digital_output_bits: u32,
    #[prost(int32, tag = "4")]
    pub analog_input_range0: i32,
    #[prost(int32, tag = "5")]
    pub analog_input_range1: i32,
    #[prost(double, tag = "6")]
    pub analog_input0: f64,
    #[prost(double, tag = "7")]
    pub analog_input1: f64,
    #[prost(int32, tag = "8")]
    pub analog_output_domain0: i32,
    #[prost(int32, tag = "9")]
    pub analog_output_domain1: i32,
    #[prost(double, tag = "10")]
    pub analog_output0: f64,
    #[prost(double, tag = "11")]
    pub analog_output1: f64,
    #[prost(float, tag = "12")]
    pub masterboard_temperature: f32,
    #[prost(float, tag = "13")]
    pub robot_voltage_48v: f32,
    #[prost(float, tag = "14")]
    pub robot_current: f32,
    #[prost(float, tag = "15")]
    pub master_io_current: f32,
    #[prost(uint32, tag = "16")]
    pub master_safety_state: u32,
    #[prost(uint32, tag = "17")]
    pub master_onoff_state: u32,
}
impl ::prost::Name for MasterboardDataMsg {
    const NAME: &'static str = "MasterboardDataMsg";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.ur_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.ur_msgs.msg.MasterboardDataMsg".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.ur_msgs.msg.MasterboardDataMsg".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RobotModeDataMsg {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint64, tag = "2")]
    pub timestamp: u64,
    #[prost(bool, tag = "3")]
    pub is_robot_connected: bool,
    #[prost(bool, tag = "4")]
    pub is_real_robot_enabled: bool,
    #[prost(bool, tag = "5")]
    pub is_power_on_robot: bool,
    #[prost(bool, tag = "6")]
    pub is_emergency_stopped: bool,
    #[prost(bool, tag = "7")]
    pub is_protective_stopped: bool,
    #[prost(bool, tag = "8")]
    pub is_program_running: bool,
    #[prost(bool, tag = "9")]
    pub is_program_paused: bool,
}
impl ::prost::Name for RobotModeDataMsg {
    const NAME: &'static str = "RobotModeDataMsg";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.ur_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.ur_msgs.msg.RobotModeDataMsg".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.ur_msgs.msg.RobotModeDataMsg".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Digital {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub pin: u32,
    #[prost(bool, tag = "3")]
    pub state: bool,
}
impl ::prost::Name for Digital {
    const NAME: &'static str = "Digital";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.ur_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.ur_msgs.msg.Digital".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.ur_msgs.msg.Digital".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IoStates {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, repeated, tag = "2")]
    pub digital_in_states: ::prost::alloc::vec::Vec<Digital>,
    #[prost(message, repeated, tag = "3")]
    pub digital_out_states: ::prost::alloc::vec::Vec<Digital>,
    #[prost(message, repeated, tag = "4")]
    pub flag_states: ::prost::alloc::vec::Vec<Digital>,
    #[prost(message, repeated, tag = "5")]
    pub analog_in_states: ::prost::alloc::vec::Vec<Analog>,
    #[prost(message, repeated, tag = "6")]
    pub analog_out_states: ::prost::alloc::vec::Vec<Analog>,
}
impl ::prost::Name for IoStates {
    const NAME: &'static str = "IOStates";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.ur_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.ur_msgs.msg.IOStates".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.ur_msgs.msg.IOStates".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RobotStateRtMsg {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(double, tag = "2")]
    pub time: f64,
    #[prost(double, repeated, tag = "3")]
    pub q_target: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "4")]
    pub qd_target: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "5")]
    pub qdd_target: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "6")]
    pub i_target: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "7")]
    pub m_target: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "8")]
    pub q_actual: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "9")]
    pub qd_actual: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "10")]
    pub i_actual: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "11")]
    pub tool_acc_values: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "12")]
    pub tcp_force: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "13")]
    pub tool_vector: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "14")]
    pub tcp_speed: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, tag = "15")]
    pub digital_input_bits: f64,
    #[prost(double, repeated, tag = "16")]
    pub motor_temperatures: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, tag = "17")]
    pub controller_timer: f64,
    #[prost(double, tag = "18")]
    pub test_value: f64,
    #[prost(double, tag = "19")]
    pub robot_mode: f64,
    #[prost(double, repeated, tag = "20")]
    pub joint_modes: ::prost::alloc::vec::Vec<f64>,
}
impl ::prost::Name for RobotStateRtMsg {
    const NAME: &'static str = "RobotStateRTMsg";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.ur_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.ur_msgs.msg.RobotStateRTMsg".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.ur_msgs.msg.RobotStateRTMsg".into()
    }
}
