multi_trigger_controller.h
Go to the documentation of this file.
1 
2 /*********************************************************************
3  * Software License Agreement (BSD License)
4  *
5  * Copyright (c) 2009, Willow Garage, Inc.
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * * Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  * * Redistributions in binary form must reproduce the above
15  * copyright notice, this list of conditions and the following
16  * disclaimer in the documentation and/or other materials provided
17  * with the distribution.
18  * * Neither the name of the Willow Garage nor the names of its
19  * contributors may be used to endorse or promote products derived
20  * from this software without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33  * POSSIBILITY OF SUCH DAMAGE.
34  *********************************************************************/
35 #ifndef TRIGGER_CONTROLLER_H
36 #define TRIGGER_CONTROLLER_H
37 
38 #include <vector>
39 
40 #include <ros/node_handle.h>
43 #include <ethercat_trigger_controllers/SetMultiWaveform.h>
44 #include <ethercat_trigger_controllers/MultiWaveform.h>
46 #include <std_msgs/Header.h>
47 #include <boost/shared_ptr.hpp>
48 #include <boost/thread/mutex.hpp>
49 
56 namespace controller
57 {
59 {
60 typedef ethercat_trigger_controllers::MultiWaveform config_t;
61 public:
63 
65 
66  void update();
67 
69 
70 private:
71  boost::mutex config_mutex_; // Held while config_ is changing.
72 
74  ethercat_trigger_controllers::SetMultiWaveform::Request &req,
75  ethercat_trigger_controllers::SetMultiWaveform::Response &resp);
76 
79 
80  // Information about the next transition
83  unsigned int transition_index_;
84 
88 
89  std::vector<boost::shared_ptr<realtime_tools::RealtimePublisher<std_msgs::Header> > > pubs_;
90 
91  // Configuration of controller.
92  config_t config_;
93  std::string digital_output_name_;
94 };
95 
96 };
97 
98 #endif
99 
ethercat_trigger_controllers::MultiWaveform config_t
pr2_mechanism_model::RobotState * robot_
std::vector< boost::shared_ptr< realtime_tools::RealtimePublisher< std_msgs::Header > > > pubs_
bool init(pr2_mechanism_model::RobotState *robot, ros::NodeHandle &n)
pr2_hardware_interface::DigitalOutCommand * digital_out_command_
bool setMultiWaveformSrv(ethercat_trigger_controllers::SetMultiWaveform::Request &req, ethercat_trigger_controllers::SetMultiWaveform::Response &resp)


ethercat_trigger_controllers
Author(s): Blaise Gassend
autogenerated on Sat Nov 12 2022 03:16:21