<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -18,6 +18,9 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include &quot;Kuka361DWHConvertor.hpp&quot;
+#include &lt;ocl/ComponentLoader.hpp&gt;
+
+ORO_LIST_COMPONENT_TYPE( OCL::Kuka361DWHConvertor )
 
 namespace OCL{
     using namespace std;
@@ -40,17 +43,31 @@ namespace OCL{
         ports()-&gt;addPort(&amp;geometric_velocities);
     }
     
-    bool Kuka361DWHConvertor::startHook(){
-        return (naxes_positions.Get().size()==6)&amp;&amp;
-            (geometric_velocities.Get().size()==6);
+    void Kuka361DWHConvertor::updateHook()
+    {
+        if((naxes_positions.Get().size()==6)&amp;&amp;
+           (geometric_velocities.Get().size()==6)){
+            Kuka361DWH::convertGeometric(naxes_positions.Get(),geometric_velocities.Get(),
+                                         geometric_positions_local,naxes_velocities_local);
+            naxes_velocities.Set(naxes_velocities_local);
+            geometric_positions.Set(geometric_positions_local);
+        }else{
+            naxes_velocities.Set(vector&lt;double&gt;(6,0.0));
+            geometric_positions.Set(vector&lt;double&gt;(6,0.0));
+            this-&gt;error();
+        }
     }
     
-    void Kuka361DWHConvertor::updateHook(){
-        
-        Kuka361DWH::convertGeometric(naxes_positions.Get(),geometric_velocities.Get(),
-                                     geometric_positions_local,naxes_velocities_local);
-        naxes_velocities.Set(naxes_velocities_local);
-        geometric_positions.Set(geometric_positions_local);
+    
+    void Kuka361DWHConvertor::errorHook()
+    {
+        if((naxes_positions.Get().size()==6)&amp;&amp;
+           (geometric_velocities.Get().size()==6)){
+            this-&gt;recovered();
+        }
     }
+    
 }
-        
+
+
+    </diff>
      <filename>hardware/kuka/Kuka361DWHConvertor.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -30,9 +30,10 @@ namespace OCL{
         Kuka361DWHConvertor(const std::string&amp; name);
         ~Kuka361DWHConvertor(){};
         
-        virtual bool startHook();
+        virtual bool startHook(){return true;};
         virtual void updateHook();
         virtual void stopHook(){};
+        virtual void errorHook();
         
     private:
         std::vector&lt;double&gt; naxes_positions_local, geometric_positions_local,</diff>
      <filename>hardware/kuka/Kuka361DWHConvertor.hpp</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>bcc7e5cb2961dd28ab67a02e7c4929d82d2ea1c3</id>
    </parent>
  </parents>
  <author>
    <name>rsmits</name>
    <email>rsmits@ce417995-dfc9-0310-95a0-acdaff106893</email>
  </author>
  <url>http://github.com/doudou/orocos-ocl/commit/b6fd5df8ecdb4c6e4292a3058d571b0c9d42e018</url>
  <id>b6fd5df8ecdb4c6e4292a3058d571b0c9d42e018</id>
  <committed-date>2008-10-23T06:04:48-07:00</committed-date>
  <authored-date>2008-10-23T06:04:48-07:00</authored-date>
  <message>Added error state

git-svn-id: https://svn.mech.kuleuven.be/repos/orocos/trunk/ocl@29704 ce417995-dfc9-0310-95a0-acdaff106893</message>
  <tree>b1cbeb98f73474f744c9e2f05e385b12b8e8e919</tree>
  <committer>
    <name>rsmits</name>
    <email>rsmits@ce417995-dfc9-0310-95a0-acdaff106893</email>
  </committer>
</commit>
