Skip to content

PbDigitalAccess

vcoelen edited this page Nov 20, 2014 · 1 revision

Correction de bug du topic /digital_readings. Le problème est probablement issu d'une évolution de l'API2 de robotino non reportée dans le noeud ROS. Les modifications à faire sont les suivantes :

  • Dans le fichier ~/catkin_ws/src/robotino-ros-pkg/robotino_node/include/DigitalInputArrayROS.h.
    Modifier le prototype de fonction :
    void valuesChangedEvent(const bool* values, unsigned int size);
    en
    virtual void valuesChangedEvent(const int* values, unsigned int size);

  • Dans le fichier ~/catkin_ws/src/robotino-ros-pkg/robotino_node/src/DigitalInputArrayROS.cpp
    Modifier le nom de la fonction :
    void DigitalInputArrayROS::valuesChangedEvent(const bool* values, unsigned int size)
    en
    void DigitalInputArrayROS::valuesChangedEvent(const int* values, unsigned int size)

  • Dans le corps de la fonction : remplacer la ligne 33 :
    memcpy( digital_msg_.values.data(), values, size * sizeof( bool ) );
    par le code suivant :

    for (int idx=0; idx<size; ++idx) 
     { 
         digital_msg_.values[idx] = (bool)values[idx]; 
     }
  • et recompiler le package robotino.

TODO faire le même type de modification pour le topic /set_digital_values

Clone this wiki locally