MIRA
Namespaces | Classes | Typedefs | Enumerations | Functions
mira::can Namespace Reference

Namespaces

 CANOpenUtil
 A collection for some utility functions for the CANopen standard.
 

Classes

class  CANChannelInterface
 An interface for providing CAN messages with the MIRA framework. More...
 
class  CANDriver
 A general interface for a CAN driver. More...
 
class  CANDriverInterface
 A common interface to the CAN bus. More...
 
class  CANDriverMLCAN
 A driver for the MetraLabs CAN device. More...
 
class  CANDriverPCAN
 CAN Driver for hardware from PeakSystems (www.peak-systems.com) More...
 
class  CANDriverSocketCAN
 A driver for SocketCAN device. More...
 
struct  CANEmergencyMessage
 A definition of a CAN emergency message. More...
 
class  CANInterface
 A general interface for a CAN driver. More...
 
class  CANManager
 A class for handling multiple access to the CAN bus. More...
 
struct  CANMessage
 A definition of a CAN message. More...
 
class  CANMessageViewerPlugin
 CAN message viewer plugin that displays info about CAN messages. More...
 
class  CANOpenNMTMaster
 An implementation of a basic CANopen NMT master. More...
 
struct  CANOpenNodeInfo
 A struct, which contains standard information about a CANopen node. More...
 
class  CANOpenNodeInfoPlugin
 Plugin for showing informations about a CANOpen node. More...
 
class  CANOpenNodeStatusFuture
 Wrapper for boost::unique_future that is specialized for NMT status requests. More...
 
class  CANOpenSDOClient
 A CANopen SDO client. More...
 
class  CANSDOPlugin
 Plugin for showing SDO informations. More...
 
class  CANToolsView
 The base class for all graphical CAN tools. More...
 
class  CANToolsViewPlugin
 The base class for all CAN tools. More...
 
class  SDOClientBase
 
class  SDOFuture
 A SDOFuture is a proxy for the result of an asynchronous SDO upload or download. More...
 
class  SDOFuture< void >
 This is a specialization for SDO calls with the return type of void, where no get() method is available. More...
 
class  SDOFutureCommon
 Wrapper for boost::unique_future that is specialized for SDO processing. More...
 

Typedefs

typedef boost::shared_ptr< CANChannelInterfaceCANChannelInterfacePtr
 A shared pointer for CANChannelInterface. More...
 
typedef boost::shared_ptr< CANDriverCANDriverPtr
 
typedef boost::shared_ptr< CANDriverInterfaceCANDriverInterfacePtr
 A shared pointer for CANDriverInterface. More...
 
typedef boost::function< void(const CANMessage &, const Time &)> CANMessageCallback
 A callback for CAN message. More...
 
typedef boost::function< void(const CANMessage &, const Time &)> PDOCallback
 A PDO callback. More...
 
typedef boost::shared_ptr< CANInterfaceCANInterfacePtr
 A shared pointer of the CANInterface. More...
 
typedef boost::function< void(uint8, CANOpenNodeStatus)> CANOpenHeartbeat
 A callback for CANopen heartbeat message. More...
 
typedef boost::shared_ptr< CANOpenNMTMasterCANOpenNMTMasterPtr
 A shared pointer of the CANOpenNMTMaster. More...
 
typedef boost::shared_ptr< CANOpenSDOClientCANOpenSDOClientPtr
 A shared pointer of the CANOpenSDOClient. More...
 

Enumerations

enum  CANBaudRate {
  CAN_BAUDRATE_1M = 1000000, CAN_BAUDRATE_500K = 500000, CAN_BAUDRATE_250K = 250000, CAN_BAUDRATE_125K = 125000,
  CAN_BAUDRATE_100K = 100000, CAN_BAUDRATE_50K = 50000, CAN_BAUDRATE_20K = 20000, CAN_BAUDRATE_10K = 10000,
  CAN_BAUDRATE_5K = 5000
}
 An enum of the different CAN baud rates. More...
 
enum  CANStatusFlags {
  CAN_STATUS_OK = 0x0000, CAN_STATUS_XMT_FULL = 0x0001, CAN_STATUS_XMT_QUEUE_FULL = 0x0002, CAN_STATUS_RECV_OVERRUN = 0x0004,
  CAN_STATUS_RECV_QUEUE_OVERRUN = 0x0008, CAN_STATUS_BUS_LIGHT = 0x0010, CAN_STATUS_BUS_HEAVY = 0x0020, CAN_STATUS_BUS_OFF = 0x0040,
  CAN_STATUS_UNKNOWN_ERROR = 0x8000
}
 CAN status enum definitions. More...
 
enum  CANOpenError {
  CANOPEN_NO_ERROR = 0x00000000, CANOPEN_SDO_ERROR_TOGGLE_BIT_NOT_ALTERNATED = 0x05030000, CANOPEN_SDO_ERROR_SDO_PROTOCOL_TIMEOUT = 0x05040000, CANOPEN_SDO_ERROR_UNKNOWN_COMMAND = 0x05040001,
  CANOPEN_SDO_ERROR_INVALID_BLOCK_SIZE = 0x05040002, CANOPEN_SDO_ERROR_INVALID_SEQUENCE_NUMBER = 0x05040003, CANOPEN_SDO_ERROR_CRC_ERROR = 0x05040004, CANOPEN_SDO_ERROR_OUT_OF_MEMORY = 0x05040005,
  CANOPEN_SDO_ERROR_UNSUPPORTED_ACCESS = 0x06010000, CANOPEN_SDO_ERROR_READ_ON_WRITE_ONLY = 0x06010001, CANOPEN_SDO_ERROR_WRITE_ON_READ_ONLY = 0x06010002, CANOPEN_SDO_ERROR_OBJECT_DOES_NOT_EXISTS = 0x06020000,
  CANOPEN_SDO_ERROR_CANNOT_MAPPED_TO_PDO = 0x06040041, CANOPEN_SDO_ERROR_EXCEED_PDO = 0x06040042, CANOPEN_SDO_ERROR_PARAMETER_INCOMPATIBILITY = 0x06040043, CANOPEN_SDO_ERROR_INTERNAL_INCOMPATIBILITY = 0x06040047,
  CANOPEN_SDO_ERROR_HARDWARE_ERROR = 0x06060000, CANOPEN_SDO_ERROR_SERVICE_PRM_LEN_MISMATCH = 0x06070010, CANOPEN_SDO_ERROR_SERVICE_PRM_LEN_TOO_HIGH = 0x06070012, CANOPEN_SDO_ERROR_SERVICE_PRM_LEN_TOO_LOW = 0x06070013,
  CANOPEN_SDO_ERROR_SUB_INDEX_DOES_NOT_EXIST = 0x06090011, CANOPEN_SDO_ERROR_VALUE_RANGE_EXCEEDED = 0x06090030, CANOPEN_SDO_ERROR_VALUE_PARAMETER_TOO_HIGH = 0x06090031, CANOPEN_SDO_ERROR_VALUE_PARAMETER_TOO_LOW = 0x06090032,
  CANOPEN_SDO_ERROR_MAXIMUM_LESS_THAN_MINIMUM = 0x06090036, CANOPEN_SDO_ERROR_GENERAL_ERROR = 0x08000000, CANOPEN_SDO_ERROR_NO_DATA_TRANSFER = 0x08000020, CANOPEN_SDO_ERROR_NO_DATA_TRANSFER_LOCAL = 0x08000021,
  CANOPEN_SDO_ERROR_NO_DATA_TRANSFER_DEVICE = 0x08000022, CANOPEN_SDO_ERROR_OBJECT_DICTIONARY_INVALID = 0x08000023, CANOPEN_UNKNOWN_ERROR = 0xFFFFFFFF
}
 CANopen error definitions. More...
 
enum  CANOpenType {
  CANOPEN_TYPE_BOOLEAN = 0x01, CANOPEN_TYPE_INTEGER8 = 0x02, CANOPEN_TYPE_INTEGER16 = 0x03, CANOPEN_TYPE_INTEGER32 = 0x04,
  CANOPEN_TYPE_UNSIGNED8 = 0x05, CANOPEN_TYPE_UNSIGNED16 = 0x06, CANOPEN_TYPE_UNSIGNED32 = 0x07, CANOPEN_TYPE_REAL32 = 0x08,
  CANOPEN_TYPE_VISIBLE_STRING = 0x09, CANOPEN_TYPE_OCTET_STRING = 0x0A, CANOPEN_TYPE_UNICODE_STRING = 0x0B, CANOPEN_TYPE_TIME_OF_DAY = 0x0C,
  CANOPEN_TYPE_TIME_DIFFERENCE = 0x0D, CANOPEN_TYPE_DOMAIN = 0x0F, CANOPEN_TYPE_INTEGER24 = 0x10, CANOPEN_TYPE_REAL64 = 0x11,
  CANOPEN_TYPE_INTEGER40 = 0x12, CANOPEN_TYPE_INTEGER48 = 0x13, CANOPEN_TYPE_INTEGER56 = 0x14, CANOPEN_TYPE_INTEGER64 = 0x15,
  CANOPEN_TYPE_UNSIGNED24 = 0x16, CANOPEN_TYPE_UNSIGNED40 = 0x18, CANOPEN_TYPE_UNSIGNED48 = 0x19, CANOPEN_TYPE_UNSIGNED56 = 0x1A,
  CANOPEN_TYPE_UNSIGNED64 = 0x1B, CANOPEN_TYPE_PDO_COMM_PARAM = 0x20, CANOPEN_TYPE_PDO_MAPPING = 0x21, CANOPEN_TYPE_SDO_PARAMETER = 0x22,
  CANOPEN_TYPE_IDENTITY = 0x23
}
 CANopen type definitions. More...
 
enum  CANOpenSDOKind {
  CANOPEN_SDO_KIND_NULL = 0x00, CANOPEN_SDO_KIND_DOMAIN = 0x02, CANOPEN_SDO_KIND_DEFTYPE = 0x05, CANOPEN_SDO_KIND_DEFSTRUCT = 0x06,
  CANOPEN_SDO_KIND_VAR = 0x07, CANOPEN_SDO_KIND_ARRAY = 0x08, CANOPEN_SDO_KIND_RECORD = 0x09
}
 The different SDO kinds. More...
 
enum  CANOpenAccessMode {
  CANOPEN_ACCESS_MODE_UNKNOWN = 0, CANOPEN_ACCESS_MODE_RW, CANOPEN_ACCESS_MODE_WO, CANOPEN_ACCESS_MODE_RO,
  CANOPEN_ACCESS_MODE_CONST
}
 The different access rights of a CANopen SDO. More...
 
enum  CANOpenNodeStatus {
  CANOPEN_STATUS_UNKNOWN = 0, CANOPEN_STATUS_BOOTUP, CANOPEN_STATUS_STOPPED, CANOPEN_STATUS_OPERATIONAL,
  CANOPEN_STATUS_PRE_OPERATIONAL
}
 The different CANopen node states. More...
 

Functions

 MIRA_ENUM_TO_FLAGS (CANStatusFlags)
 
MLAB_CAN_EXPORT std::string convertCANStatus2String (CANStatusFlags)
 Convert a CANStatusFlag into a human-readable message. More...
 

Typedef Documentation

◆ CANChannelInterfacePtr

typedef boost::shared_ptr<CANChannelInterface> CANChannelInterfacePtr

A shared pointer for CANChannelInterface.

◆ CANDriverPtr

typedef boost::shared_ptr<CANDriver> CANDriverPtr

◆ CANDriverInterfacePtr

typedef boost::shared_ptr<CANDriverInterface> CANDriverInterfacePtr

A shared pointer for CANDriverInterface.

◆ CANMessageCallback

typedef boost::function<void (const CANMessage&, const Time&)> CANMessageCallback

A callback for CAN message.

◆ PDOCallback

typedef boost::function<void (const CANMessage&, const Time&)> PDOCallback

A PDO callback.

◆ CANInterfacePtr

typedef boost::shared_ptr<CANInterface> CANInterfacePtr

A shared pointer of the CANInterface.

◆ CANOpenHeartbeat

typedef boost::function<void (uint8, CANOpenNodeStatus)> CANOpenHeartbeat

A callback for CANopen heartbeat message.

◆ CANOpenNMTMasterPtr

typedef boost::shared_ptr<CANOpenNMTMaster> CANOpenNMTMasterPtr

A shared pointer of the CANOpenNMTMaster.

◆ CANOpenSDOClientPtr

typedef boost::shared_ptr<CANOpenSDOClient> CANOpenSDOClientPtr

A shared pointer of the CANOpenSDOClient.

Enumeration Type Documentation

◆ CANBaudRate

An enum of the different CAN baud rates.

Enumerator
CAN_BAUDRATE_1M 

1 MBit/s

CAN_BAUDRATE_500K 

500 kBit/s

CAN_BAUDRATE_250K 

250 kBit/s

CAN_BAUDRATE_125K 

125 kBit/s

CAN_BAUDRATE_100K 

100 kBit/s

CAN_BAUDRATE_50K 

50 kBit/s

CAN_BAUDRATE_20K 

20 kBit/s

CAN_BAUDRATE_10K 

10 kBit/s

CAN_BAUDRATE_5K 

5 kBit/s

◆ CANStatusFlags

CAN status enum definitions.

Enumerator
CAN_STATUS_OK 

No error.

CAN_STATUS_XMT_FULL 

The transmit buffer is full.

CAN_STATUS_XMT_QUEUE_FULL 

The transmit queue is full.

CAN_STATUS_RECV_OVERRUN 

Overrun in receive buffer.

CAN_STATUS_RECV_QUEUE_OVERRUN 

The receive queue is overrun.

CAN_STATUS_BUS_LIGHT 

buslight

CAN_STATUS_BUS_HEAVY 

busheavy

CAN_STATUS_BUS_OFF 

busoff

CAN_STATUS_UNKNOWN_ERROR 

An unknown error.

◆ CANOpenError

CANopen error definitions.

Enumerator
CANOPEN_NO_ERROR 
CANOPEN_SDO_ERROR_TOGGLE_BIT_NOT_ALTERNATED 
CANOPEN_SDO_ERROR_SDO_PROTOCOL_TIMEOUT 
CANOPEN_SDO_ERROR_UNKNOWN_COMMAND 
CANOPEN_SDO_ERROR_INVALID_BLOCK_SIZE 
CANOPEN_SDO_ERROR_INVALID_SEQUENCE_NUMBER 
CANOPEN_SDO_ERROR_CRC_ERROR 
CANOPEN_SDO_ERROR_OUT_OF_MEMORY 
CANOPEN_SDO_ERROR_UNSUPPORTED_ACCESS 
CANOPEN_SDO_ERROR_READ_ON_WRITE_ONLY 
CANOPEN_SDO_ERROR_WRITE_ON_READ_ONLY 
CANOPEN_SDO_ERROR_OBJECT_DOES_NOT_EXISTS 
CANOPEN_SDO_ERROR_CANNOT_MAPPED_TO_PDO 
CANOPEN_SDO_ERROR_EXCEED_PDO 
CANOPEN_SDO_ERROR_PARAMETER_INCOMPATIBILITY 
CANOPEN_SDO_ERROR_INTERNAL_INCOMPATIBILITY 
CANOPEN_SDO_ERROR_HARDWARE_ERROR 
CANOPEN_SDO_ERROR_SERVICE_PRM_LEN_MISMATCH 
CANOPEN_SDO_ERROR_SERVICE_PRM_LEN_TOO_HIGH 
CANOPEN_SDO_ERROR_SERVICE_PRM_LEN_TOO_LOW 
CANOPEN_SDO_ERROR_SUB_INDEX_DOES_NOT_EXIST 
CANOPEN_SDO_ERROR_VALUE_RANGE_EXCEEDED 
CANOPEN_SDO_ERROR_VALUE_PARAMETER_TOO_HIGH 
CANOPEN_SDO_ERROR_VALUE_PARAMETER_TOO_LOW 
CANOPEN_SDO_ERROR_MAXIMUM_LESS_THAN_MINIMUM 
CANOPEN_SDO_ERROR_GENERAL_ERROR 
CANOPEN_SDO_ERROR_NO_DATA_TRANSFER 
CANOPEN_SDO_ERROR_NO_DATA_TRANSFER_LOCAL 
CANOPEN_SDO_ERROR_NO_DATA_TRANSFER_DEVICE 
CANOPEN_SDO_ERROR_OBJECT_DICTIONARY_INVALID 
CANOPEN_UNKNOWN_ERROR 

◆ CANOpenType

CANopen type definitions.

Enumerator
CANOPEN_TYPE_BOOLEAN 
CANOPEN_TYPE_INTEGER8 
CANOPEN_TYPE_INTEGER16 
CANOPEN_TYPE_INTEGER32 
CANOPEN_TYPE_UNSIGNED8 
CANOPEN_TYPE_UNSIGNED16 
CANOPEN_TYPE_UNSIGNED32 
CANOPEN_TYPE_REAL32 
CANOPEN_TYPE_VISIBLE_STRING 
CANOPEN_TYPE_OCTET_STRING 
CANOPEN_TYPE_UNICODE_STRING 
CANOPEN_TYPE_TIME_OF_DAY 
CANOPEN_TYPE_TIME_DIFFERENCE 
CANOPEN_TYPE_DOMAIN 
CANOPEN_TYPE_INTEGER24 
CANOPEN_TYPE_REAL64 
CANOPEN_TYPE_INTEGER40 
CANOPEN_TYPE_INTEGER48 
CANOPEN_TYPE_INTEGER56 
CANOPEN_TYPE_INTEGER64 
CANOPEN_TYPE_UNSIGNED24 
CANOPEN_TYPE_UNSIGNED40 
CANOPEN_TYPE_UNSIGNED48 
CANOPEN_TYPE_UNSIGNED56 
CANOPEN_TYPE_UNSIGNED64 
CANOPEN_TYPE_PDO_COMM_PARAM 
CANOPEN_TYPE_PDO_MAPPING 
CANOPEN_TYPE_SDO_PARAMETER 
CANOPEN_TYPE_IDENTITY 

◆ CANOpenSDOKind

The different SDO kinds.

Enumerator
CANOPEN_SDO_KIND_NULL 
CANOPEN_SDO_KIND_DOMAIN 
CANOPEN_SDO_KIND_DEFTYPE 
CANOPEN_SDO_KIND_DEFSTRUCT 
CANOPEN_SDO_KIND_VAR 
CANOPEN_SDO_KIND_ARRAY 
CANOPEN_SDO_KIND_RECORD 

◆ CANOpenAccessMode

The different access rights of a CANopen SDO.

Enumerator
CANOPEN_ACCESS_MODE_UNKNOWN 

Unknown access mode.

CANOPEN_ACCESS_MODE_RW 

Read and write access.

CANOPEN_ACCESS_MODE_WO 

Write only access.

CANOPEN_ACCESS_MODE_RO 

Read only access.

CANOPEN_ACCESS_MODE_CONST 

Read only access, value is constant.

◆ CANOpenNodeStatus

The different CANopen node states.

Enumerator
CANOPEN_STATUS_UNKNOWN 

Unknown node status.

CANOPEN_STATUS_BOOTUP 

Node bootup.

CANOPEN_STATUS_STOPPED 

Node stopped.

CANOPEN_STATUS_OPERATIONAL 

Node in operational mode.

CANOPEN_STATUS_PRE_OPERATIONAL 

Node in pre-operational mode.

Function Documentation

◆ MIRA_ENUM_TO_FLAGS()

mira::can::MIRA_ENUM_TO_FLAGS ( CANStatusFlags  )

◆ convertCANStatus2String()

MLAB_CAN_EXPORT std::string mira::can::convertCANStatus2String ( CANStatusFlags  )

Convert a CANStatusFlag into a human-readable message.