Motion Master
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions | Variables
co_dictionary.h File Reference
#include <stdint.h>
#include <stdlib.h>
Include dependency graph for co_dictionary.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _cod_object
 
struct  _cod_subitem
 

Macros

#define ACCESS_PO_RD   0x0001
 
#define ACCESS_SO_RD   0x0002
 
#define ACCESS_OP_RD   0x0004
 
#define ACCESS_ALL_RD   (ACCESS_PO_RD | ACCESS_SO_RD | ACCESS_OP_RD)
 
#define ACCESS_PO_WR   0x0008
 
#define ACCESS_SO_WR   0x0010
 
#define ACCESS_OP_WR   0x0020
 
#define ACCESS_ALL_WR   (ACCESS_PO_WR | ACCESS_SO_WR | ACCESS_OP_WR)
 
#define ACCESS_PO_RDWR   (ACCESS_PO_RD | ACCESS_PO_WR)
 
#define ACCESS_SO_RDWR   (ACCESS_SO_RD | ACCESS_SO_WR)
 
#define ACCESS_OP_RDWR   (ACCESS_OP_RD | ACCESS_OP_WR)
 
#define ACCESS_ALL_RDWR   (ACCESS_PO_RDWR | ACCESS_SO_RDWR | ACCESS_OP_RDWR)
 
#define ACCESS_RXPDO_MAP   0x0040
 
#define ACCESS_TXPDO_MAP   0x0080
 
#define ACCESS_RXTXPDO_MAP   0x00C0
 
#define ACCESS_BACKUP   0x0100
 
#define ACCESS_STARTUP   0x0200
 
#define ACCESS_ALL_LIST_FLAGS    (ACCESS_RXPDO_MAP | ACCESS_TXPDO_MAP | ACCESS_BACKUP | ACCESS_STARTUP)
 
#define ACCESS_SET_FLAGS(b, s, p, a)   (b | s | p | a)
 
#define VALUEINFO_UNIT_TYPE   0x08
 
#define VALUEINFO_DEFAULT_VALUE   0x10
 
#define VALUEINFO_MIN_VALUE   0x20
 
#define VALUEINFO_MAX_VALUE   0x40
 
#define LIST_ALL_LIST_LENGTH   0x00
 
#define LIST_ALL_OBJECTS   0x01
 
#define LIST_RXPDO_MAPABLE   0x02
 
#define LIST_TXPDO_MAPABLE   0x03
 
#define LIST_DEVICE_REPLACEMENT   0x04
 
#define LIST_STARTUP_PARAMETER   0x05
 
#define OBJECT_TYPE_DOMAIN   0x0
 
#define OBJECT_TYPE_DEFTYPE   0x5
 
#define OBJECT_TYPE_DEFSTRUCT   0x6
 
#define OBJECT_TYPE_VAR   0x7
 
#define OBJECT_TYPE_ARRAY   0x8
 
#define OBJECT_TYPE_RECORD   0x9
 
#define DEFTYPE_BOOLEAN   0x0001
 
#define DEFTYPE_INTEGER8   0x0002
 
#define DEFTYPE_INTEGER16   0x0003
 
#define DEFTYPE_INTEGER32   0x0004
 
#define DEFTYPE_UNSIGNED8   0x0005
 
#define DEFTYPE_UNSIGNED16   0x0006
 
#define DEFTYPE_UNSIGNED32   0x0007
 
#define DEFTYPE_REAL32   0x0008
 
#define DEFTYPE_VISIBLE_STRING   0x0009
 
#define DEFTYPE_OCTET_STRING   0x000A
 
#define DEFTYPE_UNICODE_STRING   0x000B
 
#define DEFTYPE_TIME_OF_DAY   0x000C
 
#define DEFTYPE_TIME_DIFFERENCE   0x000D
 
#define DEFTYPE_DOMAIN   0x000F
 
#define DEFSTRUCT_PDO_PARAMETER   0x0020
 
#define DEFSTRUCT_PDO_MAPPING   0x0021
 
#define DEFSTRUCT_IDENTITY   0x0023
 
#define DEFSTRUCT_VENDOR_MOTOR   0x0040
 
#define CODE_GET_INDEX(a)   ((a >> 16) & 0xffff)
 
#define CODE_GET_SUBINDEX(a)   ((a >> 8) & 0xff)
 
#define CODE_GET_FLAGS(a)   (a & 0xff)
 
#define CODE_SET_ENTRY_INDEX(i, s, f)    (((i & 0xffff) << 16) | ((s & 0xff) << 8) | (f & 0xff))
 
#define CODE_SET_MODIFIED_FLAG(i)   (i | 1)
 
#define CODE_CLEAR_MODIFIED_FLAG(i)   (i & ~1)
 
#define OD_COMMUNICATION_AREA   0x1000
 
#define OD_MANUFACTURER_AREA   0x2000
 
#define OD_PROFILE_AREA   0x6000
 

Typedefs

typedef struct _cod_object COD_Object
 
typedef struct _cod_subitem COD_Subitem
 

Functions

struct _cod_object __attribute__ ((packed))
 
COD_Subitemsdo_get_entry (uint16_t object_index, uint8_t subindex)
 Get pointer to the element with given addrees. More...
 

Variables

uint16_t index
 
uint8_t type
 
uint16_t data_type
 
uint16_t access
 
uint8_t max_subindex
 
const char ** name
 
COD_Subitementry
 
size_t bitsize
 
uint32_t unit
 
uint8_t * value
 
COD_Subitem od_subitems []
 
COD_Object od_objects []
 
const size_t OD_SUBITEMS_LENGTH
 
const size_t OD_OBJECTS_LENGTH
 

Macro Definition Documentation

◆ ACCESS_ALL_LIST_FLAGS

#define ACCESS_ALL_LIST_FLAGS    (ACCESS_RXPDO_MAP | ACCESS_TXPDO_MAP | ACCESS_BACKUP | ACCESS_STARTUP)

◆ ACCESS_ALL_RD

#define ACCESS_ALL_RD   (ACCESS_PO_RD | ACCESS_SO_RD | ACCESS_OP_RD)

◆ ACCESS_ALL_RDWR

#define ACCESS_ALL_RDWR   (ACCESS_PO_RDWR | ACCESS_SO_RDWR | ACCESS_OP_RDWR)

◆ ACCESS_ALL_WR

#define ACCESS_ALL_WR   (ACCESS_PO_WR | ACCESS_SO_WR | ACCESS_OP_WR)

◆ ACCESS_BACKUP

#define ACCESS_BACKUP   0x0100

◆ ACCESS_OP_RD

#define ACCESS_OP_RD   0x0004

◆ ACCESS_OP_RDWR

#define ACCESS_OP_RDWR   (ACCESS_OP_RD | ACCESS_OP_WR)

◆ ACCESS_OP_WR

#define ACCESS_OP_WR   0x0020

◆ ACCESS_PO_RD

#define ACCESS_PO_RD   0x0001

◆ ACCESS_PO_RDWR

#define ACCESS_PO_RDWR   (ACCESS_PO_RD | ACCESS_PO_WR)

◆ ACCESS_PO_WR

#define ACCESS_PO_WR   0x0008

◆ ACCESS_RXPDO_MAP

#define ACCESS_RXPDO_MAP   0x0040

◆ ACCESS_RXTXPDO_MAP

#define ACCESS_RXTXPDO_MAP   0x00C0

◆ ACCESS_SET_FLAGS

#define ACCESS_SET_FLAGS (   b,
  s,
  p,
 
)    (b | s | p | a)

◆ ACCESS_SO_RD

#define ACCESS_SO_RD   0x0002

◆ ACCESS_SO_RDWR

#define ACCESS_SO_RDWR   (ACCESS_SO_RD | ACCESS_SO_WR)

◆ ACCESS_SO_WR

#define ACCESS_SO_WR   0x0010

◆ ACCESS_STARTUP

#define ACCESS_STARTUP   0x0200

◆ ACCESS_TXPDO_MAP

#define ACCESS_TXPDO_MAP   0x0080

◆ CODE_CLEAR_MODIFIED_FLAG

#define CODE_CLEAR_MODIFIED_FLAG (   i)    (i & ~1)

◆ CODE_GET_FLAGS

#define CODE_GET_FLAGS (   a)    (a & 0xff)

◆ CODE_GET_INDEX

#define CODE_GET_INDEX (   a)    ((a >> 16) & 0xffff)

◆ CODE_GET_SUBINDEX

#define CODE_GET_SUBINDEX (   a)    ((a >> 8) & 0xff)

◆ CODE_SET_ENTRY_INDEX

#define CODE_SET_ENTRY_INDEX (   i,
  s,
 
)     (((i & 0xffff) << 16) | ((s & 0xff) << 8) | (f & 0xff))

◆ CODE_SET_MODIFIED_FLAG

#define CODE_SET_MODIFIED_FLAG (   i)    (i | 1)

◆ DEFSTRUCT_IDENTITY

#define DEFSTRUCT_IDENTITY   0x0023

◆ DEFSTRUCT_PDO_MAPPING

#define DEFSTRUCT_PDO_MAPPING   0x0021

◆ DEFSTRUCT_PDO_PARAMETER

#define DEFSTRUCT_PDO_PARAMETER   0x0020

◆ DEFSTRUCT_VENDOR_MOTOR

#define DEFSTRUCT_VENDOR_MOTOR   0x0040

◆ DEFTYPE_BOOLEAN

#define DEFTYPE_BOOLEAN   0x0001

◆ DEFTYPE_DOMAIN

#define DEFTYPE_DOMAIN   0x000F

◆ DEFTYPE_INTEGER16

#define DEFTYPE_INTEGER16   0x0003

◆ DEFTYPE_INTEGER32

#define DEFTYPE_INTEGER32   0x0004

◆ DEFTYPE_INTEGER8

#define DEFTYPE_INTEGER8   0x0002

◆ DEFTYPE_OCTET_STRING

#define DEFTYPE_OCTET_STRING   0x000A

◆ DEFTYPE_REAL32

#define DEFTYPE_REAL32   0x0008

◆ DEFTYPE_TIME_DIFFERENCE

#define DEFTYPE_TIME_DIFFERENCE   0x000D

◆ DEFTYPE_TIME_OF_DAY

#define DEFTYPE_TIME_OF_DAY   0x000C

◆ DEFTYPE_UNICODE_STRING

#define DEFTYPE_UNICODE_STRING   0x000B

◆ DEFTYPE_UNSIGNED16

#define DEFTYPE_UNSIGNED16   0x0006

◆ DEFTYPE_UNSIGNED32

#define DEFTYPE_UNSIGNED32   0x0007

◆ DEFTYPE_UNSIGNED8

#define DEFTYPE_UNSIGNED8   0x0005

◆ DEFTYPE_VISIBLE_STRING

#define DEFTYPE_VISIBLE_STRING   0x0009

◆ LIST_ALL_LIST_LENGTH

#define LIST_ALL_LIST_LENGTH   0x00

◆ LIST_ALL_OBJECTS

#define LIST_ALL_OBJECTS   0x01

◆ LIST_DEVICE_REPLACEMENT

#define LIST_DEVICE_REPLACEMENT   0x04

◆ LIST_RXPDO_MAPABLE

#define LIST_RXPDO_MAPABLE   0x02

◆ LIST_STARTUP_PARAMETER

#define LIST_STARTUP_PARAMETER   0x05

◆ LIST_TXPDO_MAPABLE

#define LIST_TXPDO_MAPABLE   0x03

◆ OBJECT_TYPE_ARRAY

#define OBJECT_TYPE_ARRAY   0x8

◆ OBJECT_TYPE_DEFSTRUCT

#define OBJECT_TYPE_DEFSTRUCT   0x6

◆ OBJECT_TYPE_DEFTYPE

#define OBJECT_TYPE_DEFTYPE   0x5

◆ OBJECT_TYPE_DOMAIN

#define OBJECT_TYPE_DOMAIN   0x0

◆ OBJECT_TYPE_RECORD

#define OBJECT_TYPE_RECORD   0x9

◆ OBJECT_TYPE_VAR

#define OBJECT_TYPE_VAR   0x7

◆ OD_COMMUNICATION_AREA

#define OD_COMMUNICATION_AREA   0x1000

◆ OD_MANUFACTURER_AREA

#define OD_MANUFACTURER_AREA   0x2000

◆ OD_PROFILE_AREA

#define OD_PROFILE_AREA   0x6000

◆ VALUEINFO_DEFAULT_VALUE

#define VALUEINFO_DEFAULT_VALUE   0x10

◆ VALUEINFO_MAX_VALUE

#define VALUEINFO_MAX_VALUE   0x40

◆ VALUEINFO_MIN_VALUE

#define VALUEINFO_MIN_VALUE   0x20

◆ VALUEINFO_UNIT_TYPE

#define VALUEINFO_UNIT_TYPE   0x08

Typedef Documentation

◆ COD_Object

typedef struct _cod_object COD_Object

◆ COD_Subitem

typedef struct _cod_subitem COD_Subitem

Function Documentation

◆ __attribute__()

struct _cod_subitem __attribute__ ( (packed)  )

◆ sdo_get_entry()

COD_Subitem * sdo_get_entry ( uint16_t  object_index,
uint8_t  subindex 
)

Get pointer to the element with given addrees.

Parameters
object_indexindex of the element
subindexsubindex of the element
Returns
pointer to the element in DS, NULL if element does not exist

Variable Documentation

◆ access

uint16_t access

◆ bitsize

size_t bitsize

◆ data_type

uint16_t data_type

◆ entry

COD_Subitem* entry

◆ index

uint32_t index

◆ max_subindex

uint8_t max_subindex

◆ name

const char ** name

◆ od_objects

COD_Object od_objects[]
extern

◆ OD_OBJECTS_LENGTH

const size_t OD_OBJECTS_LENGTH
extern

◆ od_subitems

COD_Subitem od_subitems[]
extern

◆ OD_SUBITEMS_LENGTH

const size_t OD_SUBITEMS_LENGTH
extern

◆ type

uint8_t type

◆ unit

uint32_t unit

◆ value

uint8_t* value