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 <ros/node_handle.h>
41 #include <ethercat_trigger_controllers/SetMultiWaveform.h>
42 #include <ethercat_trigger_controllers/MultiWaveform.h>
44 #include <std_msgs/Header.h>
45 #include <boost/scoped_ptr.hpp>
46 
53 namespace controller
54 {
56 {
57 typedef ethercat_trigger_controllers::MultiWaveform config_t;
58 public:
60 
62 
63  void update();
64 
66 
67 private:
68  boost::mutex config_mutex_; // Held while config_ is changing.
69 
71  ethercat_trigger_controllers::SetMultiWaveform::Request &req,
72  ethercat_trigger_controllers::SetMultiWaveform::Response &resp);
73 
76 
77  // Information about the next transition
80  unsigned int transition_index_;
81 
85 
86  std::vector<boost::shared_ptr<realtime_tools::RealtimePublisher<std_msgs::Header> > > pubs_;
87 
88  // Configuration of controller.
89  config_t config_;
90  std::string digital_output_name_;
91 };
92 
93 };
94 
95 #endif
96 
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 Wed Jun 5 2019 19:33:55