EtherCATDataTypes.h File Reference
#include <bitset>
#include <cstdint>
#include <variant>
#include <vector>
+ Include dependency graph for EtherCATDataTypes.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  TypeMap< E >
 Maps from EtherCATDataTypeEnum to EtherCATDataType. More...
 
struct  TypeMap< EtherCATDataTypeEnum::BIT1 >
 
struct  TypeMap< EtherCATDataTypeEnum::BIT2 >
 
struct  TypeMap< EtherCATDataTypeEnum::BIT3 >
 
struct  TypeMap< EtherCATDataTypeEnum::BIT4 >
 
struct  TypeMap< EtherCATDataTypeEnum::BIT5 >
 
struct  TypeMap< EtherCATDataTypeEnum::BIT6 >
 
struct  TypeMap< EtherCATDataTypeEnum::BIT7 >
 
struct  TypeMap< EtherCATDataTypeEnum::BIT8 >
 
struct  TypeMap< EtherCATDataTypeEnum::BOOLEAN >
 
struct  TypeMap< EtherCATDataTypeEnum::BYTE >
 
struct  TypeMap< EtherCATDataTypeEnum::INTEGER16 >
 
struct  TypeMap< EtherCATDataTypeEnum::INTEGER24 >
 
struct  TypeMap< EtherCATDataTypeEnum::INTEGER32 >
 
struct  TypeMap< EtherCATDataTypeEnum::INTEGER64 >
 
struct  TypeMap< EtherCATDataTypeEnum::INTEGER8 >
 
struct  TypeMap< EtherCATDataTypeEnum::OCTET_STRING >
 
struct  TypeMap< EtherCATDataTypeEnum::REAL32 >
 
struct  TypeMap< EtherCATDataTypeEnum::REAL64 >
 
struct  TypeMap< EtherCATDataTypeEnum::TIME_DIFFERENCE >
 
struct  TypeMap< EtherCATDataTypeEnum::TIME_OF_DAY >
 
struct  TypeMap< EtherCATDataTypeEnum::UNICODE_STRING >
 
struct  TypeMap< EtherCATDataTypeEnum::UNSIGNED16 >
 
struct  TypeMap< EtherCATDataTypeEnum::UNSIGNED24 >
 
struct  TypeMap< EtherCATDataTypeEnum::UNSIGNED32 >
 
struct  TypeMap< EtherCATDataTypeEnum::UNSIGNED64 >
 
struct  TypeMap< EtherCATDataTypeEnum::UNSIGNED8 >
 
struct  TypeMap< EtherCATDataTypeEnum::VISIBLE_STRING >
 

Namespaces

 armarx
 This file offers overloads of toIce() and fromIce() functions for STL container types.
 
 armarx::control
 
 armarx::control::ethercat
 
 armarx::control::ethercat::datatypes
 
 armarx::control::ethercat::datatypes::EtherCATDataType
 Holds all the types we support via EtherCAT as their C++ equivalents along with some tools to handle them.
 

Typedefs

using BIT1 = std::bitset< 1 >
 
using BIT2 = std::bitset< 2 >
 
using BIT3 = std::bitset< 3 >
 
using BIT4 = std::bitset< 4 >
 
using BIT5 = std::bitset< 5 >
 
using BIT6 = std::bitset< 6 >
 
using BIT7 = std::bitset< 7 >
 
using BIT8 = std::bitset< 8 >
 
using BOOLEAN = bool
 
using BYTE = uint8_t
 
using INTEGER16 = int16_t
 
using INTEGER24 = std::bitset< 24 >
 
using INTEGER32 = int32_t
 
using INTEGER64 = int64_t
 
using INTEGER8 = int8_t
 
using OCTET_STRING = std::vector< uint8_t >
 
using REAL32 = float
 
using REAL64 = double
 
using TIME_DIFFERENCE = uint64_t
 
using TIME_OF_DAY = std::bitset< 48 >
 
using UNICODE_STRING = std::string
 
using UNSIGNED16 = uint16_t
 
using UNSIGNED24 = std::bitset< 24 >
 
using UNSIGNED32 = uint32_t
 
using UNSIGNED64 = uint64_t
 
using UNSIGNED8 = uint8_t
 
using VISIBLE_STRING = std::string
 

Enumerations

enum  EtherCATDataTypeEnum {
  BOOLEAN = 1, INTEGER8 = 2, INTEGER16 = 3, INTEGER32 = 4,
  UNSIGNED8 = 5, UNSIGNED16 = 6, UNSIGNED32 = 7, REAL32 = 8,
  VISIBLE_STRING = 9, OCTET_STRING = 10, UNICODE_STRING = 11, TIME_OF_DAY = 12,
  TIME_DIFFERENCE = 13, INTEGER24 = 16, REAL64 = 17, INTEGER64 = 21,
  UNSIGNED24 = 22, UNSIGNED64 = 27, BYTE = 30, BIT1 = 48,
  BIT2 = 49, BIT3 = 50, BIT4 = 51, BIT5 = 52,
  BIT6 = 53, BIT7 = 54, BIT8 = 55
}
 Holds all the types we support via EtherCAT in a type-agnostic enum. More...
 

Variables

template<typename T >
constexpr int bitLength = -1
 Defines the length of the various EtherCATDataTypes in bits. More...
 
template<>
constexpr int bitLength< BIT1 > = 1
 
template<>
constexpr int bitLength< BIT2 > = 2
 
template<>
constexpr int bitLength< BIT3 > = 3
 
template<>
constexpr int bitLength< BIT4 > = 4
 
template<>
constexpr int bitLength< BIT5 > = 5
 
template<>
constexpr int bitLength< BIT6 > = 6
 
template<>
constexpr int bitLength< BIT7 > = 7
 
template<>
constexpr int bitLength< BIT8 > = 8
 
template<>
constexpr int bitLength< BOOLEAN > = 8
 
template<>
constexpr int bitLength< INTEGER16 > = 16
 
template<>
constexpr int bitLength< INTEGER24 > = 24
 
template<>
constexpr int bitLength< INTEGER32 > = 32
 
template<>
constexpr int bitLength< INTEGER64 > = 64
 
template<>
constexpr int bitLength< INTEGER8 > = 8
 
template<>
constexpr int bitLength< OCTET_STRING > = -1
 
template<>
constexpr int bitLength< REAL32 > = 32
 
template<>
constexpr int bitLength< REAL64 > = 64
 
template<>
constexpr int bitLength< TIME_OF_DAY > = 48
 
template<>
constexpr int bitLength< UNSIGNED16 > = 16
 
template<>
constexpr int bitLength< UNSIGNED32 > = 32
 
template<>
constexpr int bitLength< UNSIGNED64 > = 64
 
template<>
constexpr int bitLength< UNSIGNED8 > = 8
 
template<>
constexpr int bitLength< VISIBLE_STRING > = -1