22#ifndef LELY_COAPP_SDO_ERROR_HPP_
23#define LELY_COAPP_SDO_ERROR_HPP_
28#include <system_error>
39 TOGGLE = UINT32_C(0x05030000),
43 NO_CS = UINT32_C(0x05040001),
51 NO_MEM = UINT32_C(0x05040005),
59 NO_OBJ = UINT32_C(0x06020000),
61 NO_PDO = UINT32_C(0x06040041),
68 PARAM = UINT32_C(0x06040043),
70 COMPAT = UINT32_C(0x06040047),
80 NO_SUB = UINT32_C(0x06090011),
90 NO_SDO = UINT32_C(0x060a0023),
92 ERROR = UINT32_C(0x08000000),
94 DATA = UINT32_C(0x08000020),
110 NO_OD = UINT32_C(0x08000023),
112 NO_VAL = UINT32_C(0x08000024)
119 ::std::error_code ec);
121 ::std::error_code ec, const ::std::string& what_arg);
123 ::std::error_code ec,
const char* what_arg);
125 const char* what_arg);
136 id() const noexcept {
153 const ::std::error_code&
163 ::std::error_code ec_;
167const ::std::error_category&
SdoCategory() noexcept;
The type of exception thrown when an SDO abort code is received.
uint8_t id() const noexcept
Returns the node-ID.
uint8_t netid() const noexcept
Returns the network-ID.
uint16_t idx() const noexcept
Returns the object index.
const ::std::error_code & code() const noexcept
Returns the stored error code.
uint8_t subidx() const noexcept
Returns the object sub-index.
This is the public header file of the C++ CANopen application library.
@ TOGGLE
The mask to get/set the toggle bit from an NMT state.
const ::std::error_category & SdoCategory() noexcept
Returns a reference to the error category object for SDO abort codes.
SdoErrc
The SDO abort codes.
@ TIMEOUT
SDO protocol timed out.
@ BLK_SIZE
Invalid block size (block mode only).
@ NO_CS
Client/server command specifier not valid or unknown.
@ TYPE_LEN_LO
Data type does not match, length of service parameter too low.
@ PARAM_VAL
Invalid value for parameter (download only).
@ PARAM
General parameter incompatibility reason.
@ NO_VAL
No data available. (NO_DATA is a macro defined in <netdb.h>)
@ NO_SUB
Sub-index does not exist.
@ PARAM_LO
Value of parameter written too low (download only).
@ BLK_SEQ
Invalid sequence number (block mode only).
@ NO_OD
Object dictionary dynamic generation fails or no object dictionary is present (e.g.
@ DATA_DEV
Data cannot be transferred or stored to the application because of the present device state.
@ HARDWARE
Access failed due to a hardware error.
@ PDO_LEN
The number and length of the objects to be mapped would exceed the PDO length.
@ BLK_CRC
CRC error (block mode only).
@ PARAM_HI
Value of parameter written too high (download only).
@ TYPE_LEN
Data type does not match, length of service parameter does not match.
@ PARAM_RANGE
Maximum value is less than minimum value (download only).
@ COMPAT
General internal incompatibility in the device.
@ NO_OBJ
Object does not exist in the object dictionary.
@ NO_WRITE
Attempt to write a read only object.
@ NO_SDO
Resource not available: SDO connection.
@ DATA_CTL
Data cannot be transferred or stored to the application because of local control.
@ TYPE_LEN_HI
Data type does not match, length of service parameter too high.
@ NO_ACCESS
Unsupported access to an object.
@ NO_PDO
Object cannot be mapped to the PDO.
@ DATA
Data cannot be transferred or stored to the application.
@ NO_READ
Attempt to read a write only object.
::std::error_condition make_error_condition(SdoErrc e) noexcept
Creates an error condition corresponding to an SDO abort code.
::std::error_code make_error_code(SdoErrc e) noexcept
Creates an error code corresponding to an SDO abort code.
Global namespace for the Lely Industries N.V. libraries.