diff --git a/src/dynamixel.cpp b/src/dynamixel.cpp index 1d55e9be5fb0b7d3e1ed60a5ce6870a0756bf2db..5b4d047cc40ba129062a8522ffd297bdbd2dc47d 100644 --- a/src/dynamixel.cpp +++ b/src/dynamixel.cpp @@ -200,7 +200,7 @@ unsigned char CDynamixel::receive_status_packet_v1(unsigned char **data,unsigned unsigned char CDynamixel::receive_status_packet_v2(unsigned char **data,unsigned short int *len) { std::list<std::string> events; - unsigned char data_int[256]; + unsigned char data_int[1024]; int num=0,read=0,length=0,start=0; unsigned short int crc; @@ -216,10 +216,10 @@ unsigned char CDynamixel::receive_status_packet_v2(unsigned char **data,unsigned this->event_server->wait_all(events,500); num=this->comm_dev->get_num_data(); } - if((read+num)>256) + if((read+num)>1024) { - this->comm_dev->read(&data_int[read],256-read); - read=256; + this->comm_dev->read(&data_int[read],1024-read); + read=1024; } else { @@ -237,10 +237,10 @@ unsigned char CDynamixel::receive_status_packet_v2(unsigned char **data,unsigned this->event_server->wait_all(events,500); num=this->comm_dev->get_num_data(); } - if((read-start+num)>256) + if((read-start+num)>1024) { - this->comm_dev->read(&data_int[read],256-read); - read=256; + this->comm_dev->read(&data_int[read],1024-read); + read=1024; } else { @@ -447,7 +447,7 @@ void CDynamixel::resync(void) do{ try{ this->comm_dev->write(&foo,1); - this->event_server->wait_all(events,100); + this->event_server->wait_all(events,500); num=this->comm_dev->get_num_data(); data=new unsigned char[num]; this->comm_dev->read(data,num);