Motion Master 6.0.0-alpha.50
Next-generation motion control software
Loading...
Searching...
No Matches
object_data_types.h File Reference
#include <algorithm>
#include <array>
#include <cstdint>
#include <nlohmann/json_fwd.hpp>
#include <string_view>
Include dependency graph for object_data_types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mm::comm::ObjectDataTypeInfo
 Metadata for a single object dictionary data type. More...
 

Namespaces

namespace  mm
 
namespace  mm::comm
 

Enumerations

enum class  mm::comm::ObjectDataType : uint16_t {
  mm::comm::UNSPECIFIED = 0x0000 , mm::comm::BOOLEAN = 0x0001 , mm::comm::BYTE = 0x001E , mm::comm::WORD = 0x001F ,
  mm::comm::DWORD = 0x0020 , mm::comm::BIT1 = 0x0030 , mm::comm::BIT2 = 0x0031 , mm::comm::BIT3 = 0x0032 ,
  mm::comm::BIT4 = 0x0033 , mm::comm::BIT5 = 0x0034 , mm::comm::BIT6 = 0x0035 , mm::comm::BIT7 = 0x0036 ,
  mm::comm::BIT8 = 0x0037 , mm::comm::BIT9 = 0x0038 , mm::comm::BIT10 = 0x0039 , mm::comm::BIT11 = 0x003A ,
  mm::comm::BIT12 = 0x003B , mm::comm::BIT13 = 0x003C , mm::comm::BIT14 = 0x003D , mm::comm::BIT15 = 0x003E ,
  mm::comm::BIT16 = 0x003F , mm::comm::BITARR8 = 0x002D , mm::comm::BITARR16 = 0x002E , mm::comm::BITARR32 = 0x002F ,
  mm::comm::INTEGER8 = 0x0002 , mm::comm::INTEGER16 = 0x0003 , mm::comm::INTEGER24 = 0x0010 , mm::comm::INTEGER32 = 0x0004 ,
  mm::comm::INTEGER40 = 0x0012 , mm::comm::INTEGER48 = 0x0013 , mm::comm::INTEGER56 = 0x0014 , mm::comm::INTEGER64 = 0x0015 ,
  mm::comm::UNSIGNED8 = 0x0005 , mm::comm::UNSIGNED16 = 0x0006 , mm::comm::UNSIGNED24 = 0x0016 , mm::comm::UNSIGNED32 = 0x0007 ,
  mm::comm::UNSIGNED40 = 0x0018 , mm::comm::UNSIGNED48 = 0x0019 , mm::comm::UNSIGNED56 = 0x001A , mm::comm::UNSIGNED64 = 0x001B ,
  mm::comm::REAL32 = 0x0008 , mm::comm::REAL64 = 0x0011 , mm::comm::GUID = 0x001D , mm::comm::VISIBLE_STRING = 0x0009 ,
  mm::comm::OCTET_STRING = 0x000A , mm::comm::UNICODE_STRING = 0x000B , mm::comm::WSTRING = 0x0268 , mm::comm::TIME_OF_DAY = 0x000C ,
  mm::comm::TIME_DIFFERENCE = 0x000D , mm::comm::DOMAIN = 0x000F , mm::comm::ARRAY_OF_INT = 0x0260 , mm::comm::ARRAY_OF_SINT = 0x0261 ,
  mm::comm::ARRAY_OF_DINT = 0x0262 , mm::comm::ARRAY_OF_UDINT = 0x0263 , mm::comm::ARRAY_OF_BITARR8 = 0x0264 , mm::comm::ARRAY_OF_BITARR16 = 0x0265 ,
  mm::comm::ARRAY_OF_BITARR32 = 0x0266 , mm::comm::ARRAY_OF_USINT = 0x0267 , mm::comm::ARRAY_OF_REAL = 0x0269 , mm::comm::ARRAY_OF_LREAL = 0x026A ,
  mm::comm::PDO_MAPPING = 0x0021 , mm::comm::IDENTITY = 0x0023 , mm::comm::COMMAND_PAR = 0x0025 , mm::comm::PDO_PARAMETER = 0x0027 ,
  mm::comm::ENUM = 0x0028 , mm::comm::SM_SYNCHRONISATION = 0x0029 , mm::comm::RECORD = 0x002A , mm::comm::BACKUP_PARAMETER = 0x002B ,
  mm::comm::MODULAR_DEVICE_PROFILE = 0x002C , mm::comm::ERROR_SETTING = 0x0281 , mm::comm::DIAGNOSIS_HISTORY = 0x0282 , mm::comm::EXTERNAL_SYNC_STATUS = 0x0283 ,
  mm::comm::EXTERNAL_SYNC_SETTINGS = 0x0284 , mm::comm::DEFTYPE_FSOEFRAME = 0x0285 , mm::comm::DEFTYPE_FSOECOMMPAR = 0x0286 , mm::comm::UTYPE_START = 0x0800 ,
  mm::comm::UTYPE_END = 0x0FFF
}
 CoE object dictionary data type codes. More...
 

Functions

void mm::comm::to_json (nlohmann::json &j, const ObjectDataTypeInfo &info)
 Serialises an ObjectDataTypeInfo to JSON.
 
constexpr std::string_view mm::comm::objectDataTypeName (uint16_t code)
 Returns the symbolic name of code, or "UNKNOWN" if it is not in the table.
 
constexpr uint16_t mm::comm::objectDataTypeBitSize (uint16_t code)
 Returns the declared bit width of code, or 0 if unknown / variable-length.
 

Variables

constexpr auto mm::comm::kObjectDataTypes
 Catalogue of ETG.1020 object dictionary data types.