diff --git a/src/dynamixel_can.cpp b/src/dynamixel_can.cpp index d023386cf78a4cb9bd94a6c5e11921738e135cbf..2fd46f5a0c6b74d1a6b1e5fa60025ad1e66775dd 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 8ebe02bee1f887a7f61a6ef7ec3baf39b9573d63..64259c174ac6431cfc90f960c0c58b0d65d3e761 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)