Motion Master
Loading...
Searching...
No Matches
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)
#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)
#define CODE_GET_SUBINDEX(a)
#define CODE_GET_FLAGS(a)
#define CODE_SET_ENTRY_INDEX(i, s, f)
#define CODE_SET_MODIFIED_FLAG(i)
#define CODE_CLEAR_MODIFIED_FLAG(i)
#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.

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

◆ 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,
a )
Value:
(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)
Value:
(i & ~1)

◆ CODE_GET_FLAGS

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

◆ CODE_GET_INDEX

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

◆ CODE_GET_SUBINDEX

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

◆ CODE_SET_ENTRY_INDEX

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

◆ CODE_SET_MODIFIED_FLAG

#define CODE_SET_MODIFIED_FLAG ( i)
Value:
(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