// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetCommandsRequest {
    #[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(int32, tag = "3")]
    pub max_repeats: i32,
    #[prost(bool, tag = "4")]
    pub set_commands: bool,
    #[prost(bool, tag = "5")]
    pub set_commands_async: bool,
    #[prost(int32, repeated, tag = "6")]
    pub commands: ::prost::alloc::vec::Vec<i32>,
}
impl ::prost::Name for SetCommandsRequest {
    const NAME: &'static str = "SetCommandsRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.srv.SetCommandsRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.srv.SetCommandsRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetCommandsResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(int32, tag = "3")]
    pub failures: i32,
}
impl ::prost::Name for SetCommandsResponse {
    const NAME: &'static str = "SetCommandsResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.srv.SetCommandsResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.srv.SetCommandsResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InitializeDeviceRequest {
    #[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 activate: bool,
    #[prost(bool, tag = "4")]
    pub rescan: bool,
    #[prost(int32, tag = "5")]
    pub max_repeats: i32,
}
impl ::prost::Name for InitializeDeviceRequest {
    const NAME: &'static str = "InitializeDeviceRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.srv.InitializeDeviceRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.srv.InitializeDeviceRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InitializeDeviceResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(int32, tag = "3")]
    pub failures: i32,
    #[prost(string, tag = "4")]
    pub message: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "5")]
    pub info: ::core::option::Option<super::msg::Info>,
}
impl ::prost::Name for InitializeDeviceResponse {
    const NAME: &'static str = "InitializeDeviceResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.srv.InitializeDeviceResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.srv.InitializeDeviceResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TriggerRequest {
    #[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(int32, tag = "3")]
    pub max_repeats: i32,
}
impl ::prost::Name for TriggerRequest {
    const NAME: &'static str = "TriggerRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.srv.TriggerRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.srv.TriggerRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TriggerResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(int32, tag = "3")]
    pub failures: i32,
    #[prost(string, tag = "4")]
    pub message: ::prost::alloc::string::String,
}
impl ::prost::Name for TriggerResponse {
    const NAME: &'static str = "TriggerResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.srv.TriggerResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.srv.TriggerResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetControlModeRequest {
    #[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(int32, tag = "3")]
    pub max_repeats: i32,
    #[prost(string, tag = "4")]
    pub control: ::prost::alloc::string::String,
}
impl ::prost::Name for SetControlModeRequest {
    const NAME: &'static str = "SetControlModeRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.srv.SetControlModeRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.srv.SetControlModeRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetControlModeResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(int32, tag = "3")]
    pub failures: i32,
}
impl ::prost::Name for SetControlModeResponse {
    const NAME: &'static str = "SetControlModeResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.srv.SetControlModeResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.srv.SetControlModeResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetPidRequest {
    #[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(int32, tag = "3")]
    pub max_repeats: i32,
    #[prost(float, tag = "4")]
    pub p: f32,
    #[prost(float, tag = "5")]
    pub i: f32,
    #[prost(float, tag = "6")]
    pub d: f32,
}
impl ::prost::Name for SetPidRequest {
    const NAME: &'static str = "SetPidRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.srv.SetPidRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.srv.SetPidRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetPidResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(int32, tag = "3")]
    pub failures: i32,
}
impl ::prost::Name for SetPidResponse {
    const NAME: &'static str = "SetPidResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.srv.SetPidResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.srv.SetPidResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMeasurementsRequest {
    #[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(int32, tag = "3")]
    pub max_repeats: i32,
    #[prost(bool, tag = "4")]
    pub get_positions: bool,
    #[prost(bool, tag = "5")]
    pub get_currents: bool,
    #[prost(bool, tag = "6")]
    pub get_commands: bool,
}
impl ::prost::Name for GetMeasurementsRequest {
    const NAME: &'static str = "GetMeasurementsRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.srv.GetMeasurementsRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.srv.GetMeasurementsRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMeasurementsResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(int32, tag = "3")]
    pub failures: i32,
    #[prost(int32, repeated, tag = "4")]
    pub positions: ::prost::alloc::vec::Vec<i32>,
    #[prost(int32, repeated, tag = "5")]
    pub currents: ::prost::alloc::vec::Vec<i32>,
    #[prost(int32, repeated, tag = "6")]
    pub commands: ::prost::alloc::vec::Vec<i32>,
    #[prost(message, optional, tag = "7")]
    pub stamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
}
impl ::prost::Name for GetMeasurementsResponse {
    const NAME: &'static str = "GetMeasurementsResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.qb_device_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.qb_device_msgs.srv.GetMeasurementsResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.qb_device_msgs.srv.GetMeasurementsResponse".into()
    }
}
