Skip to content
Snippets Groups Projects
Commit 60b6f129 authored by Sergi Hernandez's avatar Sergi Hernandez
Browse files

Solved a problem with the checksum error check.

parent cbe4ddbc
No related branches found
No related tags found
No related merge requests found
......@@ -112,6 +112,7 @@ void CDynamixel::read_byte_register(unsigned char address,unsigned char *value)
if(this->usb_dev!=NULL)
{
events.push_back(this->usb_rx_event_id);
while(!rx_tx_ok)
{
this->usb_access->enter();
......@@ -128,7 +129,6 @@ void CDynamixel::read_byte_register(unsigned char address,unsigned char *value)
}
else
{
events.push_back(this->usb_rx_event_id);
try{
while(read<7)
{
......@@ -147,6 +147,8 @@ void CDynamixel::read_byte_register(unsigned char address,unsigned char *value)
it++;
if(it==NUM_RETRIES)
throw CDynamixelSyncException("Invalid packet checksum");
else
read=0;
}
else
{
......@@ -198,6 +200,7 @@ void CDynamixel::read_word_register(unsigned char address,unsigned short int *va
if(this->usb_dev!=NULL)
{
events.push_back(this->usb_rx_event_id);
while(!rx_tx_ok)
{
this->usb_access->enter();
......@@ -214,7 +217,6 @@ void CDynamixel::read_word_register(unsigned char address,unsigned short int *va
}
else
{
events.push_back(this->usb_rx_event_id);
try{
while(read<8)
{
......@@ -233,6 +235,8 @@ void CDynamixel::read_word_register(unsigned char address,unsigned short int *va
it++;
if(it==NUM_RETRIES)
throw CDynamixelSyncException("Invalid packet checksum");
else
read=0;
}
else
{
......@@ -284,6 +288,7 @@ void CDynamixel::write_byte_register(unsigned char address, unsigned char data)
if(this->usb_dev!=NULL)
{
events.push_back(this->usb_rx_event_id);
while(!rx_tx_ok)
{
this->usb_access->enter();
......@@ -300,7 +305,6 @@ void CDynamixel::write_byte_register(unsigned char address, unsigned char data)
}
else
{
events.push_back(this->usb_rx_event_id);
try{
while(read<6)
{
......@@ -319,6 +323,8 @@ void CDynamixel::write_byte_register(unsigned char address, unsigned char data)
it++;
if(it==NUM_RETRIES)
throw CDynamixelSyncException("Invalid packet checksum");
else
read=0;
}
else
{
......@@ -369,6 +375,7 @@ void CDynamixel::write_word_register(unsigned char address, unsigned short int d
if(this->usb_dev!=NULL)
{
events.push_back(this->usb_rx_event_id);
while(!rx_tx_ok)
{
this->usb_access->enter();
......@@ -386,7 +393,6 @@ void CDynamixel::write_word_register(unsigned char address, unsigned short int d
}
else
{
events.push_back(this->usb_rx_event_id);
try{
while(read<6)
{
......@@ -405,6 +411,8 @@ void CDynamixel::write_word_register(unsigned char address, unsigned short int d
it++;
if(it==NUM_RETRIES)
throw CDynamixelSyncException("Invalid packet checksum");
else
read=0;
}
else
{
......@@ -455,6 +463,7 @@ void CDynamixel::registered_byte_write(unsigned char address, unsigned char data
if(this->usb_dev!=NULL)
{
events.push_back(this->usb_rx_event_id);
while(!rx_tx_ok)
{
this->usb_access->enter();
......@@ -471,7 +480,6 @@ void CDynamixel::registered_byte_write(unsigned char address, unsigned char data
}
else
{
events.push_back(this->usb_rx_event_id);
try{
while(read<6)
{
......@@ -490,6 +498,8 @@ void CDynamixel::registered_byte_write(unsigned char address, unsigned char data
it++;
if(it==NUM_RETRIES)
throw CDynamixelSyncException("Invalid packet checksum");
else
read=0;
}
else
{
......@@ -540,6 +550,7 @@ void CDynamixel::registered_word_write(unsigned char address, unsigned short int
if(this->usb_dev!=NULL)
{
events.push_back(this->usb_rx_event_id);
while(!rx_tx_ok)
{
this->usb_access->enter();
......@@ -557,7 +568,6 @@ void CDynamixel::registered_word_write(unsigned char address, unsigned short int
}
else
{
events.push_back(this->usb_rx_event_id);
try{
while(read<6)
{
......@@ -576,6 +586,8 @@ void CDynamixel::registered_word_write(unsigned char address, unsigned short int
it++;
if(it==NUM_RETRIES)
throw CDynamixelSyncException("Invalid packet checksum");
else
read=0;
}
else
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment