include
gpio_controller
gpio_controller.h
Go to the documentation of this file.
1
//
2
// Created by myx on 2022/4/29.
3
//
4
5
#pragma once
6
7
#include <
controller_interface/controller.h
>
8
#include <
controller_interface/multi_interface_controller.h
>
9
#include <
realtime_tools/realtime_publisher.h
>
10
#include <
rm_common/hardware_interface/gpio_interface.h
>
11
#include <rm_msgs/GpioData.h>
12
13
namespace
gpio_controller
14
{
15
class
Controller
:
public
controller_interface::MultiInterfaceController
<rm_control::GpioStateInterface,
16
rm_control::GpioCommandInterface>
17
{
18
public
:
19
Controller
() =
default
;
20
21
bool
init
(
hardware_interface::RobotHW
* robot_hw,
ros::NodeHandle
& root_nh,
ros::NodeHandle
& controller_nh)
override
;
22
23
void
update
(
const
ros::Time
& time,
const
ros::Duration
& period)
override
;
24
25
private
:
26
void
setGpioCmd
(
const
rm_msgs::GpioDataConstPtr& msg);
27
28
std::vector<rm_control::GpioStateHandle>
gpio_state_handles_
;
29
std::vector<rm_control::GpioCommandHandle>
gpio_command_handles_
;
30
31
ros::Subscriber
cmd_subscriber_
;
32
typedef
std::shared_ptr<realtime_tools::RealtimePublisher<rm_msgs::GpioData>>
RtpublisherPtr
;
33
RtpublisherPtr
gpio_state_pub_
;
34
};
35
}
// namespace gpio_controller
realtime_publisher.h
gpio_controller::Controller::gpio_state_handles_
std::vector< rm_control::GpioStateHandle > gpio_state_handles_
Definition:
gpio_controller.h:28
gpio_controller::Controller::cmd_subscriber_
ros::Subscriber cmd_subscriber_
Definition:
gpio_controller.h:31
gpio_controller::Controller::Controller
Controller()=default
gpio_controller::Controller::gpio_state_pub_
RtpublisherPtr gpio_state_pub_
Definition:
gpio_controller.h:33
controller.h
hardware_interface::RobotHW
controller_interface::MultiInterfaceController
gpio_controller::Controller
Definition:
gpio_controller.h:15
gpio_controller::Controller::init
bool init(hardware_interface::RobotHW *robot_hw, ros::NodeHandle &root_nh, ros::NodeHandle &controller_nh) override
Definition:
gpio_controller.cpp:11
ros::Time
gpio_controller::Controller::setGpioCmd
void setGpioCmd(const rm_msgs::GpioDataConstPtr &msg)
Definition:
gpio_controller.cpp:63
gpio_controller::Controller::update
void update(const ros::Time &time, const ros::Duration &period) override
Definition:
gpio_controller.cpp:50
gpio_controller
Definition:
gpio_controller.h:13
gpio_controller::Controller::gpio_command_handles_
std::vector< rm_control::GpioCommandHandle > gpio_command_handles_
Definition:
gpio_controller.h:29
ros::Duration
gpio_controller::Controller::RtpublisherPtr
std::shared_ptr< realtime_tools::RealtimePublisher< rm_msgs::GpioData > > RtpublisherPtr
Definition:
gpio_controller.h:32
ros::NodeHandle
ros::Subscriber
gpio_interface.h
multi_interface_controller.h
gpio_controller
Author(s):
autogenerated on Sun May 4 2025 02:57:09