From 6b2ff973b019ed6adfb9991c9752ff1e893b6e4f Mon Sep 17 00:00:00 2001
From: smartinezs <smartinezs@upc.iri.edu>
Date: Mon, 19 Apr 2021 12:11:56 +0200
Subject: [PATCH] updating timeouts, solving 0 value bug

---
 src/dynamixel_can.cpp       | 7 ++++---
 src/dynamixelserver_can.cpp | 8 ++++----
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/dynamixel_can.cpp b/src/dynamixel_can.cpp
index d023386..2fd46f5 100644
--- a/src/dynamixel_can.cpp
+++ b/src/dynamixel_can.cpp
@@ -122,7 +122,7 @@ unsigned char CDynamixelCAN::receive_status_packet_v1(unsigned char **data,unsig
       do{
         if((num=((CCAN *)this->comm_dev)->get_num_bytes(this->rx_frame_id))==0)
         {
-          this->event_server->wait_all(events,100);
+          this->event_server->wait_all(events,500);
           num=((CCAN *)this->comm_dev)->get_num_bytes(rx_frame_id);
         }
         if((read+num)>1024)
@@ -132,7 +132,8 @@ unsigned char CDynamixelCAN::receive_status_packet_v1(unsigned char **data,unsig
         }
         else
         {
-          ((CCAN *)this->comm_dev)->read(rx_frame_id,&data_int[read],num);
+          if(num != 0)
+            ((CCAN *)this->comm_dev)->read(rx_frame_id,&data_int[read],num);
           read+=num;
         }
         this->sync_packet_v1(data_int,read,&start);  
@@ -143,7 +144,7 @@ unsigned char CDynamixelCAN::receive_status_packet_v1(unsigned char **data,unsig
       {
         if((num=((CCAN *)this->comm_dev)->get_num_bytes(this->rx_frame_id))==0)
         {
-          this->event_server->wait_all(events,100);
+          this->event_server->wait_all(events,500);
           num=((CCAN *)this->comm_dev)->get_num_bytes(this->rx_frame_id);
         }
         if((read-start+num)>length)
diff --git a/src/dynamixelserver_can.cpp b/src/dynamixelserver_can.cpp
index 8ebe02b..64259c1 100644
--- a/src/dynamixelserver_can.cpp
+++ b/src/dynamixelserver_can.cpp
@@ -160,7 +160,7 @@ unsigned char CDynamixelServerCAN::receive_status_packet_v1(unsigned char **data
       do{
         if((num=((CCAN *)this->comm_dev)->get_num_bytes(this->bus_info.rx_frame_id))==0)
         {
-          this->event_server->wait_all(events,20);
+          this->event_server->wait_all(events,200);
           num=((CCAN *)this->comm_dev)->get_num_bytes(this->bus_info.rx_frame_id);
         }
         if((read+num)>1024)
@@ -181,7 +181,7 @@ unsigned char CDynamixelServerCAN::receive_status_packet_v1(unsigned char **data
       {
         if((num=((CCAN *)this->comm_dev)->get_num_bytes(this->bus_info.rx_frame_id))==0)
         {
-          this->event_server->wait_all(events,20);
+          this->event_server->wait_all(events,200);
           num=((CCAN *)this->comm_dev)->get_num_bytes(this->bus_info.rx_frame_id);
         }
         if((read-start+num)>length)
@@ -243,7 +243,7 @@ unsigned char CDynamixelServerCAN::receive_status_packet_v2(unsigned char **data
       do{
         if((num=((CCAN *)this->comm_dev)->get_num_bytes(this->bus_info.rx_frame_id))==0)
         {
-          this->event_server->wait_all(events,20);
+          this->event_server->wait_all(events,200);
           num=((CCAN *)this->comm_dev)->get_num_bytes(this->bus_info.rx_frame_id);
         }
         if((read+num)>1024)
@@ -264,7 +264,7 @@ unsigned char CDynamixelServerCAN::receive_status_packet_v2(unsigned char **data
       {
         if((num=((CCAN *)this->comm_dev)->get_num_bytes(this->bus_info.rx_frame_id))==0)
         {
-          this->event_server->wait_all(events,20);
+          this->event_server->wait_all(events,200);
           num=((CCAN *)this->comm_dev)->get_num_bytes(this->bus_info.rx_frame_id);
         }
         if((read-start+num)>length)
-- 
GitLab