This type of exception is thrown when there are problems while accessing devices via SDO. Most of the errors are reported by the device itself via SDO abort transfer protocol. There are also some internal errors like timeout while waiting for response. You can get the type of error via get_type() More...
#include <sdo_error.h>
Public Types | |
enum | type : uint32_t { toggle_bit = 0x05030000, timeout = 0x05040000, command_specifier = 0x05040001, block_size = 0x05040002, sequence_number = 0x05040003, crc = 0x05040004, memory = 0x05040005, access = 0x06010000, write_only = 0x06010001, read_only = 0x06010002, not_in_dictionary = 0x06020000, no_mapping = 0x06040041, pdo_length_exceeded = 0x06040042, parameter_incompatibility = 0x06040043, internal_incompatibility = 0x06040047, hardware_error = 0x06060000, service_parameter = 0x06070010, service_parameter_too_high = 0x06070012, service_parameter_too_low = 0x06070013, subindex = 0x06090011, value = 0x06090030, value_too_high = 0x06090031, value_too_low = 0x06090032, max_less_than_min = 0x06090036, sdo_connection = 0x060A0023, general = 0x08000000, transfer_or_storage = 0x08000020, transfer_or_storage_local_control = 0x08000021, transfer_or_storage_device_state = 0x08000022, no_dictionary = 0x08000023, no_data = 0x08000024, response_timeout = 0x10000000, segmented_download = 0x10000001, response_command = 0x10000002, response_toggle_bit = 0x10000003, unknown = 0x20000000 } |
Exact type of the SDO error. | |
Public Member Functions | |
sdo_error (type error_type, const std::string &additional_information="") | |
Constructor when type is known. More... | |
sdo_error (uint32_t sdo_data, const std::string &additional_information="") | |
Constructor when type shall be deduced from it's CiA 301 SDO abort code representation. More... | |
virtual | ~sdo_error () |
Destructor. | |
virtual const char * | what () const noexceptoverride |
Returns error description. | |
type | get_type () const noexcept |
Returns type of the error. | |
Public Member Functions inherited from kaco::canopen_error | |
canopen_error (std::string what) | |
Constructor. More... | |
virtual | ~canopen_error () |
Destructor. | |
This type of exception is thrown when there are problems while accessing devices via SDO. Most of the errors are reported by the device itself via SDO abort transfer protocol. There are also some internal errors like timeout while waiting for response. You can get the type of error via get_type()
Definition at line 48 of file sdo_error.h.
|
explicit |
Constructor when type is known.
error_type | Type of the error |
additional_information | Additional information, appended to the error type string in what() |
Definition at line 36 of file sdo_error.cpp.
|
explicit |