From 3a793d6b3c062ad46c228aadac307ec8ec2fd1a4 Mon Sep 17 00:00:00 2001
From: smartinezs <smartinezs@upc.iri.edu>
Date: Tue, 21 Dec 2021 12:50:36 +0100
Subject: [PATCH] adding condition to read messages bigger than 0

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

diff --git a/src/dynamixel_can.cpp b/src/dynamixel_can.cpp
index f512a82..d29ca29 100644
--- a/src/dynamixel_can.cpp
+++ b/src/dynamixel_can.cpp
@@ -207,7 +207,7 @@ unsigned char CDynamixelCAN::receive_status_packet_v2(unsigned char **data,unsig
       do{
         if((num=((CCAN *)this->comm_dev)->get_num_data(this->rx_frame_id))==0)
         {
-          this->event_server->wait_all(events,100);
+          this->event_server->wait_all(events,300);
           num=((CCAN *)this->comm_dev)->get_num_data(this->rx_frame_id);
         }
         if((read+num)>1024)
@@ -217,7 +217,9 @@ unsigned char CDynamixelCAN::receive_status_packet_v2(unsigned char **data,unsig
         }
         else
         {
-          ((CCAN *)this->comm_dev)->read(this->rx_frame_id,&data_int[read],num);
+          
+          if(num!=0)
+            ((CCAN *)this->comm_dev)->read(this->rx_frame_id,&data_int[read],num); 
           read+=num;
         }
         this->sync_packet_v2(data_int,read,&start);
diff --git a/src/dynamixelserver_can.cpp b/src/dynamixelserver_can.cpp
index 26dcd56..be8a152 100644
--- a/src/dynamixelserver_can.cpp
+++ b/src/dynamixelserver_can.cpp
@@ -253,7 +253,8 @@ unsigned char CDynamixelServerCAN::receive_status_packet_v2(unsigned char **data
         }
         else
         {
-          ((CCAN *)this->comm_dev)->read(this->bus_info.rx_frame_id,&data_int[read],num);
+          if(num != 0)
+            ((CCAN *)this->comm_dev)->read(this->bus_info.rx_frame_id,&data_int[read],num);
           read+=num;
         }
         this->sync_packet_v2(data_int,read,&start);
-- 
GitLab