Skip to content

Commit 5fef77b

Browse files
author
Kei
committed
Changed slave default address enum name.
1 parent 7278e37 commit 5fef77b

File tree

2 files changed

+37
-15
lines changed

2 files changed

+37
-15
lines changed

src/utility/slave.cpp

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ using namespace DYNAMIXEL;
44

55

66
enum DefaultControlTableItemAddr{
7-
ADDR_MODEL_NUMBER = 0,
8-
ADDR_FIRMWARE_VER = 6,
9-
ADDR_ID = 7,
10-
ADDR_PROTOCOL_VER = 9
7+
ADDR_ITEM_MODEL_NUMBER = 0,
8+
ADDR_ITEM_FIRMWARE_VER = 6,
9+
ADDR_ITEM_ID = 7,
10+
ADDR_ITEM_PROTOCOL_VER = 9
1111
};
1212

1313
static bool isAddrInRange(uint16_t addr, uint16_t length, uint16_t range_addr, uint16_t range_length);
@@ -309,6 +309,19 @@ void Slave::setReadCallbackFunc(userCallbackFunc callback_func, void* callback_a
309309
user_read_callbakc_arg_ = callback_arg;
310310
}
311311

312+
bool
313+
Slave::setPort(DXLPortHandler *p_port)
314+
{
315+
if(p_port == nullptr){
316+
last_lib_err_ = DXL_LIB_ERROR_NULLPTR;
317+
return false;
318+
}
319+
320+
p_port_ = p_port;
321+
322+
return true;
323+
}
324+
312325
bool
313326
Slave::setPort(DXLPortHandler &port)
314327
{
@@ -329,6 +342,12 @@ Slave::getLastLibErrCode() const
329342
return last_lib_err_;
330343
}
331344

345+
void
346+
Slave::setLastLibErrCode(DXLLibErrorCode_t err_code)
347+
{
348+
last_lib_err_ = err_code;
349+
}
350+
332351
uint8_t
333352
Slave::getLastStatusPacketError() const
334353
{
@@ -509,21 +528,21 @@ Slave::processInstWrite()
509528
p_item = &control_table_[i];
510529
item_start_addr = p_item->start_addr;
511530
item_addr_length = p_item->length;
512-
if(item_start_addr != ADDR_MODEL_NUMBER
513-
&& item_start_addr != ADDR_FIRMWARE_VER){
531+
if(item_start_addr != ADDR_ITEM_MODEL_NUMBER
532+
&& item_start_addr != ADDR_ITEM_FIRMWARE_VER){
514533
if(item_addr_length != 0
515534
&& p_item->p_data != nullptr
516535
&& isAddrInRange(item_start_addr, item_addr_length, addr, data_length) == true){
517536
// Check data for ID, Protocol Version (Act as a system callback)
518-
if(item_start_addr == ADDR_ID){
537+
if(item_start_addr == ADDR_ITEM_ID){
519538
backup_data = p_data[item_start_addr-addr];
520539
if(protocol_ver_idx_ == 2 && backup_data >= 0xFD){
521540
packet_err = DXL2_0_ERR_DATA_RANGE;
522541
}else if(protocol_ver_idx_ == 1 && backup_data >= 0xFE){
523542
packet_err |= 1<<DXL1_0_ERR_RANGE_BIT;
524543
}
525544
backup_data = id_;
526-
}else if(item_start_addr == ADDR_PROTOCOL_VER){
545+
}else if(item_start_addr == ADDR_ITEM_PROTOCOL_VER){
527546
backup_data = p_data[item_start_addr-addr];
528547
if(backup_data != 1 && backup_data != 2){
529548
if(protocol_ver_idx_ == 2){
@@ -548,9 +567,9 @@ Slave::processInstWrite()
548567
if(packet_err != 0){
549568
// If an error occurs for the ID and Protocol Version,
550569
// restore the previous data. (Act as a system callback)
551-
if(item_start_addr == ADDR_ID){
570+
if(item_start_addr == ADDR_ITEM_ID){
552571
id_ = backup_data;
553-
}else if(item_start_addr == ADDR_PROTOCOL_VER){
572+
}else if(item_start_addr == ADDR_ITEM_PROTOCOL_VER){
554573
protocol_ver_idx_ = backup_data;
555574
}
556575
break;
@@ -573,10 +592,10 @@ Slave::processInstWrite()
573592
bool
574593
Slave::addDefaultControlItem()
575594
{
576-
if(addControlItem(ADDR_MODEL_NUMBER, (uint16_t&)model_num_) != DXL_LIB_OK
577-
|| addControlItem(ADDR_FIRMWARE_VER, firmware_ver_) != DXL_LIB_OK
578-
|| addControlItem(ADDR_ID, id_) != DXL_LIB_OK
579-
|| addControlItem(ADDR_PROTOCOL_VER, protocol_ver_idx_) != DXL_LIB_OK){
595+
if(addControlItem(ADDR_ITEM_MODEL_NUMBER, (uint16_t&)model_num_) != DXL_LIB_OK
596+
|| addControlItem(ADDR_ITEM_FIRMWARE_VER, firmware_ver_) != DXL_LIB_OK
597+
|| addControlItem(ADDR_ITEM_ID, id_) != DXL_LIB_OK
598+
|| addControlItem(ADDR_ITEM_PROTOCOL_VER, protocol_ver_idx_) != DXL_LIB_OK){
580599
return false;
581600
}
582601

src/utility/slave.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ class Slave
5555
uint8_t getFirmwareVersion() const;
5656

5757
bool setPort(DXLPortHandler &port);
58+
bool setPort(DXLPortHandler *p_port);
5859
DXLPortHandler* getPort() const;
5960

6061
bool setPortProtocolVersion(float version);
@@ -83,9 +84,11 @@ class Slave
8384

8485
bool processPacket();
8586

86-
DXLLibErrorCode_t getLastLibErrCode() const;
8787
uint8_t getLastStatusPacketError() const;
8888

89+
void setLastLibErrCode(DXLLibErrorCode_t err_code);
90+
DXLLibErrorCode_t getLastLibErrCode() const;
91+
8992
// raw APIs
9093
bool txStatusPacket(uint8_t id, uint8_t err_code, uint8_t *p_param, uint16_t param_len);
9194
const InfoToParseDXLPacket_t* rxInstPacket(uint8_t* p_param_buf, uint16_t param_buf_cap);

0 commit comments

Comments
 (0)