]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - apps/tidep0079.git/blob - EC_Master_SysBios_Am572x/SDK/INC/EcType.bak
cd8293a11f270a71c2f197b2b0d8887b45c4cc66
[apps/tidep0079.git] / EC_Master_SysBios_Am572x / SDK / INC / EcType.bak
1 /*-----------------------------------------------------------------------------
2  * EcType.h
3  * Copyright                acontis technologies GmbH, Weingarten, Germany
4  * Response                 Stefan Zintgraf
5  * Description              EtherCAT Master type definitions
6  *---------------------------------------------------------------------------*/
8 #ifndef INC_ECTYPE
9 #define INC_ECTYPE
11 /*-TYPEDEFS------------------------------------------------------------------*/
12 #define EC_T_VOID void
13 typedef void*           EC_T_PVOID;
15 typedef int             EC_T_BOOL;
17 typedef char            EC_T_CHAR;
18 typedef unsigned short  EC_T_WCHAR;
20 typedef unsigned char   EC_T_BYTE, *EC_T_PBYTE;
21 typedef unsigned short  EC_T_WORD;
22 typedef unsigned int    EC_T_DWORD;
24 typedef signed char         EC_T_SBYTE;
25 typedef signed short    EC_T_SWORD;
26 typedef signed int      EC_T_SDWORD;
28 typedef int             EC_T_INT;
29 typedef unsigned int    EC_T_UINT;
31 typedef short           EC_T_SHORT;
32 typedef unsigned short  EC_T_USHORT;
34 typedef double                  EC_T_REAL;
36 typedef void*                   EC_T_ADDRESS;
38 typedef void*                   EC_T_HANDLE;
40 /* type of lock */
41 typedef enum
42 {
43     eLockType_DEFAULT= 1,                           /*< Default mutex           */
44     eLockType_SPIN,                                 /*< only jobs --> spin lock */
45     eLockType_INTERFACE,                            /*< interface and jobs      */
47     /* Borland C++ datatype alignment correction */
48     eLockType_BCppDummy   = 0xFFFFFFFF
49 } EC_T_OS_LOCK_TYPE;                                       
52 /*/////////////////////////////////////////////////////////////////////////////////////////
53 //
54 // Standard Types
55 */
56 #define DEFTYPE_NULL              ((EC_T_WORD)0x0000)       
57 #define DEFTYPE_BOOLEAN           ((EC_T_WORD)0x0001)       /* bit size: 1 */
58 #define DEFTYPE_INTEGER8          ((EC_T_WORD)0x0002)       /* bit size: 8 */
59 #define DEFTYPE_INTEGER16         ((EC_T_WORD)0x0003)       /* bit size: 16 */
60 #define DEFTYPE_INTEGER32         ((EC_T_WORD)0x0004)       /* bit size: 32 */
61 #define DEFTYPE_UNSIGNED8         ((EC_T_WORD)0x0005)       /* bit size: 8 */
62 #define DEFTYPE_UNSIGNED16        ((EC_T_WORD)0x0006)       /* bit size: 16 */
63 #define DEFTYPE_UNSIGNED32        ((EC_T_WORD)0x0007)       /* bit size: 32 */
64 #define DEFTYPE_REAL32            ((EC_T_WORD)0x0008)       /* bit size: 32 */
65 #define DEFTYPE_VISIBLESTRING     ((EC_T_WORD)0x0009)       /* bit size: 8*n */
66 #define DEFTYPE_OCTETSTRING       ((EC_T_WORD)0x000A)       /* bit size: 8*(n+1) */
67 #define DEFTYPE_UNICODESTRING     ((EC_T_WORD)0x000B)       /* bit size: 16*(n+1) */
68 #define DEFTYPE_TIMEOFDAY         ((EC_T_WORD)0x000C)
69 #define DEFTYPE_TIMEDIFFERENCE    ((EC_T_WORD)0x000D)
70 #define DEFTYPE_DOMAIN            ((EC_T_WORD)0x000F)
71 #define DEFTYPE_INTEGER24         ((EC_T_WORD)0x0010)       /* bit size: 24 */
72 #define DEFTYPE_REAL64            ((EC_T_WORD)0x0011)       /* bit size: 64 */
73 #define DEFTYPE_INTEGER40         ((EC_T_WORD)0x0012)       /* bit size: 40 */
74 #define DEFTYPE_INTEGER48         ((EC_T_WORD)0x0013)       /* bit size: 48 */
75 #define DEFTYPE_INTEGER56         ((EC_T_WORD)0x0014)       /* bit size: 56 */
76 #define DEFTYPE_INTEGER64         ((EC_T_WORD)0x0015)       /* bit size: 64 */
77 #define DEFTYPE_UNSIGNED24        ((EC_T_WORD)0x0016)       /* bit size: 24 */
78 #define DEFTYPE_UNSIGNED40        ((EC_T_WORD)0x0018)       /* bit size: 40 */
79 #define DEFTYPE_UNSIGNED48        ((EC_T_WORD)0x0019)       /* bit size: 48 */
80 #define DEFTYPE_UNSIGNED56        ((EC_T_WORD)0x001A)       /* bit size: 56 */
81 #define DEFTYPE_UNSIGNED64        ((EC_T_WORD)0x001B)       /* bit size: 64 */
83 #define DEFTYPE_GUID              ((EC_T_WORD)0x001D)       /* bit size: 128 */
84 #define DEFTYPE_BYTE              ((EC_T_WORD)0x001E)       /* bit size: 8 */
85 #define DEFTYPE_WORD              ((EC_T_WORD)0x001F)       /* bit size: 16 */
86 #define DEFTYPE_DWORD             ((EC_T_WORD)0x0020)       /* bit size: 32 */
87 #define DEFTYPE_PDOMAPPING        ((EC_T_WORD)0x0021)
89 #define DEFTYPE_IDENTITY          ((EC_T_WORD)0x0023)
91 #define DEFTYPE_COMMAND           ((EC_T_WORD)0x0025)
92 #define DEFTYPE_PDOCOMPAR         ((EC_T_WORD)0x0027)
93 #define DEFTYPE_ENUM              ((EC_T_WORD)0x0028)
94 #define DEFTYPE_SMPAR             ((EC_T_WORD)0x0029)
95 #define DEFTYPE_RECORD            ((EC_T_WORD)0x002A)
96 #define DEFTYPE_BACKUP_PARAMETER  ((EC_T_WORD)0x002B)
97 #define DEFTYPE_MODULAR_DEVICE_PROFILE  ((EC_T_WORD)0x002C)
98 #define DEFTYPE_BITARR8           ((EC_T_WORD)0x002D)       /* bit size: 8 */
99 #define DEFTYPE_BITARR16          ((EC_T_WORD)0x002E)       /* bit size: 16 */
100 #define DEFTYPE_BITARR32          ((EC_T_WORD)0x002F)       /* bit size: 32 */
101 #define DEFTYPE_BIT1              ((EC_T_WORD)0x0030)       /* bit size: 1 */
102 #define DEFTYPE_BIT2              ((EC_T_WORD)0x0031)       /* bit size: 1 */
103 #define DEFTYPE_BIT3              ((EC_T_WORD)0x0032)       /* bit size: 1 */
104 #define DEFTYPE_BIT4              ((EC_T_WORD)0x0033)       /* bit size: 1 */
105 #define DEFTYPE_BIT5              ((EC_T_WORD)0x0034)       /* bit size: 1 */
106 #define DEFTYPE_BIT6              ((EC_T_WORD)0x0035)       /* bit size: 1 */
107 #define DEFTYPE_BIT7              ((EC_T_WORD)0x0036)       /* bit size: 1 */
108 #define DEFTYPE_BIT8              ((EC_T_WORD)0x0037)       /* bit size: 1 */
111 /*-MACROS--------------------------------------------------------------------*/
112 #define EC_FALSE            0
113 #define EC_TRUE             1
114 #define EC_NULL             0
116 #define EC_NOWAIT           ((EC_T_DWORD)0x00000000)
117 #define EC_WAITINFINITE     ((EC_T_DWORD)0xFFFFFFFF)
120 /*-MASTER FEATURES-----------------------------------------------------------*/
122 /* object dictionary */
123 #define EC_MASTER_DEVICE_NAME       "EC-Master"         /* Index: 0x1008 */
124 #define EC_MASTER_HW_VERSION        "V xx.xx.xx.xx"     /* Index: 0x1009 */
125 #define EC_MASTER_SW_VERSION        "V xx.xx.xx.xx"     /* Index: 0x100A */
126 #define EC_MASTER_VENDOR_ID         0x00004154          /* Index: 0x1018 Subindex 1 */
127 #define EC_MASTER_PRODUCT_CODE      0x6d657461          /* Index: 0x1018 Subindex 2 */
129 /* bit mask for supported features (used for license check) */
130 #define EC_FEATURES_MASTER_MASK     0x00000001
131 #define EC_FEATURES_RED_MASK        0x00000002
133 /* Class B */
134 #ifdef  EXCLUDE_EC_MASTER_CLASS_B
135 #define EXCLUDE_EC_MASTER_CLASS_A           /* Class A needs Class B */
136 #define EXCLUDE_EOE_SUPPORT                 /* mailbox protocol EoE */
137 #define EXCLUDE_SOE_SUPPORT                 /* servoDrive over EtherCAT */
138 #define EXCLUDE_FRAME_LOGGING               /* callback interface to log frames */
139 #define EXCLUDE_FRAME_LOSS_SIMULATION
140 #define EXCLUDE_MEMORY_PROVIDER
141 #define EXCLUDE_SLAVE_STATISTICS            /* cyclic reading of slave error registers */
142 #define EXCLUDE_VARREAD                     /* read PD variable tags from XML */
143 #endif
145 /* Class A */
146 #ifdef  EXCLUDE_EC_MASTER_CLASS_A
147 #define EXCLUDE_AOE_SUPPORT                 /* ADS over EtherCAT */ 
148 #define EXCLUDE_DC_SUPPORT                  /* distributed clock */
149 #define EXCLUDE_FOE_SUPPORT                 /* file access over EtherCAT */
150 #define EXCLUDE_MASTER_OBD                  /* master object dictionary */
151 #define EXCLUDE_MULTIPLE_CYC_ENTRIES
152 #define EXCLUDE_RED_DEVICE                  /* redundancy */
153 #define EXCLUDE_VOE_SUPPORT                 /* vendor specific access over EtherCAT */ 
154 #endif
156 /* Base functionality */
157 #ifdef  EXCLUDE_AOE_SUPPORT
158 #define EXCLUDE_ADS_ADAPTER                 /* ADS adapter needs AoE */
159 #else
160 #define INCLUDE_AOE_SUPPORT                 /* ADS over EtherCAT */ 
161 #endif
162 #ifndef EXCLUDE_DC_SUPPORT
163 #define INCLUDE_DC_SUPPORT                  /* distributed clock */
164 #endif
165 #ifndef EXCLUDE_DC_ADD_ACYC_DISTRIBUTION
166 #define INCLUDE_DC_ADD_ACYC_DISTRIBUTION    /* additional system time distribution in acyc frame */
167 #endif
168 #ifndef EXCLUDE_EOE_SUPPORT
169 #define INCLUDE_EOE_SUPPORT                 /* mailbox protocol EoE */
170 #endif
171 #ifndef EXCLUDE_FOE_SUPPORT
172 #define INCLUDE_FOE_SUPPORT                 /* file access over EtherCAT */
173 #endif
174 #ifndef EXCLUDE_FRAME_LOGGING
175 #define INCLUDE_FRAME_LOGGING               /* callback interface to log frames */
176 #endif
177 #ifndef EXCLUDE_FRAME_LOSS_SIMULATION
178 #define FRAME_LOSS_SIMULATION               /* frame loss simulation */
179 #endif
180 #ifndef EXCLUDE_GEN_OP_ENI
181 #define INCLUDE_GEN_OP_ENI                  /* generation of ENI file to reach OP state */
182 #endif
183 #ifdef  EXCLUDE_LOG_MESSAGES
184 #define EXCLUDE_TEXT
185 #else
186 #define INCLUDE_LOG_MESSAGES                /* log messages */
187 #endif
188 #ifndef EXCLUDE_TEXT
189 #define INCLUDE_TEXT                        /* text returned by e.g. EcErrorText() */
190 #endif
191 #ifndef EXCLUDE_MASTER_OBD
192 #define INCLUDE_MASTER_OBD                  /* master object dictionary */
193 #endif
194 #ifndef EXCLUDE_MEMORY_PROVIDER
195 #define INCLUDE_MEMORY_PROVIDER             /* memory provider */
196 #endif
197 #ifndef EXCLUDE_MULTIPLE_CYC_ENTRIES
198 #define INCLUDE_MULTIPLE_CYC_ENTRIES        /* multiple cyclic entries */
199 #endif
200 #ifndef EXCLUDE_PORT_OPERATION
201 #define INCLUDE_PORT_OPERATION              /* port operation (close/open ports blocknode) */
202 #endif
203 #ifndef EXCLUDE_RAWMBX_SUPPORT
204 #define INCLUDE_RAWMBX_SUPPORT              /* raw mailbox transfer (e.g. used by mailbox gateway) */
205 #endif
206 #ifndef EXCLUDE_SOE_SUPPORT
207 #define INCLUDE_SOE_SUPPORT                 /* servoDrive over EtherCAT */
208 #endif
209 #ifndef EXCLUDE_SLAVE_STATISTICS
210 #define INCLUDE_SLAVE_STATISTICS            /* cyclic reading of slave error registers */
211 #endif
212 #ifndef EXCLUDE_TRACE_DATA
213 #define INCLUDE_TRACE_DATA                  /* Trace data */
214 #ifndef EXCLUDE_TRACE_DATA_VARINFO
215 #define INCLUDE_TRACE_DATA_VARINFO
216 #endif
217 #endif
218 #ifndef EXCLUDE_VARREAD
219 #define INCLUDE_VARREAD                     /* read PD variable tags from XML */
220 #endif
221 #ifndef EXCLUDE_VOE_SUPPORT
222 #define INCLUDE_VOE_SUPPORT                 /* vendor specific access over EtherCAT */ 
223 #endif
224 #ifndef EXCLUDE_WKCSTATE
225 #define INCLUDE_WKCSTATE                    /* WkcState bits in diagnosis image */ 
226 #endif
228 #if 0
229 #define VLAN_FRAME_SUPPORT                  /* VLAN frame support. default: not included. */
230 #define INCLUDE_COE_PDO_SUPPORT             /* currently not supported */
231 #define INCLUDE_EC_INTERNAL_TSC_MEASUREMENT
232 #define INCLUDE_RAS_SPOCSUPPORT
233 #endif
235 #ifndef EXCLUDE_FORCE_PROCESSDATA
236 #define INCLUDE_FORCE_PROCESSDATA           /*Force/Release process data */ 
237 #endif
239 #ifndef EXCLUDE_LINE_CROSSED_DETECTION
240 #define INCLUDE_LINE_CROSSED_DETECTION
241 #endif
243 #ifndef EXCLUDE_OEM
244 #define INCLUDE_OEM
245 #endif
247 #ifndef EXCLUDE_JUNCTION_REDUNDANCY
248 #define INCLUDE_JUNCTION_REDUNDANCY         /* junction redundancy */
249 #endif
251 /* feature packs */
252 #ifndef EXCLUDE_RED_DEVICE
253 #define INCLUDE_RED_DEVICE                  /* redundancy */
254 #endif
255 #ifndef EXCLUDE_ADS_ADAPTER
256 #define INCLUDE_ADS_ADAPTER
257 #endif
258 #ifndef EXCLUDE_EOE_ENDPOINT
259 #define INCLUDE_EOE_ENDPOINT                /* ethernet over EtherCAT end point */
260 #endif
261 #ifndef EXCLUDE_HOTCONNECT
262 #define INCLUDE_HOTCONNECT
263 #endif
264 #ifndef EXCLUDE_PASS_THROUGH_SERVER
265 #define INCLUDE_PASS_THROUGH_SERVER
266 #endif
268 #endif /* INC_ECTYPE */
270 /*-END OF SOURCE FILE--------------------------------------------------------*/