// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Info {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(int32, tag = "2")]
    pub id: i32,
    #[prost(string, tag = "3")]
    pub serial_port: ::prost::alloc::string::String,
    #[prost(int32, tag = "4")]
    pub max_repeats: i32,
    #[prost(bool, tag = "5")]
    pub get_positions: bool,
    #[prost(bool, tag = "6")]
    pub get_currents: bool,
    #[prost(bool, tag = "7")]
    pub get_distinct_packages: bool,
    #[prost(bool, tag = "8")]
    pub set_commands: bool,
    #[prost(bool, tag = "9")]
    pub set_commands_async: bool,
    #[prost(int32, repeated, tag = "10")]
    pub position_limits: ::prost::alloc::vec::Vec<i32>,
    #[prost(uint32, repeated, tag = "11")]
    pub encoder_resolutions: ::prost::alloc::vec::Vec<u32>,
}
impl ::prost::Name for Info {
    const NAME: &'static str = "Info";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.msg.Info".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.msg.Info".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceConnectionInfo {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(int32, tag = "2")]
    pub id: i32,
    #[prost(bool, tag = "3")]
    pub is_active: bool,
    #[prost(string, tag = "4")]
    pub port: ::prost::alloc::string::String,
}
impl ::prost::Name for DeviceConnectionInfo {
    const NAME: &'static str = "DeviceConnectionInfo";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.msg.DeviceConnectionInfo".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.msg.DeviceConnectionInfo".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceData {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
    #[prost(double, tag = "3")]
    pub position: f64,
    #[prost(double, tag = "4")]
    pub velocity: f64,
    #[prost(double, tag = "5")]
    pub effort: f64,
    #[prost(double, tag = "6")]
    pub command: f64,
}
impl ::prost::Name for ResourceData {
    const NAME: &'static str = "ResourceData";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.msg.ResourceData".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.msg.ResourceData".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct State {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, repeated, tag = "2")]
    pub actuators: ::prost::alloc::vec::Vec<ResourceData>,
    #[prost(message, repeated, tag = "3")]
    pub joints: ::prost::alloc::vec::Vec<ResourceData>,
    #[prost(bool, tag = "4")]
    pub is_reliable: bool,
    #[prost(int32, tag = "5")]
    pub consecutive_failures: i32,
}
impl ::prost::Name for State {
    const NAME: &'static str = "State";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.msg.State".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.msg.State".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StateStamped {
    #[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, optional, tag = "3")]
    pub device_info: ::core::option::Option<Info>,
    #[prost(message, optional, tag = "4")]
    pub device_data: ::core::option::Option<State>,
}
impl ::prost::Name for StateStamped {
    const NAME: &'static str = "StateStamped";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.msg.StateStamped".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.msg.StateStamped".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConnectionState {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, repeated, tag = "2")]
    pub devices: ::prost::alloc::vec::Vec<DeviceConnectionInfo>,
}
impl ::prost::Name for ConnectionState {
    const NAME: &'static str = "ConnectionState";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.msg.ConnectionState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.msg.ConnectionState".into()
    }
}
