61     ROS_ERROR(
"ATTENTION: YOU HAVE AN INCORRECT PARAMETER FILE!!!");
    72                                                std::vector<float>& my_vector)
    76   for (
size_t i = 0; i < (unsigned) my_array.
size(); ++i)
    83       my_vector.push_back(static_cast<double>(my_array[i]));
    87       int value = my_array[i];
    88       my_vector.push_back(static_cast<double>(value));
   100                                 const uint16_t minor_version_target,
   103   ROS_INFO(
"Trying to search controller parameters for version: %d.%d", major_version_target, minor_version_target);
   108   if ( 0 == major_version_target || 5 < major_version_target )
   110     ROS_ERROR(
"Could not establish connection to Schunk SVH. Please check connections and power source!");
   114   if (0 < parameters.
size())
   116     ROS_DEBUG(
"There exist %d different parameter versions", parameters.
size());
   117     for (
size_t i = 0; i < (unsigned) parameters.
size(); ++i)
   122       uint16_t major_version_read = int(parameter_set_yaml[
"major_version"]);
   123       uint16_t minor_version_read = int(parameter_set_yaml[
"minor_version"]);
   126         ROS_DEBUG(
"Skipping version %d.%d as better matching version was already found",
   133       bool is_correct_version    = major_version_read == major_version_target
   134                                 && minor_version_read == minor_version_target;
   135       bool is_same_major_version = major_version_read == major_version_target
   136                                 && minor_version_read <= minor_version_target;
   137       bool is_default_state      = major_version_read == 0
   138                                 && minor_version_read == 0;
   140       if (is_correct_version || is_same_major_version || is_default_state)
   142         ROS_DEBUG(
"major version: %d minor version: %d", major_version_read, minor_version_read);
   144         for (std::map<driver_svh::SVHChannel, std::string>::iterator it = 
m_name_to_enum.begin();
   150           if (parameter_set_yaml.
hasMember(it->second))
   152             ROS_DEBUG(
"Parameter Name: %s", it->second.c_str());
   163             std::stringstream error_stream;
   164             error_stream << 
"Could not find parameters for channel " << it->second;
   170         if (is_default_state)
   172           is_default_state = 
false;
   174         else if (is_correct_version)
   176           ROS_INFO(
"Did find correct version");
   181           ROS_DEBUG(
"Did find same major version");
   186   ROS_WARN_STREAM(
"DID NOT FIND EXACT VERSION: " << major_version_target << 
"."   187                                                  << minor_version_target
   188                                                  << 
" Falling back to: " 
const std::string & getMessage() const 
 
DynamicParameter(const uint16_t major_version, const uint16_t minor_version, XmlRpc::XmlRpcValue ¶meters)
DynamicParameter constructs a new dynamic parameter handler. 
 
std::vector< bool > home_settings_given
 
Settings m_settings
Stores the settings received by the firmware. 
 
std::map< driver_svh::SVHChannel, std::string > m_name_to_enum
Stores an enum-string matching map. 
 
std::vector< bool > position_settings_given
 
std::vector< std::vector< float > > position_settings
 
std::vector< std::vector< float > > home_settings
 
std::vector< bool > current_settings_given
 
bool xml_rpc_value_to_vector(XmlRpc::XmlRpcValue my_array, std::vector< float > &my_vector)
Converts the given XmlRpcValue array to a std:vector /param my_array XmlRpcValue array created by rea...
 
#define ROS_WARN_STREAM(args)
 
bool hasMember(const std::string &name) const 
 
#define ROS_ERROR_STREAM(args)
 
void parse_parameters(const uint16_t major_version, const uint16_t minor_version, XmlRpc::XmlRpcValue ¶meters)
This method parses the given XmlRpcValue array and sets the corresponding parameters. 
 
std::vector< std::vector< float > > current_settings