Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00026 #include <sr_ronex_drivers/standard_ethercat_device.h>
00027
00028 #include <sstream>
00029 #include <iomanip>
00030 #include <boost/foreach.hpp>
00031
00032 #include <math.h>
00033
00034 PLUGINLIB_EXPORT_CLASS(StandardEthercatDevice, EthercatDevice);
00035
00036 int StandardEthercatDevice::initialize(hardware_interface::HardwareInterface *hw, bool allow_unprogrammed)
00037 {
00038 ROS_INFO("Device #%02d: Product code: %u (%#010X) , Serial #: %u (%#010X)",
00039 sh_->get_ring_position(),
00040 sh_->get_product_code(),
00041 sh_->get_product_code(),
00042 sh_->get_serial(),
00043 sh_->get_serial());
00044
00045 device_offset_ = sh_->get_ring_position();
00046
00047 if ((command_size_ > 0) || (status_size_ > 0))
00048 {
00049 cod_decod_manager_.reset(new sr_cod_decod::CodDecodManager(hw, sh_, n_digital_outputs, n_analog_outputs,
00050 n_digital_inputs, n_analog_inputs, n_PWM_outputs));
00051 }
00052
00053 return 0;
00054 }