Skip to content

Commit 7e7ef36

Browse files
committed
[Fix] Added model identification logic and DYNAMIXEL-Y support for getHardwareError()
Signed-off-by: Jonghee Son <zzongaone@gmail.com>
1 parent 2c28dbe commit 7e7ef36

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

src/Dynamixel2Arduino.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -920,10 +920,20 @@ uint8_t Dynamixel2Arduino::getHardwareError(uint8_t id)
920920
uint16_t model_num = getModelNumberFromTable(id);
921921
uint8_t ret = 0;
922922

923+
if(model_num == UNREGISTERED_MODEL){
924+
if(setModelNumber(id, getModelNumber(id)) == true){
925+
model_num = getModelNumberFromTable(id);
926+
}
927+
}
928+
923929
if(model_num == AX12A || model_num == AX12W || model_num == AX18A || model_num == DX113 || model_num == DX116 || model_num == DX117 || model_num == RX10 || model_num == RX24F || model_num == RX28 || model_num == RX64 || model_num == EX106 || model_num == MX12W || model_num == MX28 || model_num == MX64 || model_num == MX106 || model_num == XL320)
924930
{
925931
setLastLibErrCode(DXL_LIB_ERROR_NOT_SUPPORTED);
926932
}
933+
else if(model_num == YM070_210_M001_RH || model_num == YM070_210_B001_RH || model_num == YM070_210_R051_RH || model_num == YM070_210_R099_RH || model_num == YM070_210_A051_RH || model_num == YM070_210_A099_RH || model_num == YM080_230_M001_RH || model_num == YM080_230_B001_RH || model_num == YM080_230_R051_RH || model_num == YM080_230_R099_RH || model_num == YM080_230_A051_RH || model_num == YM080_230_A099_RH)
934+
{
935+
ret = (uint8_t)readControlTableItem(ControlTableItem::ERROR_CODE, id);
936+
}
927937
else
928938
{
929939
ret = (uint8_t)readControlTableItem(ControlTableItem::HARDWARE_ERROR_STATUS, id);

0 commit comments

Comments
 (0)