38 #include "canopen_error.h"
53 enum class type : uint32_t {
57 toggle_bit = 0x05030000,
59 command_specifier = 0x05040001,
60 block_size = 0x05040002,
61 sequence_number = 0x05040003,
65 write_only = 0x06010001,
66 read_only = 0x06010002,
67 not_in_dictionary = 0x06020000,
68 no_mapping = 0x06040041,
69 pdo_length_exceeded = 0x06040042,
70 parameter_incompatibility = 0x06040043,
71 internal_incompatibility = 0x06040047,
72 hardware_error = 0x06060000,
73 service_parameter = 0x06070010,
74 service_parameter_too_high = 0x06070012,
75 service_parameter_too_low = 0x06070013,
76 subindex = 0x06090011,
78 value_too_high = 0x06090031,
79 value_too_low = 0x06090032,
80 max_less_than_min = 0x06090036,
81 sdo_connection = 0x060A0023,
83 transfer_or_storage = 0x08000020,
84 transfer_or_storage_local_control = 0x08000021,
85 transfer_or_storage_device_state = 0x08000022,
86 no_dictionary = 0x08000023,
91 response_timeout = 0x10000000,
92 segmented_download = 0x10000001,
93 response_command = 0x10000002,
94 response_toggle_bit = 0x10000003,
105 explicit sdo_error(
type error_type,
const std::string& additional_information =
"");
110 explicit sdo_error(uint32_t sdo_data,
const std::string& additional_information =
"");
116 virtual const char*
what() const noexcept override;
123 std::
string m_message;
virtual const char * what() const noexceptoverride
Returns error description.
sdo_error(type error_type, const std::string &additional_information="")
Constructor when type is known.
type get_type() const noexcept
Returns type of the error.
virtual ~sdo_error()
Destructor.
This type of exception is thrown when there are problems while accessing devices via SDO...
This is the base class of all types of exceptions thrown by the KaCanOpen library. It can be used directly like std::runtime_error if there isn't any more specific error class.
type
Exact type of the SDO error.