Lely core libraries 2.3.4
|
The namespace for the C++ CANopen application library. More...
Namespaces | |
namespace | detail |
The namespace for implementation details of the C++ CANopen application library. | |
Data Structures | |
class | AsyncMaster |
An asynchronous CANopen master. More... | |
class | BasicDriver |
The base class for drivers for remote CANopen nodes. More... | |
class | BasicLogicalDriver |
The base class for drivers for logical devices on remote CANopen nodes. More... | |
class | BasicLogicalDriver< BasicDriver > |
The base class for drivers for logical devices on remote CANopen nodes. More... | |
class | BasicMaster |
The CANopen master. More... | |
class | BasicSlave |
The base class for CANopen slaves. More... | |
struct | canopen_traits |
A class template mapping CANopen types to C and C++ types. More... | |
struct | canopen_traits< bool > |
Specialization of lely::canopen::canopen_traits for the CANopen basic type BOOLEAN. More... | |
struct | canopen_traits< double > |
Specialization of lely::canopen::canopen_traits for the CANopen basic type REAL64. More... | |
struct | canopen_traits< float > |
Specialization of lely::canopen::canopen_traits for the CANopen basic type REAL32. More... | |
struct | canopen_traits< int16_t > |
Specialization of lely::canopen::canopen_traits for the CANopen basic type INTEGER16. More... | |
struct | canopen_traits< int32_t > |
Specialization of lely::canopen::canopen_traits for the CANopen basic type INTEGER32. More... | |
struct | canopen_traits< int64_t > |
Specialization of lely::canopen::canopen_traits for the CANopen basic type INTEGER64. More... | |
struct | canopen_traits< int8_t > |
Specialization of lely::canopen::canopen_traits for the CANopen basic type INTEGER8. More... | |
struct | canopen_traits< uint16_t > |
Specialization of lely::canopen::canopen_traits for the CANopen basic type UNSIGNED16. More... | |
struct | canopen_traits< uint32_t > |
Specialization of lely::canopen::canopen_traits for the CANopen basic type UNSIGNED32. More... | |
struct | canopen_traits< uint64_t > |
Specialization of lely::canopen::canopen_traits for the CANopen basic type UNSIGNED64. More... | |
struct | canopen_traits< uint8_t > |
Specialization of lely::canopen::canopen_traits for the CANopen basic type UNSIGNED8. More... | |
struct | canopen_traits<::std::basic_string< char16_t > > |
Specialization of lely::canopen::canopen_traits for the CANopen array type UNICODE_STRING. More... | |
struct | canopen_traits<::std::string > |
Specialization of lely::canopen::canopen_traits for the CANopen array type VISIBLE_STRING. More... | |
struct | canopen_traits<::std::vector< uint8_t > > |
Specialization of lely::canopen::canopen_traits for the CANopen array type OCTET_STRING. More... | |
class | Device |
The CANopen device description. More... | |
class | DriverBase |
The abstract driver interface for a remote CANopen node. More... | |
class | FiberDriver |
A CANopen driver running its tasks and callbacks in fibers. More... | |
struct | is_canopen |
If T is one of the CANopen basic or array types, provides the member constant value equal to true . More... | |
struct | is_canopen< T, typename canopen_traits< T >::type > |
struct | is_canopen_basic |
If T is one of the CANopen basic types, provides the member constant value equal to true . More... | |
struct | is_canopen_basic< T, typename canopen_traits< T >::type > |
class | LogicalDriverBase |
The abstract driver interface for a logical device on a remote CANopen node. More... | |
class | LoopDriver |
A CANopen driver running its own dedicated event loop in a separate thread. More... | |
struct | LssAddress |
The 128-bit number uniquely identifying each CANopen node. More... | |
class | LssFastscanRequest |
An 'LSS Fastscan' request. More... | |
class | LssGetIdRequest |
An LSS 'inquire node-ID' request. More... | |
class | LssGetProductCodeRequest |
An LSS 'inquire identity product-code' request. More... | |
class | LssGetRevisionRequest |
An LSS 'inquire identity revision-number' request. More... | |
class | LssGetSerialNrRequest |
An LSS 'inquire identity serial-number' request. More... | |
class | LssGetVendorIdRequest |
An LSS 'inquire identity vendor-ID' request. More... | |
class | LssIdNonConfigRequest |
An LSS 'identify non-configured remote slave' request. More... | |
class | LssMaster |
The base class for CANopen LSS masters. More... | |
class | LssSetBitrateRequest |
An LSS 'configure bit timing parameters' request. More... | |
class | LssSetIdRequest |
An LSS 'configure node-ID' request. More... | |
class | LssSlowscanRequest |
An 'LSS Slowscan' request. More... | |
class | LssStoreRequest |
An LSS 'store configuration' request. More... | |
class | LssSwitchBitrateRequest |
An LSS 'activate bit timing parameters' request. More... | |
class | LssSwitchRequest |
An LSS 'switch state global' request. More... | |
class | LssSwitchSelectiveRequest |
An LSS 'switch state selective' request. More... | |
class | Node |
The base class for CANopen nodes. More... | |
class | Sdo |
A Client-SDO queue. More... | |
class | SdoDownloadDcfRequest |
A series of SDO download (i.e., write) requests corresponding to the entries in a concise DCF. More... | |
class | SdoDownloadRequest |
An SDO download (i.e., write) request. More... | |
class | SdoError |
The type of exception thrown when an SDO abort code is received. More... | |
class | SdoUploadRequest |
An SDO upload (i.e., read) request. More... | |
Typedefs | |
template<class T > | |
using | LssPromise = ev::Promise< T, ::std::exception_ptr > |
A helper alias template for the type of promise used to store the result of an asynchronous LSS request. | |
template<class T > | |
using | LssFuture = ev::Future< T, ::std::exception_ptr > |
A helper alias template for the type of future used to retrieve the result of an asynchronous LSS request. | |
template<class T > | |
using | SdoPromise = ev::Promise< T, ::std::exception_ptr > |
A helper alias template for the type of promise used to store the result of an asynchronous SDO request. | |
template<class T > | |
using | SdoFuture = ev::Future< T, ::std::exception_ptr > |
A helper alias template for the type of future used to retrieve the result of an asynchronous SDO request. | |
Enumerations | |
enum class | LssState { WAITING = 0 , CONFIG = 1 } |
The states of the LSS finite state automaton (FSA) of a slave device. More... | |
enum class | NmtCommand { START = 0x01 , STOP = 0x02 , ENTER_PREOP = 0x80 , RESET_NODE = 0x81 , RESET_COMM = 0x82 } |
The NMT command specifiers. More... | |
enum class | NmtState { BOOTUP = 0x00 , STOP = 0x04 , START = 0x05 , RESET_NODE = 0x06 , RESET_COMM = 0x07 , PREOP = 0x7f , TOGGLE = 0x80 } |
The NMT states. More... | |
enum class | SdoErrc : uint32_t { TOGGLE = UINT32_C(0x05030000) , TIMEOUT = UINT32_C(0x05040000) , NO_CS = UINT32_C(0x05040001) , BLK_SIZE = UINT32_C(0x05040002) , BLK_SEQ = UINT32_C(0x05040003) , BLK_CRC = UINT32_C(0x05040004) , NO_MEM = UINT32_C(0x05040005) , NO_ACCESS = UINT32_C(0x06010000) , NO_READ = UINT32_C(0x06010001) , NO_WRITE = UINT32_C(0x06010002) , NO_OBJ = UINT32_C(0x06020000) , NO_PDO = UINT32_C(0x06040041) , PDO_LEN = UINT32_C(0x06040042) , PARAM = UINT32_C(0x06040043) , COMPAT = UINT32_C(0x06040047) , HARDWARE = UINT32_C(0x06060000) , TYPE_LEN = UINT32_C(0x06070010) , TYPE_LEN_HI = UINT32_C(0x06070012) , TYPE_LEN_LO = UINT32_C(0x06070013) , NO_SUB = UINT32_C(0x06090011) , PARAM_VAL = UINT32_C(0x06090030) , PARAM_HI = UINT32_C(0x06090031) , PARAM_LO = UINT32_C(0x06090032) , PARAM_RANGE = UINT32_C(0x06090036) , NO_SDO = UINT32_C(0x060a0023) , ERROR = UINT32_C(0x08000000) , DATA = UINT32_C(0x08000020) , DATA_CTL = UINT32_C(0x08000021) , DATA_DEV = UINT32_C(0x08000022) , NO_OD = UINT32_C(0x08000023) , NO_VAL = UINT32_C(0x08000024) } |
The SDO abort codes. More... | |
Functions | |
template<class F > | |
typename::std::enable_if< compat::is_invocable< F,::std::error_code >::value, detail::LssSwitchRequestWrapper< F > * >::type | make_lss_switch_request (ev_exec_t *exec, LssState state, F &&con) |
Creates an LSS 'switch state global' request with a completion task. | |
template<class F > | |
typename::std::enable_if< compat::is_invocable< F,::std::error_code >::value, detail::LssSwitchSelectiveRequestWrapper< F > * >::type | make_lss_switch_selective_request (ev_exec_t *exec, const LssAddress &address, F &&con) |
Creates an LSS 'switch state selective' request with a completion task. | |
template<class F > | |
typename::std::enable_if< compat::is_invocable< F,::std::error_code >::value, detail::LssSetIdRequestWrapper< F > * >::type | make_lss_set_id_request (ev_exec_t *exec, uint8_t id, F &&con) |
Creates an LSS 'configure node-ID' request with a completion task. | |
template<class F > | |
typename::std::enable_if< compat::is_invocable< F,::std::error_code >::value, detail::LssSetBitrateRequestWrapper< F > * >::type | make_lss_set_bitrate_request (ev_exec_t *exec, int bitrate, F &&con) |
Creates an LSS 'configure bit timing parameters' request with a completion task. | |
template<class F > | |
typename::std::enable_if< compat::is_invocable< F,::std::error_code >::value, detail::LssSwitchBitrateRequestWrapper< F > * >::type | make_lss_switch_bitrate_request (ev_exec_t *exec, int delay, F &&con) |
Creates an LSS 'activate bit timing parameters' request with a completion task. | |
template<class F > | |
typename::std::enable_if< compat::is_invocable< F,::std::error_code >::value, detail::LssStoreRequestWrapper< F > * >::type | make_lss_store_request (ev_exec_t *exec, F &&con) |
Creates an LSS 'store configuration' request with a completion task. | |
template<class F > | |
typename::std::enable_if< compat::is_invocable< F,::std::error_code, uint32_t >::value, detail::LssGetVendorIdRequestWrapper< F > * >::type | make_lss_get_vendor_id_request (ev_exec_t *exec, F &&con) |
Creates an LSS 'inquire identity vendor-ID' request with a completion task. | |
template<class F > | |
typename::std::enable_if< compat::is_invocable< F,::std::error_code, uint32_t >::value, detail::LssGetProductCodeRequestWrapper< F > * >::type | make_lss_get_product_code_request (ev_exec_t *exec, F &&con) |
Creates an LSS 'inquire identity product-code' request with a completion task. | |
template<class F > | |
typename::std::enable_if< compat::is_invocable< F,::std::error_code, uint32_t >::value, detail::LssGetRevisionRequestWrapper< F > * >::type | make_lss_get_revision_request (ev_exec_t *exec, F &&con) |
Creates an LSS 'inquire identity revision-number' request with a completion task. | |
template<class F > | |
typename::std::enable_if< compat::is_invocable< F,::std::error_code, uint32_t >::value, detail::LssGetSerialNrRequestWrapper< F > * >::type | make_lss_get_serial_nr_request (ev_exec_t *exec, F &&con) |
Creates an LSS 'inquire identity serial-number' request with a completion task. | |
template<class F > | |
typename::std::enable_if< compat::is_invocable< F,::std::error_code, uint8_t >::value, detail::LssGetIdRequestWrapper< F > * >::type | make_lss_get_id_request (ev_exec_t *exec, F &&con) |
Creates an LSS 'inquire node-ID' request with a completion task. | |
template<class F > | |
typename::std::enable_if< compat::is_invocable< F,::std::error_code, bool >::value, detail::LssIdNonConfigRequestWrapper< F > * >::type | make_lss_id_non_config_request (ev_exec_t *exec, F &&con) |
Creates an LSS 'identify non-configured remote slave' request with a completion task. | |
template<class F > | |
typename::std::enable_if< compat::is_invocable< F,::std::error_code, LssAddress >::value, detail::LssSlowscanRequestWrapper< F > * >::type | make_lss_slowscan_request (ev_exec_t *exec, const LssAddress &lo, const LssAddress &hi, F &&con) |
Creates an 'LSS Slowscan' request with a completion task. | |
template<class F > | |
typename::std::enable_if< compat::is_invocable< F,::std::error_code, LssAddress >::value, detail::LssFastscanRequestWrapper< F > * >::type | make_lss_fastscan_request (ev_exec_t *exec, const LssAddress &address, const LssAddress &mask, F &&con) |
Creates an 'LSS Fastscan' request with a completion task. | |
SdoFuture< void > | make_empty_sdo_future () |
Returns an SDO future with a shared state that is immediately ready, containing a successful result of type void . | |
template<class T , class V = typename ::std::decay<T>::type> | |
SdoFuture< V > | make_ready_sdo_future (T &&value) |
Returns an SDO future with a shared state that is immediately ready, containing a successful result constructed from std::forward<T>(value) . | |
template<class T > | |
SdoFuture< T > | make_error_sdo_future (uint8_t id, uint16_t idx, uint8_t subidx, ::std::error_code ec) |
Returns an SDO future with a shared state that is immediately ready, containing a failure result constructed with make_sdo_exception_ptr(uint8_t, uint16_t, uint8_t, ::std::error_code). | |
template<class T > | |
SdoFuture< T > | make_error_sdo_future (uint8_t id, uint16_t idx, uint8_t subidx, ::std::error_code ec, const ::std::string &what_arg) |
Returns an SDO future with a shared state that is immediately ready, containing a failure result constructed with make_sdo_exception_ptr(uint8_t, uint16_t, uint8_t, ::std::error_code, const ::std::string&). | |
template<class T > | |
SdoFuture< T > | make_error_sdo_future (uint8_t id, uint16_t idx, uint8_t subidx, ::std::error_code ec, const char *what_arg) |
Returns an SDO future with a shared state that is immediately ready, containing a failure result constructed with make_sdo_exception_ptr(uint8_t, uint16_t, uint8_t, ::std::error_code, const char*). | |
template<class T , class U , class F > | |
detail::SdoDownloadRequestWrapper< T > * | make_sdo_download_request (ev_exec_t *exec, uint16_t idx, uint8_t subidx, U &&value, F &&con, bool block=false, const ::std::chrono::milliseconds &timeout={}) |
Creates an SDO download request with a completion task. | |
template<class F > | |
detail::SdoDownloadDcfRequestWrapper * | make_sdo_download_dcf_request (ev_exec_t *exec, const uint8_t *begin, const uint8_t *end, F &&con, const ::std::chrono::milliseconds &timeout={}) |
Creates a series of SDO download requests, corresponding to the entries in a concise DCF, with a completion task. | |
template<class F > | |
detail::SdoDownloadDcfRequestWrapper * | make_sdo_download_dcf_request (ev_exec_t *exec, const char *path, F &&con, const ::std::chrono::milliseconds &timeout={}) |
Creates a series of SDO download requests, corresponding to the entries in a concise DCF, with a completion task. | |
template<class T , class F > | |
detail::SdoUploadRequestWrapper< T > * | make_sdo_upload_request (ev_exec_t *exec, uint16_t idx, uint8_t subidx, F &&con, bool block=false, const ::std::chrono::milliseconds &timeout={}) |
Creates an SDO upload request with a completion task. | |
const ::std::error_category & | SdoCategory () noexcept |
Returns a reference to the error category object for SDO abort codes. | |
::std::error_code | make_error_code (SdoErrc e) noexcept |
Creates an error code corresponding to an SDO abort code. | |
::std::error_condition | make_error_condition (SdoErrc e) noexcept |
Creates an error condition corresponding to an SDO abort code. | |
SdoErrc | sdo_errc (::std::error_code ec) |
Returns the SDO abort code corresponding to an error code. | |
::std::exception_ptr | make_sdo_exception_ptr (uint8_t id, uint16_t idx, uint8_t subidx, ::std::error_code ec) noexcept |
Creates an std::exception_ptr that holds a reference to a lely::canopen::SdoError with the specified attributes if ec is an SDO error (ec.category() == SdoCategory() ), or to an std::system_error if not. | |
::std::exception_ptr | make_sdo_exception_ptr (uint8_t id, uint16_t idx, uint8_t subidx, ::std::error_code ec, const ::std::string &what_arg) noexcept |
Creates an std::exception_ptr that holds a reference to a lely::canopen::SdoError with the specified attributes if ec is an SDO error (ec.category() == SdoCategory() ), or to an std::system_error if not. | |
::std::exception_ptr | make_sdo_exception_ptr (uint8_t id, uint16_t idx, uint8_t subidx, ::std::error_code ec, const char *what_arg) noexcept |
Creates an std::exception_ptr that holds a reference to a lely::canopen::SdoError with the specified attributes if ec is an SDO error (ec.category() == SdoCategory() ), or to an std::system_error if not. | |
void | throw_sdo_error (uint8_t id, uint16_t idx, uint8_t subidx, ::std::error_code ec) |
Throws a lely::canopen::SdoError with the specified attributes if ec is an SDO error (ec.category() == SdoCategory() ), or an std::system_error if not. | |
void | throw_sdo_error (uint8_t id, uint16_t idx, uint8_t subidx, ::std::error_code ec, const ::std::string &what_arg) |
Throws a lely::canopen::SdoError with the specified attributes if ec is an SDO error (ec.category() == SdoCategory() ), or an std::system_error if not. | |
void | throw_sdo_error (uint8_t id, uint16_t idx, uint8_t subidx, ::std::error_code ec, const char *what_arg) |
Throws a lely::canopen::SdoError with the specified attributes if ec is an SDO error (ec.category() == SdoCategory() ), or an std::system_error if not. | |
constexpr bool | is_canopen_same (uint16_t t1, uint16_t t2) noexcept |
Returns true if the CANopen data types t1 and t2 map to the same C++ type, and false if not. | |
The namespace for the C++ CANopen application library.
using lely::canopen::LssPromise = typedef ev::Promise<T, ::std::exception_ptr> |
A helper alias template for the type of promise used to store the result of an asynchronous LSS request.
Definition at line 46 of file lss_master.hpp.
using lely::canopen::LssFuture = typedef ev::Future<T, ::std::exception_ptr> |
A helper alias template for the type of future used to retrieve the result of an asynchronous LSS request.
Definition at line 55 of file lss_master.hpp.
using lely::canopen::SdoPromise = typedef ev::Promise<T, ::std::exception_ptr> |
A helper alias template for the type of promise used to store the result of an asynchronous SDO request.
using lely::canopen::SdoFuture = typedef ev::Future<T, ::std::exception_ptr> |
A helper alias template for the type of future used to retrieve the result of an asynchronous SDO request.
|
strong |
The states of the LSS finite state automaton (FSA) of a slave device.
Enumerator | |
---|---|
WAITING | The state in which a slave may be identified. |
CONFIG | The state in which the node-ID and bit timing parameters of a slave may be configured. |
Definition at line 80 of file lss_master.hpp.
|
strong |
|
strong |
|
strong |
The SDO abort codes.
Definition at line 42 of file sdo_error.hpp.
|
inline |
Creates an LSS 'switch state global' request with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to an LSS master.
exec | the executor used to execute the completion task. |
state | the desired state of the LSS slave devices. |
con | the confirmation function to be called on completion of the LSS request. |
Definition at line 1077 of file lss_master.hpp.
|
inline |
Creates an LSS 'switch state selective' request with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to an LSS master.
exec | the executor used to execute the completion task. |
address | the address of the LSS slave device to be switched into the configuration state. |
con | the confirmation function to be called on completion of the LSS request. |
Definition at line 1098 of file lss_master.hpp.
|
inline |
Creates an LSS 'configure node-ID' request with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to an LSS master.
exec | the executor used to execute the completion task. |
id | the requested pending node-ID of the LSS slave device. |
con | the confirmation function to be called on completion of the LSS request. |
Definition at line 1119 of file lss_master.hpp.
|
inline |
Creates an LSS 'configure bit timing parameters' request with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to an LSS master.
exec | the executor used to execute the completion task. |
bitrate | the requested pending bit rate (in bit/s) of the LSS slave device. |
con | the confirmation function to be called on completion of the LSS request. |
Definition at line 1141 of file lss_master.hpp.
|
inline |
Creates an LSS 'activate bit timing parameters' request with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to an LSS master.
exec | the executor used to execute the completion task. |
delay | the delay (in milliseconds) before and after the switch, during which CAN frames MUST NOT be sent. |
con | the confirmation function to be called on completion of the LSS request. |
Definition at line 1163 of file lss_master.hpp.
|
inline |
Creates an LSS 'store configuration' request with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to an LSS master.
exec | the executor used to execute the completion task. |
con | the confirmation function to be called on completion of the LSS request. |
Definition at line 1183 of file lss_master.hpp.
|
inline |
Creates an LSS 'inquire identity vendor-ID' request with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to an LSS master.
exec | the executor used to execute the completion task. |
con | the confirmation function to be called on completion of the LSS request. |
Definition at line 1201 of file lss_master.hpp.
|
inline |
Creates an LSS 'inquire identity product-code' request with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to an LSS master.
exec | the executor used to execute the completion task. |
con | the confirmation function to be called on completion of the LSS request. |
Definition at line 1219 of file lss_master.hpp.
|
inline |
Creates an LSS 'inquire identity revision-number' request with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to an LSS master.
exec | the executor used to execute the completion task. |
con | the confirmation function to be called on completion of the LSS request. |
Definition at line 1237 of file lss_master.hpp.
|
inline |
Creates an LSS 'inquire identity serial-number' request with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to an LSS master.
exec | the executor used to execute the completion task. |
con | the confirmation function to be called on completion of the LSS request. |
Definition at line 1255 of file lss_master.hpp.
|
inline |
Creates an LSS 'inquire node-ID' request with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to an LSS master.
exec | the executor used to execute the completion task. |
con | the confirmation function to be called on completion of the LSS request. |
Definition at line 1273 of file lss_master.hpp.
|
inline |
Creates an LSS 'identify non-configured remote slave' request with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to an LSS master.
exec | the executor used to execute the completion task. |
con | the confirmation function to be called on completion of the LSS request. |
Definition at line 1291 of file lss_master.hpp.
|
inline |
Creates an 'LSS Slowscan' request with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to an LSS master.
exec | the executor used to execute the completion task. |
lo | the lower bound of the LSS address of the slave device. |
hi | the upper bound of the LSS address of the slave device. The vendor-ID and product code MUST be equal to those in lo. |
con | the confirmation function to be called on completion of the LSS request. |
Definition at line 1313 of file lss_master.hpp.
|
inline |
Creates an 'LSS Fastscan' request with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to an LSS master.
exec | the executor used to execute the completion task. |
address | the bits of the LSS address of a slave device which are already known and can be skipped during scanning. |
mask | a mask specifying which bits in address are already known and can be skipped during scanning. If a bit in the mask is 1, the corresponding bit in address is not checked. |
con | the confirmation function to be called on completion of the LSS request. |
Definition at line 1338 of file lss_master.hpp.
Returns an SDO future with a shared state that is immediately ready, containing a successful result of type void
.
Returns an SDO future with a shared state that is immediately ready, containing a successful result constructed from std::forward<T>(value)
.
|
inline |
Returns an SDO future with a shared state that is immediately ready, containing a failure result constructed with make_sdo_exception_ptr(uint8_t, uint16_t, uint8_t, ::std::error_code).
|
inline |
Returns an SDO future with a shared state that is immediately ready, containing a failure result constructed with make_sdo_exception_ptr(uint8_t, uint16_t, uint8_t, ::std::error_code, const ::std::string&).
|
inline |
Returns an SDO future with a shared state that is immediately ready, containing a failure result constructed with make_sdo_exception_ptr(uint8_t, uint16_t, uint8_t, ::std::error_code, const char*).
|
inline |
Creates an SDO download request with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to a Client-SDO queue.
exec | the executor used to execute the completion task. |
idx | the object index. |
subidx | the object sub-index. |
value | the value to be written. |
con | the confirmation function to be called on completion of the SDO request. |
block | a flag specifying whether the request should use a block SDO instead of a segmented (or expedited) SDO. |
timeout | the SDO timeout. If, after the request is initiated, the timeout expires before receiving a response from the server, the client aborts the transfer with abort code SdoErrc::TIMEOUT. |
|
inline |
Creates a series of SDO download requests, corresponding to the entries in a concise DCF, with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to a Client-SDO queue.
exec | the executor used to execute the completion task. |
begin | a pointer the the first byte in a concise DCF (see object 1F22 in CiA 302-3 version 4.1.0). |
end | a pointer to one past the last byte in the concise DCF. At most end - begin bytes are read. |
con | the confirmation function to be called when all SDO download requests are successfully completed, or when an error occurs. |
timeout | the SDO timeout. If, after a single request is initiated, the timeout expires before receiving a response from the server, the client aborts the transfer with abort code SdoErrc::TIMEOUT. |
|
inline |
Creates a series of SDO download requests, corresponding to the entries in a concise DCF, with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to a Client-SDO queue.
exec | the executor used to execute the completion task. |
path | the path of the concise DCF. |
con | the confirmation function to be called when all SDO download requests are successfully completed, or when an error occurs. |
timeout | the SDO timeout. If, after a single request is initiated, the timeout expires before receiving a response from the server, the client aborts the transfer with abort code SdoErrc::TIMEOUT. |
|
inline |
Creates an SDO upload request with a completion task.
The request deletes itself after it is completed, so it MUST NOT be deleted once it is submitted to a Client-SDO queue.
exec | the executor used to execute the completion task. |
idx | the object index. |
subidx | the object sub-index. |
con | the confirmation function to be called on completion of the SDO request. |
block | a flag specifying whether the request should use a block SDO instead of a segmented (or expedited) SDO. |
timeout | the SDO timeout. If, after the request is initiated, the timeout expires before receiving a response from the server, the client aborts the transfer with abort code SdoErrc::TIMEOUT. |
|
noexcept |
Creates an std::exception_ptr
that holds a reference to a lely::canopen::SdoError with the specified attributes if ec is an SDO error (ec.category() == SdoCategory()
), or to an std::system_error if not.
std::exception_ptr
holding a reference to the newly created exception object, or to an instance of std::bad_alloc
or std::bad_exception
if an exception was thrown during the construction of the exception object. Definition at line 209 of file sdo_error.cpp.
|
noexcept |
Creates an std::exception_ptr
that holds a reference to a lely::canopen::SdoError with the specified attributes if ec is an SDO error (ec.category() == SdoCategory()
), or to an std::system_error if not.
std::exception_ptr
holding a reference to the newly created exception object, or to an instance of std::bad_alloc
or std::bad_exception
if an exception was thrown during the construction of the exception object. Definition at line 222 of file sdo_error.cpp.
|
noexcept |
Creates an std::exception_ptr
that holds a reference to a lely::canopen::SdoError with the specified attributes if ec is an SDO error (ec.category() == SdoCategory()
), or to an std::system_error if not.
std::exception_ptr
holding a reference to the newly created exception object, or to an instance of std::bad_alloc
or std::bad_exception
if an exception was thrown during the construction of the exception object. Definition at line 236 of file sdo_error.cpp.
|
inline |
Throws a lely::canopen::SdoError with the specified attributes if ec is an SDO error (ec.category() == SdoCategory()
), or an std::system_error if not.
The string returned by the what()
method of the resulting exception is guaranteed to contain what_arg as a substring.
Definition at line 234 of file sdo_error.hpp.
|
inline |
Throws a lely::canopen::SdoError with the specified attributes if ec is an SDO error (ec.category() == SdoCategory()
), or an std::system_error if not.
The string returned by the what()
method of the resulting exception is guaranteed to contain what_arg as a substring.
Definition at line 249 of file sdo_error.hpp.