Edit on GitHub
Dynamixel Error Reference
- Dynamixel error module defines error codes, exception classes, and utility functions for handling errors in the DYNAMIXEL Easy SDK.
Exception Class
DxlRuntimeError
| Method | Description |
|---|---|
| DxlRuntimeError(dxl_error: DxlError) | Initializes the DxlRuntimeError with a DxlError. |
| DxlRuntimeError(msg: str) | Initializes the DxlRuntimeError with a message. |
Enum Class
DxlError
| Enum Member | Value |
|---|---|
| SDK_COMM_SUCCESS | 0 |
| SDK_COMM_PORT_BUSY | -1000 |
| SDK_COMM_TX_FAIL | -1001 |
| SDK_COMM_RX_FAIL | -1002 |
| SDK_COMM_TX_ERROR | -2000 |
| SDK_COMM_RX_WAITING | -3000 |
| SDK_COMM_RX_TIMEOUT | -3001 |
| SDK_COMM_RX_CORRUPT | -3002 |
| SDK_COMM_NOT_AVAILABLE | -9000 |
| SDK_ERRNUM_RESULT_FAIL | 1 |
| SDK_ERRNUM_INSTRUCTION | 2 |
| SDK_ERRNUM_CRC | 3 |
| SDK_ERRNUM_DATA_RANGE | 4 |
| SDK_ERRNUM_DATA_LENGTH | 5 |
| SDK_ERRNUM_DATA_LIMIT | 6 |
| SDK_ERRNUM_ACCESS | 7 |
| EASY_SDK_FUNCTION_NOT_SUPPORTED | 11 |
| EASY_SDK_TORQUE_STATUS_MISMATCH | 12 |
| EASY_SDK_OPERATING_MODE_MISMATCH | 13 |
| EASY_SDK_ADD_PARAM_FAIL | 21 |
| EASY_SDK_COMMAND_IS_EMPTY | 22 |
| EASY_SDK_DUPLICATE_ID | 23 |
| EASY_SDK_FAIL_TO_GET_DATA | 24 |
Module Function
getErrorMessage(dxl_error)
- Returns the error message corresponding to the given DxlError.
| Parameter | Return Message |
|---|---|
| DxlError.SDK_COMM_SUCCESS | [TxRxResult] Communication success! |
| DxlError.SDK_COMM_PORT_BUSY | [TxRxResult] Port is in use! |
| DxlError.SDK_COMM_TX_FAIL | [TxRxResult] Failed to transmit instruction packet |
| DxlError.SDK_COMM_RX_FAIL | [TxRxResult] Failed to get status packet from device |
| DxlError.SDK_COMM_TX_ERROR | [TxRxResult] Incorrect instruction packet |
| DxlError.SDK_COMM_RX_WAITING | [TxRxResult] Receiving status packet |
| DxlError.SDK_COMM_RX_TIMEOUT | [TxRxResult] No status packet received |
| DxlError.SDK_COMM_RX_CORRUPT | [TxRxResult] Incorrect status packet |
| DxlError.SDK_COMM_NOT_AVAILABLE | [TxRxResult] Protocol does not support this function |
| DxlError.SDK_ERRNUM_RESULT_FAIL | [RxPacketError] Failed to process the instruction packet! |
| DxlError.SDK_ERRNUM_INSTRUCTION | [RxPacketError] Undefined instruction or incorrect instruction! |
| DxlError.SDK_ERRNUM_CRC | [RxPacketError] CRC doesn’t match! |
| DxlError.SDK_ERRNUM_DATA_RANGE | [RxPacketError] The data value is out of range! |
| DxlError.SDK_ERRNUM_DATA_LENGTH | [RxPacketError] The data length does not match as expected! |
| DxlError.SDK_ERRNUM_DATA_LIMIT | [RxPacketError] The data value exceeds the limit value! |
| DxlError.SDK_ERRNUM_ACCESS | [RxPacketError] Writing or Reading is not available to target address! |
| DxlError.EASY_SDK_FUNCTION_NOT_SUPPORTED | [EasySDKUsageError] Function not supported |
| DxlError.EASY_SDK_TORQUE_STATUS_MISMATCH | [EasySDKUsageError] Motor torque status mismatch |
| DxlError.EASY_SDK_OPERATING_MODE_MISMATCH | [EasySDKUsageError] Operating mode mismatch |
| DxlError.EASY_SDK_ADD_PARAM_FAIL | [EasySDKUsageError] Failed to add parameter |
| DxlError.EASY_SDK_COMMAND_IS_EMPTY | [EasySDKUsageError] No command to execute |
| DxlError.EASY_SDK_DUPLICATE_ID | [EasySDKUsageError] Duplicate ID in staged commands |
| DxlError.EASY_SDK_FAIL_TO_GET_DATA | [EasySDKUsageError] Failed to get data from motor |
Exception Class
DxlRuntimeError
| Method | Description |
|---|---|
| DxlRuntimeError(const std::string & message) | Initializes the DxlRuntimeError with a message. |
Result Class
Result<T, E>
| Method | Description |
|---|---|
| isSuccess() const | Returns true if the result has no error, false otherwise. |
| value() const | Returns the value if the result is success. |
| error() const | Returns the error if the result is failure. |
Enum Class
DxlError
| Enum Member | Value |
|---|---|
| SDK_COMM_SUCCESS | 0 |
| SDK_COMM_PORT_BUSY | -1000 |
| SDK_COMM_TX_FAIL | -1001 |
| SDK_COMM_RX_FAIL | -1002 |
| SDK_COMM_TX_ERROR | -2000 |
| SDK_COMM_RX_WAITING | -3000 |
| SDK_COMM_RX_TIMEOUT | -3001 |
| SDK_COMM_RX_CORRUPT | -3002 |
| SDK_COMM_NOT_AVAILABLE | -9000 |
| SDK_ERRNUM_RESULT_FAIL | 1 |
| SDK_ERRNUM_INSTRUCTION | 2 |
| SDK_ERRNUM_CRC | 3 |
| SDK_ERRNUM_DATA_RANGE | 4 |
| SDK_ERRNUM_DATA_LENGTH | 5 |
| SDK_ERRNUM_DATA_LIMIT | 6 |
| SDK_ERRNUM_ACCESS | 7 |
| EASY_SDK_FUNCTION_NOT_SUPPORTED | 11 |
| EASY_SDK_TORQUE_STATUS_MISMATCH | 12 |
| EASY_SDK_OPERATING_MODE_MISMATCH | 13 |
| EASY_SDK_ADD_PARAM_FAIL | 21 |
| EASY_SDK_COMMAND_IS_EMPTY | 22 |
| EASY_SDK_DUPLICATE_ID | 23 |
| EASY_SDK_FAIL_TO_GET_DATA | 24 |
Module Function
getErrorMessage(dxl_error)
- Returns the error message corresponding to the given DxlError.
| Parameter | Return Message |
|---|---|
| DxlError::SDK_COMM_SUCCESS | [TxRxResult] Communication success! |
| DxlError::SDK_COMM_PORT_BUSY | [TxRxResult] Port is in use! |
| DxlError::SDK_COMM_TX_FAIL | [TxRxResult] Failed to transmit instruction packet |
| DxlError::SDK_COMM_RX_FAIL | [TxRxResult] Failed to get status packet from device |
| DxlError::SDK_COMM_TX_ERROR | [TxRxResult] Incorrect instruction packet |
| DxlError::SDK_COMM_RX_WAITING | [TxRxResult] Receiving status packet |
| DxlError::SDK_COMM_RX_TIMEOUT | [TxRxResult] No status packet received |
| DxlError::SDK_COMM_RX_CORRUPT | [TxRxResult] Incorrect status packet |
| DxlError::SDK_COMM_NOT_AVAILABLE | [TxRxResult] Protocol does not support this function |
| DxlError::SDK_ERRNUM_RESULT_FAIL | [RxPacketError] Failed to process the instruction packet! |
| DxlError::SDK_ERRNUM_INSTRUCTION | [RxPacketError] Undefined instruction or incorrect instruction! |
| DxlError::SDK_ERRNUM_CRC | [RxPacketError] CRC doesn’t match! |
| DxlError::SDK_ERRNUM_DATA_RANGE | [RxPacketError] The data value is out of range! |
| DxlError::SDK_ERRNUM_DATA_LENGTH | [RxPacketError] The data length does not match as expected! |
| DxlError::SDK_ERRNUM_DATA_LIMIT | [RxPacketError] The data value exceeds the limit value! |
| DxlError::SDK_ERRNUM_ACCESS | [RxPacketError] Writing or Reading is not available to target address! |
| DxlError::EASY_SDK_FUNCTION_NOT_SUPPORTED | [EasySDKUsageError] Function not supported |
| DxlError::EASY_SDK_TORQUE_STATUS_MISMATCH | [EasySDKUsageError] Motor torque status mismatch |
| DxlError::EASY_SDK_OPERATING_MODE_MISMATCH | [EasySDKUsageError] Operating mode mismatch |
| DxlError::EASY_SDK_ADD_PARAM_FAIL | [EasySDKUsageError] Failed to add parameter |
| DxlError::EASY_SDK_COMMAND_IS_EMPTY | [EasySDKUsageError] No command to execute |
| DxlError::EASY_SDK_DUPLICATE_ID | [EasySDKUsageError] Duplicate ID in staged commands |
| DxlError::EASY_SDK_FAIL_TO_GET_DATA | [EasySDKUsageError] Failed to get data from motor |

