ronex_mapping.hpp
Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2013, Shadow Robot Company, All rights reserved.
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 3.0 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library.
00016  */
00017 
00025 #ifndef _RONEX_MAPPING_H_
00026 #define _RONEX_MAPPING_H_
00027 
00028 #include <ros_ethercat_model/robot_state.hpp>
00029 #include <ros_ethercat_model/transmission.hpp>
00030 
00031 namespace ronex
00032 {
00033 class RonexMapping
00034 {
00035 public:
00036   RonexMapping()
00037     : first_iteration_(true), is_initialized_(false)
00038   {};
00039 
00046   virtual void propagateFromRonex(ros_ethercat_model::JointState *js) = 0;
00047 
00054   virtual void propagateToRonex(ros_ethercat_model::JointState *js) = 0;
00055 
00056 protected:
00057   ros::NodeHandle nh_;
00058   bool first_iteration_;
00059 
00061   bool is_initialized_;
00063   ros::Timer init_timer_;
00068   virtual bool try_init_cb_(const ros::TimerEvent&, TiXmlElement* mapping_el, ros_ethercat_model::RobotState* robot,
00069   const char* ronex_name) = 0;
00070 };
00071 }  // namespace ronex
00072 
00073 /* For the emacs weenies in the crowd.
00074    Local Variables:
00075    c-basic-offset: 2
00076    End:
00077 */
00078 
00079 #endif /* _RONEX_MAPPING_H_ */


sr_ronex_transmissions
Author(s): Ugo Cupcic, Toni Oliver, Mark Pitchless
autogenerated on Thu Jun 6 2019 21:21:55