my_robot_hw.cpp
Go to the documentation of this file.
00001 
00002 // Copyright (C) 2012, hiDOF INC.
00003 //
00004 // Redistribution and use in source and binary forms, with or without
00005 // modification, are permitted provided that the following conditions are met:
00006 //   * Redistributions of source code must retain the above copyright notice,
00007 //     this list of conditions and the following disclaimer.
00008 //   * Redistributions in binary form must reproduce the above copyright
00009 //     notice, this list of conditions and the following disclaimer in the
00010 //     documentation and/or other materials provided with the distribution.
00011 //   * Neither the name of hiDOF Inc nor the names of its
00012 //     contributors may be used to endorse or promote products derived from
00013 //     this software without specific prior written permission.
00014 //
00015 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00016 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00017 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00018 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
00019 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00020 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00021 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00022 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00023 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00024 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00025 // POSSIBILITY OF SUCH DAMAGE.
00027 
00028 /*
00029  * Author: Wim Meeussen
00030  */
00031 
00032 
00033 #include <controller_manager_tests/my_robot_hw.h>
00034 
00035 namespace controller_manager_tests
00036 {
00037 
00038 MyRobotHW::MyRobotHW()
00039 {
00040   using namespace hardware_interface;
00041 
00042   // Initialize raw data
00043   joint_position_.resize(3);
00044   joint_velocity_.resize(3);
00045   joint_effort_.resize(3);
00046   joint_effort_command_.resize(3);
00047   joint_velocity_command_.resize(3);
00048   joint_name_.resize(3);
00049 
00050   joint_name_[0] = "hiDOF_joint1";
00051   joint_position_[0] = 1.0;
00052   joint_velocity_[0] = 0.0;
00053   joint_effort_[0] = 0.1;
00054   joint_effort_command_[0] = 0.0;
00055   joint_velocity_command_[0] = 0.0;
00056 
00057   joint_name_[1] = "hiDOF_joint2";
00058   joint_position_[1] = 1.0;
00059   joint_velocity_[1] = 0.0;
00060   joint_effort_[1] = 0.1;
00061   joint_effort_command_[1] = 0.0;
00062   joint_velocity_command_[1] = 0.0;
00063 
00064   joint_name_[2] = "hiDOF_joint3";
00065   joint_position_[2] = 1.0;
00066   joint_velocity_[2] = 0.0;
00067   joint_effort_[2] = 0.1;
00068   joint_effort_command_[2] = 0.0;
00069   joint_velocity_command_[2] = 0.0;
00070 
00071   // Populate hardware interfaces
00072   js_interface_.registerHandle(JointStateHandle(joint_name_[0], &joint_position_[0], &joint_velocity_[0], &joint_effort_[0]));
00073   js_interface_.registerHandle(JointStateHandle(joint_name_[1], &joint_position_[1], &joint_velocity_[1], &joint_effort_[1]));
00074   js_interface_.registerHandle(JointStateHandle(joint_name_[2], &joint_position_[2], &joint_velocity_[2], &joint_effort_[2]));
00075 
00076   ej_interface_.registerHandle(JointHandle(js_interface_.getHandle(joint_name_[0]), &joint_effort_command_[0]));
00077   ej_interface_.registerHandle(JointHandle(js_interface_.getHandle(joint_name_[1]), &joint_effort_command_[1]));
00078   ej_interface_.registerHandle(JointHandle(js_interface_.getHandle(joint_name_[2]), &joint_effort_command_[2]));
00079 
00080   vj_interface_.registerHandle(JointHandle(js_interface_.getHandle(joint_name_[0]), &joint_velocity_command_[0]));
00081   vj_interface_.registerHandle(JointHandle(js_interface_.getHandle(joint_name_[1]), &joint_velocity_command_[1]));
00082   vj_interface_.registerHandle(JointHandle(js_interface_.getHandle(joint_name_[2]), &joint_velocity_command_[2]));
00083 
00084   registerInterface(&js_interface_);
00085   registerInterface(&ej_interface_);
00086   registerInterface(&vj_interface_);
00087 }
00088 
00089 
00090 void MyRobotHW::read()
00091 {
00092 
00093 }
00094 
00095 void MyRobotHW::write()
00096 {
00097 }
00098 
00099 }


controller_manager_tests
Author(s): Vijay Pradeep, Adolfo Rodriguez Tsouroukdissian
autogenerated on Thu Dec 1 2016 03:46:03