Lely core libraries  1.9.2
lely::canopen Namespace Reference

Namespace for the C++ CANopen application library. More...

Namespaces

 detail
 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  BasicLockable
 An abstract interface conforming to the BasicLockable concept. More...
 
class  BasicMaster
 The CANopen master. More...
 
class  BasicSlave
 The base class for CANopen slaves. More...
 
class  Device
 The CANopen device description. More...
 
class  DriverBase
 The abstract driver interface for a remote CANopen node. More...
 
class  IoContext
 The I/O context. More...
 
class  LoopDriver
 A CANopen driver running its own dedicated event loop in a separate thread. More...
 
class  Node
 The base class for CANopen nodes. More...
 
class  Sdo
 The Client-SDO queue. More...
 
class  SdoError
 The type of exception thrown when an SDO abort code is received. More...
 

Enumerations

enum  NmtCommand {
  NmtCommand::START = 0x01, NmtCommand::STOP = 0x02, NmtCommand::ENTER_PREOP = 0x80, NmtCommand::RESET_NODE = 0x81,
  NmtCommand::RESET_COMM = 0x82
}
 The NMT command specifiers. More...
 
enum  NmtState {
  NmtState::BOOTUP = 0x00, NmtState::STOP = 0x04, NmtState::START = 0x05, NmtState::RESET_NODE = 0x06,
  NmtState::RESET_COMM = 0x07, NmtState::PREOP = 0x7f, NmtState::TOGGLE = 0x80
}
 The NMT states. More...
 
enum  SdoErrc : uint32_t {
  SdoErrc::TOGGLE = UINT32_C(0x05030000), SdoErrc::TIMEOUT = UINT32_C(0x05040000), SdoErrc::NO_CS = UINT32_C(0x05040001), SdoErrc::BLK_SIZE = UINT32_C(0x05040002),
  SdoErrc::BLK_SEQ = UINT32_C(0x05040003), SdoErrc::BLK_CRC = UINT32_C(0x05040004), SdoErrc::NO_MEM = UINT32_C(0x05040005), SdoErrc::NO_ACCESS = UINT32_C(0x06010000),
  SdoErrc::NO_READ = UINT32_C(0x06010001), SdoErrc::NO_WRITE = UINT32_C(0x06010002), SdoErrc::NO_OBJ = UINT32_C(0x06020000), SdoErrc::NO_PDO = UINT32_C(0x06040041),
  SdoErrc::PDO_LEN = UINT32_C(0x06040042), SdoErrc::PARAM = UINT32_C(0x06040043), SdoErrc::COMPAT = UINT32_C(0x06040047), SdoErrc::HARDWARE = UINT32_C(0x06060000),
  SdoErrc::TYPE_LEN = UINT32_C(0x06070010), SdoErrc::TYPE_LEN_HI = UINT32_C(0x06070012), SdoErrc::TYPE_LEN_LO = UINT32_C(0x06070013), SdoErrc::NO_SUB = UINT32_C(0x06090011),
  SdoErrc::PARAM_VAL = UINT32_C(0x06090030), SdoErrc::PARAM_HI = UINT32_C(0x06090031), SdoErrc::PARAM_LO = UINT32_C(0x06090032), SdoErrc::PARAM_RANGE = UINT32_C(0x06090036),
  SdoErrc::NO_SDO = UINT32_C(0x060a0023), SdoErrc::ERROR = UINT32_C(0x08000000), SdoErrc::DATA = UINT32_C(0x08000020), SdoErrc::DATA_CTL = UINT32_C(0x08000021),
  SdoErrc::DATA_DEV = UINT32_C(0x08000022), SdoErrc::NO_OD = UINT32_C(0x08000023), SdoErrc::NO_VAL = UINT32_C(0x08000024)
}
 The SDO abort codes. More...
 

Functions

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.
 

Detailed Description

Namespace for the C++ CANopen application library.

Enumeration Type Documentation

◆ NmtCommand

The NMT command specifiers.

Enumerator
START 

Start.

STOP 

Stop.

ENTER_PREOP 

Enter pre-operational.

RESET_NODE 

Reset node.

RESET_COMM 

Reset communication.

Definition at line 36 of file node.hpp.

◆ NmtState

The NMT states.

Enumerator
BOOTUP 

Boot-up.

STOP 

Stopped,.

START 

Operational.

RESET_NODE 

Reset application (a local NMT sub-state).

RESET_COMM 

Reset communication (a local NMT sub-state).

PREOP 

Pre-operational.

TOGGLE 

The mask to get/set the toggle bit from an NMT state.

Definition at line 50 of file node.hpp.

◆ SdoErrc

enum lely::canopen::SdoErrc : uint32_t
strong

The SDO abort codes.

Enumerator
TOGGLE 

Toggle bit not altered.

TIMEOUT 

SDO protocol timed out.

NO_CS 

Client/server command specifier not valid or unknown.

BLK_SIZE 

Invalid block size (block mode only).

BLK_SEQ 

Invalid sequence number (block mode only).

BLK_CRC 

CRC error (block mode only).

NO_MEM 

Out of memory.

NO_ACCESS 

Unsupported access to an object.

NO_READ 

Attempt to read a write only object.

NO_WRITE 

Attempt to write a read only object.

NO_OBJ 

Object does not exist in the object dictionary.

NO_PDO 

Object cannot be mapped to the PDO.

PDO_LEN 

The number and length of the objects to be mapped would exceed the PDO length.

PARAM 

General parameter incompatibility reason.

COMPAT 

General internal incompatibility in the device.

HARDWARE 

Access failed due to a hardware error.

TYPE_LEN 

Data type does not match, length of service parameter does not match.

TYPE_LEN_HI 

Data type does not match, length of service parameter too high.

TYPE_LEN_LO 

Data type does not match, length of service parameter too low.

NO_SUB 

Sub-index does not exist.

PARAM_VAL 

Invalid value for parameter (download only).

PARAM_HI 

Value of parameter written too high (download only).

PARAM_LO 

Value of parameter written too low (download only).

PARAM_RANGE 

Maximum value is less than minimum value (download only).

NO_SDO 

Resource not available: SDO connection.

ERROR 

General error.

DATA 

Data cannot be transferred or stored to the application.

DATA_CTL 

Data cannot be transferred or stored to the application because of local control.

DATA_DEV 

Data cannot be transferred or stored to the application because of the present device state.

NO_OD 

Object dictionary dynamic generation fails or no object dictionary is present (e.g.

object dictionary is generated from file and generation fails because of a file error).

NO_VAL 

No data available. (NO_DATA is a macro defined in <netdb.h>)

Definition at line 37 of file sdo_error.hpp.