| Wireshark 4.7.3 The Wireshark network protocol analyzer

Loading...
Searching...
No Matches
packet-ecatmb.h
1/* packet-ecatmb.h
2 *
3 * Copyright (c) 2007 by Beckhoff Automation GmbH
4 *
5 * Wireshark - Network traffic analyzer
6 * By Gerald Combs <gerald@wireshark.org>
7 * Copyright 1998 Gerald Combs
8 *
9 * SPDX-License-Identifier: GPL-2.0-or-later
10 */
11#ifndef _PACKET_ECATMAILBOX_H_
12#define _PACKET_ECATMAILBOX_H_
13
14#include <ws_diag_control.h>
15DIAG_OFF_PEDANTIC
16
17/* Ensure the same data layout for all platforms */
18
22 typedef struct TETHERNET_ADDRESS
23{
24 uint8_t b[6];
25} ETHERNET_ADDRESS, *PETHERNET_ADDRESS;
26
28#define ETHERNET_ADDRESS_LEN ((int) sizeof(ETHERNET_ADDRESS))
29
30
31/* EtherCAT mailbox protocol type identifiers */
32#define ETHERCAT_MBOX_TYPE_ADS 1
33#define ETHERCAT_MBOX_TYPE_EOE 2
34#define ETHERCAT_MBOX_TYPE_COE 3
35#define ETHERCAT_MBOX_TYPE_FOE 4
36#define ETHERCAT_MBOX_TYPE_SOE 5
37#define ETHERCAT_MBOX_TYPE_VOE 15
38
39
43 typedef union tMbxHeaderControlUnion
44{
45 uint16_t Control;
46 struct
47 {
48 uint16_t Channel : 6;
49 uint16_t Priority : 2;
50 uint16_t Type : 4;
51 uint16_t Counter : 3;
52 uint16_t Unsupported : 1;
53 } v;
54} MbxHeaderControlUnion;
55
56
60 typedef struct TETHERCAT_MBOX_HEADER
61{
62 uint16_t Length;
63 uint16_t Address;
65 MbxHeaderControlUnion aControlUnion;
66} ETHERCAT_MBOX_HEADER, *PETHERCAT_MBOX_HEADER;
67
68#define ETHERCAT_MBOX_HEADER_LEN ((int) sizeof(ETHERCAT_MBOX_HEADER))
69
70/* EoE*/
71#define ETHERNET_FRAMENO_MASK 0x0000000F
72
73#define EOE_TYPE_FRAME_FRAG 0 /* ETHERCAT_EOE_HEADER followed by frame fragment (ETHERCAT_EOE_TIMESTAMP may included) */
74#define EOE_TYPE_TIMESTAMP_RES 1 /* ETHERCAT_EOE_HEADER followed by ETHERCAT_EOE_TIMESTAMP */
75#define EOE_TYPE_INIT_REQ 2 /* ETHERCAT_EOE_HEADER followed by ETHERCAT_EOE_INIT */
76#define EOE_TYPE_INIT_RES 3 /* ETHERCAT_EOE_HEADER */
77#define EOE_TYPE_MACFILTER_REQ 4 /* ETHERCAT_EOE_HEADER followed by ETHERCAT_EOE_MACFILTER */
78#define EOE_TYPE_MACFILTER_RES 5 /* ETHERCAT_EOE_HEADER */
79
80#define EOE_RESULT_NOERROR 0x0000
81#define EOE_RESULT_UNSPECIFIED_ERROR 0x0001
82#define EOE_RESULT_UNSUPPORTED_TYPE 0x0002
83#define EOE_RESULT_NO_IP_SUPPORT 0x0201
84#define EOE_RESULT_NO_MACFILTERMASK_SUPPORT 0x0401
85
86
87/*typedef struct TETHERCAT_EOE_INIT
88{
89 uint32_t ContainsMacAddr :1;
90 uint32_t ContainsIpAddr :1;
91 uint32_t ContainsSubnetMask :1;
92 uint32_t ContainsDefaultGateway :1;
93 uint32_t ContainsDnsServer :1;
94 uint32_t ContainsDnsName :1;
95 uint32_t Reserved :26;
96 ETHERNET_ADDRESS MacAddr;
97 uint32_t IpAddr;
98 uint32_t SubnetMask;
99 uint32_t DefaultGateway;
100 uint32_t DnsServer;
101 char DnsName[32];
102} ETHERCAT_EOE_INIT, *PETHERCAT_EOE_INIT;*/
103#define ETHERCAT_EOE_INIT_LEN 58 /*sizeof(ETHERCAT_EOE_INIT)*/
104
108 typedef union tEoeMacFilterOptionsUnion
109{
110 struct
111 {
112 uint16_t MacFilterCount : 4;
113 uint16_t MacFilterMaskCount : 2;
114 uint16_t Reserved1 : 1;
115 uint16_t NoBroadcasts : 1;
116 uint16_t Reserved2 : 8;
117 } v;
118 uint16_t Options;
119} EoeMacFilterOptionsUnion;
120
121
125 typedef struct TETHERCAT_EOE_MACFILTER
126{
127 EoeMacFilterOptionsUnion anEoeMacFilterOptionsUnion;
128 ETHERNET_ADDRESS MacFilter[16];
129 ETHERNET_ADDRESS MacFilterMask[4];
130} ETHERCAT_EOE_MACFILTER;
131
133#define ETHERCAT_EOE_MACFILTER_LEN ((int) sizeof(ETHERCAT_EOE_MACFILTER))
134
135
139 typedef struct TETHERCAT_EOE_TIMESTAMP
140{
141 uint32_t TimeStamp;
142} ETHERCAT_EOE_TIMESTAMP;
143
145#define ETHERCAT_EOE_TIMESTAMP_LEN ((int) sizeof(ETHERCAT_EOE_TIMESTAMP))
146
147
151 typedef union tEoeHeaderDataUnion
152{
153 struct
154 {
155 uint16_t Fragment : 6;
156 uint16_t OffsetBuffer : 6;
158 uint16_t FrameNo : 4;
159 } v;
160 uint16_t Result;
161} EoeHeaderDataUnion;
162
163
167 typedef union tEoeHeaderInfoUnion
168{
169 struct
170 {
171 uint16_t Type : 4;
172 uint16_t PortAssign : 4;
173 uint16_t LastFragment : 1;
174 uint16_t TimeStampAppended : 1;
175 uint16_t TimeStampRequested : 1;
176 uint16_t Reserved : 5;
177 } v;
178 uint16_t Info;
179} EoeHeaderInfoUnion;
180
181
185 typedef struct TETHERCAT_EOE_HEADER
186{
187 EoeHeaderInfoUnion anEoeHeaderInfoUnion;
188 EoeHeaderDataUnion anEoeHeaderDataUnion;
189} ETHERCAT_EOE_HEADER, *PETHERCAT_EOE_HEADER;
190
192#define ETHERCAT_EOE_HEADER_LEN ((int) sizeof(ETHERCAT_EOE_HEADER))
193
194/* CANopen*/
195#define ETHERCAT_COE_TYPE_EMERGENCY 1
196#define ETHERCAT_COE_TYPE_SDOREQ 2
197#define ETHERCAT_COE_TYPE_SDORES 3
198#define ETHERCAT_COE_TYPE_TXPDO 4
199#define ETHERCAT_COE_TYPE_RXPDO 5
200#define ETHERCAT_COE_TYPE_TXPDO_RTR 6 /* Remote transmission request of TXPDO (master requested)*/
201#define ETHERCAT_COE_TYPE_RXPDO_RTR 7 /* Remote transmission request of RXPDO (slave requested) */
202#define ETHERCAT_COE_TYPE_SDOINFO 8
203
207 typedef union TETHERCAT_COE_HEADER
208{
209 struct
210 {
211 uint16_t Number : 9;
212 uint16_t Reserved : 3;
213 uint16_t Type : 4;
214 } v;
215 uint16_t header;
216} ETHERCAT_COE_HEADER, *PETHERCAT_COE_HEADER;
217
219#define ETHERCAT_COE_HEADER_LEN ((int) sizeof(ETHERCAT_COE_HEADER))
220
221
228 typedef union tSdoHeaderUnion
229{
230 struct
231 { /* Initiate Download Request (Ccs = 1) */
232 uint8_t SizeInd : 1;
233 uint8_t Expedited : 1;
234 uint8_t Size : 2;
235 uint8_t Complete : 1;
236 uint8_t Ccs : 3;
237 } Idq;
238
239 struct
240 { /* Initiate Download Response (Scs = 3) */
241 uint8_t Reserved : 5;
242 uint8_t Scs : 3;
243 } Ids;
244
245 struct
246 { /* Download Segment Request (Ccs = 0) */
247 uint8_t LastSeg : 1;
248 uint8_t Size : 3;
249 uint8_t Toggle : 1;
250 uint8_t Ccs : 3;
251 } Dsq;
252
253 struct
254 { /* Download Segment Response (Scs = 1) */
255 uint8_t Reserved : 4;
256 uint8_t Toggle : 1;
257 uint8_t Scs : 3;
258 } Dss;
259
260 struct
261 { /* Initiate Upload Request (Ccs = 2) */
262 uint8_t Reserved : 4;
263 uint8_t Complete : 1;
264 uint8_t Ccs : 3;
265 } Iuq;
266
267 struct
268 { /* Initiate Upload Response (Scs = 2) */
269 uint8_t SizeInd : 1;
270 uint8_t Expedited : 1;
271 uint8_t Size : 2;
272 uint8_t Complete : 1;
273 uint8_t Scs : 3;
274 } Ius;
275
276 struct
277 { /* Upload Segment Request (Ccs = 3) */
278 uint8_t Reserved : 4;
279 uint8_t Toggle : 1;
280 uint8_t Ccs : 3;
281 } Usq;
282
283 struct
284 { /* Upload Segment Response (Scs = 0) */
285 uint8_t LastSeg : 1;
286 uint8_t Bytes : 3;
287 uint8_t Toggle : 1;
288 uint8_t Scs : 3;
289 } Uss;
290
291 struct
292 { /* Abort Transfer (Ccs = 4) */
293 uint8_t Reserved : 5;
294 uint8_t Ccs : 3;
295 } Abt;
296
297 uint8_t CS;
298} SdoHeaderUnion;
299
300
304 typedef struct TETHERCAT_SDO_HEADER
305{
306 SdoHeaderUnion anSdoHeaderUnion;
307 uint16_t Index;
308 uint8_t SubIndex;
309 uint32_t Data;
310} ETHERCAT_SDO_HEADER, *PETHERCAT_SDO_HEADER;
311
312#define ETHERCAT_SDO_HEADER_LEN 8 /* sizeof(ETHERCAT_SDO_HEADER)*/
313
314#define SDO_CCS_DOWNLOAD_SEGMENT 0
315#define SDO_CCS_INITIATE_DOWNLOAD 1
316#define SDO_CCS_INITIATE_UPLOAD 2
317#define SDO_CCS_UPLOAD_SEGMENT 3
318#define SDO_CCS_ABORT_TRANSFER 4
319
320#define SDO_SCS_UPLOAD_SEGMENT 0
321#define SDO_SCS_DOWNLOAD_SEGMENT 1
322#define SDO_SCS_INITIATE_UPLOAD 2
323#define SDO_SCS_INITIATE_DOWNLOAD 3
324
325/* CoE SDO Information */
326#define ECAT_COE_INFO_OPCODE_LIST_Q 1
327#define ECAT_COE_INFO_OPCODE_LIST_S 2
328#define ECAT_COE_INFO_OPCODE_OBJ_Q 3
329#define ECAT_COE_INFO_OPCODE_OBJ_S 4
330#define ECAT_COE_INFO_OPCODE_ENTRY_Q 5
331#define ECAT_COE_INFO_OPCODE_ENTRY_S 6
332#define ECAT_COE_INFO_OPCODE_ERROR_S 7
333
334#define ECAT_COE_INFO_LIST_TYPE_LENGTH 0
335#define ECAT_COE_INFO_LIST_TYPE_ALL 1
336#define ECAT_COE_INFO_LIST_TYPE_PDOMAP 2
337#define ECAT_COE_INFO_LIST_TYPE_BACKUP 3
338
339#define ECAT_COE_INFO_OBJCODE_NULL 0
340#define ECAT_COE_INFO_OBJCODE_DOMAIN 2
341#define ECAT_COE_INFO_OBJCODE_DEFTYPE 5
342#define ECAT_COE_INFO_OBJCODE_DEFSTRUCT 6
343#define ECAT_COE_INFO_OBJCODE_VAR 7
344#define ECAT_COE_INFO_OBJCODE_ARRAY 8
345#define ECAT_COE_INFO_OBJCODE_RECORD 9
346
347#define ECAT_COE_INFO_OBJCAT_OPTIONAL 0
348#define ECAT_COE_INFO_OBJCAT_MANDATORY 1
349
350#define ECAT_COE_INFO_OBJACCESS_RO 0x07
351#define ECAT_COE_INFO_OBJACCESS_RW 0x3f
352
356 typedef struct TETHERCAT_SDO_INFO_LIST
357{
358 uint16_t ListType;
359 struct
360 {
361 uint16_t Index[1];
362 } Res;
363} ETHERCAT_SDO_INFO_LIST;
364
365
369 typedef struct TETHERCAT_SDO_INFO_OBJ
370{
371 uint16_t Index;
372 struct
373 {
374 uint16_t DataType;
375 uint8_t MaxSubIndex;
376 uint8_t ObjCode;
377 char Name[1];
378 } Res;
379} ETHERCAT_SDO_INFO_OBJ;
380
381
385 typedef struct TETHERCAT_SDO_INFO_ENTRY
386{
387 uint16_t Index;
388 uint8_t SubIdx;
389 uint8_t ValueInfo;
393 struct
394 {
395 uint16_t DataType;
396 uint16_t BitLen;
397 uint16_t ObjAccess;
399 } Res;
400} ETHERCAT_SDO_INFO_ENTRY;
401
402
406 typedef struct TETHERCAT_SDO_INFO_ERROR
407{
408 uint32_t ErrorCode;
409 char ErrorText[1];
410} ETHERCAT_SDO_INFO_ERROR;
411
412
416 typedef union tSdoInfoUnion
417{
418 ETHERCAT_SDO_INFO_LIST List;
419 ETHERCAT_SDO_INFO_OBJ Obj;
420 ETHERCAT_SDO_INFO_ENTRY Entry;
421 ETHERCAT_SDO_INFO_ERROR Error;
422 uint8_t Data[1];
423} SdoInfoUnion;
424
425
429 typedef union tSdoControlUnion
430{
431 struct
432 {
433 uint8_t OpCode : 7;
434 uint8_t InComplete : 1;
435 } v;
436 uint8_t Control;
437} SdoControlUnion;
438
439
443 typedef struct TETHERCAT_SDO_INFO_HEADER
444{
445 SdoControlUnion anSdoControlUnion;
446 uint8_t Reserved;
447 uint16_t FragmentsLeft;
448 SdoInfoUnion anSdoInfoUnion;
449} ETHERCAT_SDO_INFO_HEADER, *PETHERCAT_SDO_INFO_HEADER;
450
452#define ETHERCAT_SDO_INFO_LISTREQ_LEN 6 /*offsetof(ETHERCAT_SDO_INFO_HEADER, anSdoInfoUnion.List.Res)*/
453
454
455/* FoE (File Access over EtherCAT) — OpMode values */
456#define ECAT_FOE_OPMODE_RRQ 1
457#define ECAT_FOE_OPMODE_WRQ 2
458#define ECAT_FOE_OPMODE_DATA 3
459#define ECAT_FOE_OPMODE_ACK 4
460#define ECAT_FOE_OPMODE_ERR 5
461#define ECAT_FOE_OPMODE_BUSY 6
462
463/* FoE error codes */
464#define ECAT_FOE_ERRCODE_NOTDEFINED 0
465#define ECAT_FOE_ERRCODE_NOTFOUND 1
466#define ECAT_FOE_ERRCODE_ACCESS 2
467#define ECAT_FOE_ERRCODE_DISKFULL 3
468#define ECAT_FOE_ERRCODE_ILLEAGAL 4
469#define ECAT_FOE_ERRCODE_PACKENO 5
470#define ECAT_FOE_ERRCODE_EXISTS 6
471#define ECAT_FOE_ERRCODE_NOUSER 7
472#define ECAT_FOE_ERRCODE_BOOTSTRAPONLY 8
473#define ECAT_FOE_ERRCODE_NOTINBOOTSTRAP 9
474
475
479 typedef union tFoeHeaderDataUnion
480{
481 uint32_t FileLength;
482 struct
483 {
484 uint16_t PacketNo;
485 uint16_t Reserved2;
486 } v;
487 uint32_t ErrorCode;
488 struct
489 {
490 uint16_t Done;
491 uint16_t Entire;
492 } v2;
493} FoeHeaderDataUnion;
494
495
503 typedef struct TETHERCAT_FOE_HEADER
504{
505 uint8_t OpMode;
506 uint8_t Reserved1;
507 FoeHeaderDataUnion aFoeHeaderDataUnion;
508 /* typedef union tMailBoxDataUnion
509 {
510 char Name[] (RRQ, WRQ) rest of mailbox data
511 uint8_t Data[] (DATA) rest of mailbox data
512 char ErrorText[] (ERR) rest of mailbox data
513 } MailBoxDataUnion; */
514} ETHERCAT_FOE_HEADER, *PETHERCAT_FOE_HEADER;
515
517#define ETHERCAT_FOE_HEADER_LEN 6 /*sizeof(ETHERCAT_FOE_HEADER)*/
518
519
523 typedef struct
524{
525 uint16_t Cmd;
526 uint16_t Size;
527 uint16_t AddressLW;
528 uint16_t AddressHW;
529} TEFWUPDATE_HEADER;
530
531/* SoE (Servo Drive Profile over EtherCAT) */
532#define ECAT_SOE_OPCODE_RRQ 1
533#define ECAT_SOE_OPCODE_RRS 2
534#define ECAT_SOE_OPCODE_WRQ 3
535#define ECAT_SOE_OPCODE_WRS 4
536#define ECAT_SOE_OPCODE_NFC 5
537
538
542 typedef union tSoeHeaderControlUnion
543{
544 struct
545 {
546 uint8_t OpCode : 3;
547 uint8_t InComplete : 1;
548 uint8_t Error : 1;
549 uint8_t DriveNo : 3;
550
551 uint8_t DataState : 1;
552 uint8_t Name : 1;
553 uint8_t Attribute : 1;
554 uint8_t Unit : 1;
555 uint8_t Min : 1;
556 uint8_t Max : 1;
557 uint8_t Value : 1;
558 uint8_t Reserved : 1;
559 } v;
560 struct
561 {
562 uint8_t Control;
563 uint8_t Element;
564 } v2;
565} SoeHeaderControlUnion;
566
567
571 typedef union tSoeHeaderDataUnion
572{
573 uint16_t IDN;
574 uint16_t FragmentsLeft;
575} SoeHeaderDataUnion;
576
577
584 typedef struct TETHERCAT_SOE_HEADER
585{
586 SoeHeaderControlUnion anSoeHeaderControlUnion;
587 SoeHeaderDataUnion anSoeHeaderDataUnion;
588 /* typedef union tMailBoxDataUnion
589 {
590 uint8_t Data[] rest of mailbox data if (Error==0)
591 uint16_t ErrorCode if (Error==1)
592 } MailBoxDataUnion; */
593} ETHERCAT_SOE_HEADER, *PETHERCAT_SOE_HEADER;
594
596#define ETHERCAT_SOE_HEADER_LEN ((int) sizeof(ETHERCAT_SOE_HEADER))
597
598
602 typedef struct TETHERCAT_VOE_HEADER
603{
604 uint32_t VendorID;
605 uint16_t VendorType;
606} ETHERCAT_VOE_HEADER, *PETHERCAT_VOE_HEADER;
607
609#define ETHERCAT_VOE_HEADER_LEN 6 /*sizeof(ETHERCAT_VOE_HEADER)*/
610
620 extern void init_mbx_header(PETHERCAT_MBOX_HEADER pMbox, tvbuff_t *tvb, int offset);
621
622DIAG_ON_PEDANTIC
623#endif /* _PACKET_ECATMAILBOX_H_ */
TEFWUPDATE_HEADER
EtherCAT firmware update command header.
Definition packet-ecatmb.h:524
TEFWUPDATE_HEADER::AddressLW
uint16_t AddressLW
Definition packet-ecatmb.h:527
TEFWUPDATE_HEADER::Cmd
uint16_t Cmd
Definition packet-ecatmb.h:525
TEFWUPDATE_HEADER::Size
uint16_t Size
Definition packet-ecatmb.h:526
TEFWUPDATE_HEADER::AddressHW
uint16_t AddressHW
Definition packet-ecatmb.h:528
TETHERCAT_EOE_HEADER
EtherCAT EoE (Ethernet over EtherCAT) mailbox header.
Definition packet-ecatmb.h:186
TETHERCAT_EOE_HEADER::anEoeHeaderDataUnion
EoeHeaderDataUnion anEoeHeaderDataUnion
Definition packet-ecatmb.h:188
TETHERCAT_EOE_HEADER::anEoeHeaderInfoUnion
EoeHeaderInfoUnion anEoeHeaderInfoUnion
Definition packet-ecatmb.h:187
TETHERCAT_EOE_MACFILTER
EtherCAT EoE (Ethernet over EtherCAT) MAC filter configuration.
Definition packet-ecatmb.h:126
TETHERCAT_EOE_MACFILTER::anEoeMacFilterOptionsUnion
EoeMacFilterOptionsUnion anEoeMacFilterOptionsUnion
Definition packet-ecatmb.h:127
TETHERCAT_EOE_MACFILTER::MacFilter
ETHERNET_ADDRESS MacFilter[16]
Definition packet-ecatmb.h:128
TETHERCAT_EOE_MACFILTER::MacFilterMask
ETHERNET_ADDRESS MacFilterMask[4]
Definition packet-ecatmb.h:129
TETHERCAT_EOE_TIMESTAMP
EtherCAT EoE timestamp record.
Definition packet-ecatmb.h:140
TETHERCAT_EOE_TIMESTAMP::TimeStamp
uint32_t TimeStamp
Definition packet-ecatmb.h:141
TETHERCAT_FOE_HEADER
EtherCAT FoE (File Access over EtherCAT) mailbox header.
Definition packet-ecatmb.h:504
TETHERCAT_FOE_HEADER::OpMode
uint8_t OpMode
Definition packet-ecatmb.h:505
TETHERCAT_FOE_HEADER::aFoeHeaderDataUnion
FoeHeaderDataUnion aFoeHeaderDataUnion
Definition packet-ecatmb.h:507
TETHERCAT_FOE_HEADER::Reserved1
uint8_t Reserved1
Definition packet-ecatmb.h:506
TETHERCAT_MBOX_HEADER
EtherCAT mailbox header, common to all mailbox protocol frames.
Definition packet-ecatmb.h:61
TETHERCAT_MBOX_HEADER::Address
uint16_t Address
Definition packet-ecatmb.h:63
TETHERCAT_MBOX_HEADER::aControlUnion
MbxHeaderControlUnion aControlUnion
Definition packet-ecatmb.h:65
TETHERCAT_MBOX_HEADER::Length
uint16_t Length
Definition packet-ecatmb.h:62
TETHERCAT_SDO_HEADER
EtherCAT CoE SDO (Service Data Object) header.
Definition packet-ecatmb.h:305
TETHERCAT_SDO_HEADER::anSdoHeaderUnion
SdoHeaderUnion anSdoHeaderUnion
Definition packet-ecatmb.h:306
TETHERCAT_SDO_HEADER::SubIndex
uint8_t SubIndex
Definition packet-ecatmb.h:308
TETHERCAT_SDO_HEADER::Index
uint16_t Index
Definition packet-ecatmb.h:307
TETHERCAT_SDO_HEADER::Data
uint32_t Data
Definition packet-ecatmb.h:309
TETHERCAT_SDO_INFO_ENTRY
EtherCAT SDO Information entry description payload.
Definition packet-ecatmb.h:386
TETHERCAT_SDO_INFO_ENTRY::BitLen
uint16_t BitLen
Definition packet-ecatmb.h:396
TETHERCAT_SDO_INFO_ENTRY::ValueInfo
uint8_t ValueInfo
Definition packet-ecatmb.h:389
TETHERCAT_SDO_INFO_ENTRY::SubIdx
uint8_t SubIdx
Definition packet-ecatmb.h:388
TETHERCAT_SDO_INFO_ENTRY::DataType
uint16_t DataType
Definition packet-ecatmb.h:395
TETHERCAT_SDO_INFO_ENTRY::Res
struct TETHERCAT_SDO_INFO_ENTRY::@203107354341276330133176320340340214260276376123 Res
TETHERCAT_SDO_INFO_ENTRY::Index
uint16_t Index
Definition packet-ecatmb.h:387
TETHERCAT_SDO_INFO_ENTRY::ObjAccess
uint16_t ObjAccess
Definition packet-ecatmb.h:397
TETHERCAT_SDO_INFO_ERROR
EtherCAT SDO Information error response payload.
Definition packet-ecatmb.h:407
TETHERCAT_SDO_INFO_ERROR::ErrorText
char ErrorText[1]
Definition packet-ecatmb.h:409
TETHERCAT_SDO_INFO_ERROR::ErrorCode
uint32_t ErrorCode
Definition packet-ecatmb.h:408
TETHERCAT_SDO_INFO_HEADER
EtherCAT SDO Information mailbox header.
Definition packet-ecatmb.h:444
TETHERCAT_SDO_INFO_HEADER::FragmentsLeft
uint16_t FragmentsLeft
Definition packet-ecatmb.h:447
TETHERCAT_SDO_INFO_HEADER::Reserved
uint8_t Reserved
Definition packet-ecatmb.h:446
TETHERCAT_SDO_INFO_HEADER::anSdoControlUnion
SdoControlUnion anSdoControlUnion
Definition packet-ecatmb.h:445
TETHERCAT_SDO_INFO_HEADER::anSdoInfoUnion
SdoInfoUnion anSdoInfoUnion
Definition packet-ecatmb.h:448
TETHERCAT_SDO_INFO_LIST
EtherCAT SDO Information list request/response payload.
Definition packet-ecatmb.h:357
TETHERCAT_SDO_INFO_LIST::ListType
uint16_t ListType
Definition packet-ecatmb.h:358
TETHERCAT_SDO_INFO_LIST::Index
uint16_t Index[1]
Definition packet-ecatmb.h:361
TETHERCAT_SDO_INFO_LIST::Res
struct TETHERCAT_SDO_INFO_LIST::@062201230041255347235057366200311015211234252132 Res
TETHERCAT_SDO_INFO_OBJ
EtherCAT SDO Information object description payload.
Definition packet-ecatmb.h:370
TETHERCAT_SDO_INFO_OBJ::ObjCode
uint8_t ObjCode
Definition packet-ecatmb.h:376
TETHERCAT_SDO_INFO_OBJ::Res
struct TETHERCAT_SDO_INFO_OBJ::@021157004040036351016253061274153330242033276172 Res
TETHERCAT_SDO_INFO_OBJ::DataType
uint16_t DataType
Definition packet-ecatmb.h:374
TETHERCAT_SDO_INFO_OBJ::MaxSubIndex
uint8_t MaxSubIndex
Definition packet-ecatmb.h:375
TETHERCAT_SDO_INFO_OBJ::Name
char Name[1]
Definition packet-ecatmb.h:377
TETHERCAT_SDO_INFO_OBJ::Index
uint16_t Index
Definition packet-ecatmb.h:371
TETHERCAT_SOE_HEADER
EtherCAT SoE (Servo Drive Profile over EtherCAT) mailbox header.
Definition packet-ecatmb.h:585
TETHERCAT_SOE_HEADER::anSoeHeaderDataUnion
SoeHeaderDataUnion anSoeHeaderDataUnion
Definition packet-ecatmb.h:587
TETHERCAT_SOE_HEADER::anSoeHeaderControlUnion
SoeHeaderControlUnion anSoeHeaderControlUnion
Definition packet-ecatmb.h:586
TETHERCAT_VOE_HEADER
EtherCAT VoE (Vendor-specific over EtherCAT) mailbox header.
Definition packet-ecatmb.h:603
TETHERCAT_VOE_HEADER::VendorID
uint32_t VendorID
Definition packet-ecatmb.h:604
TETHERCAT_VOE_HEADER::VendorType
uint16_t VendorType
Definition packet-ecatmb.h:605
TETHERNET_ADDRESS
IEEE 802.3 Ethernet MAC address (6 octets).
Definition packet-ecatmb.h:23
TETHERNET_ADDRESS::b
uint8_t b[6]
Definition packet-ecatmb.h:24
TETHERCAT_COE_HEADER
EtherCAT CoE (CANopen over EtherCAT) mailbox header.
Definition packet-ecatmb.h:208
TETHERCAT_COE_HEADER::v
struct TETHERCAT_COE_HEADER::@317036211054161120224246330352150216356336125175 v
TETHERCAT_COE_HEADER::Reserved
uint16_t Reserved
Definition packet-ecatmb.h:212
TETHERCAT_COE_HEADER::Type
uint16_t Type
Definition packet-ecatmb.h:213
TETHERCAT_COE_HEADER::header
uint16_t header
Definition packet-ecatmb.h:215
TETHERCAT_COE_HEADER::Number
uint16_t Number
Definition packet-ecatmb.h:211
tEoeHeaderDataUnion
Union providing typed access to the EoE header data word, interpreted by message type.
Definition packet-ecatmb.h:152
tEoeHeaderDataUnion::FrameNo
uint16_t FrameNo
Definition packet-ecatmb.h:158
tEoeHeaderDataUnion::Fragment
uint16_t Fragment
Definition packet-ecatmb.h:155
tEoeHeaderDataUnion::OffsetBuffer
uint16_t OffsetBuffer
Definition packet-ecatmb.h:156
tEoeHeaderDataUnion::v
struct tEoeHeaderDataUnion::@013073020313243046271044311274062270372035015332 v
tEoeHeaderDataUnion::Result
uint16_t Result
Definition packet-ecatmb.h:160
tEoeHeaderInfoUnion
Union providing bit-field and raw access to the EoE header info word.
Definition packet-ecatmb.h:168
tEoeHeaderInfoUnion::Type
uint16_t Type
Definition packet-ecatmb.h:171
tEoeHeaderInfoUnion::v
struct tEoeHeaderInfoUnion::@073003047121340352247361070265130156146231307243 v
tEoeHeaderInfoUnion::Reserved
uint16_t Reserved
Definition packet-ecatmb.h:176
tEoeHeaderInfoUnion::Info
uint16_t Info
Definition packet-ecatmb.h:178
tEoeHeaderInfoUnion::TimeStampAppended
uint16_t TimeStampAppended
Definition packet-ecatmb.h:174
tEoeHeaderInfoUnion::TimeStampRequested
uint16_t TimeStampRequested
Definition packet-ecatmb.h:175
tEoeHeaderInfoUnion::LastFragment
uint16_t LastFragment
Definition packet-ecatmb.h:173
tEoeHeaderInfoUnion::PortAssign
uint16_t PortAssign
Definition packet-ecatmb.h:172
tEoeMacFilterOptionsUnion
Union providing bit-field and raw access to EoE MAC filter options.
Definition packet-ecatmb.h:109
tEoeMacFilterOptionsUnion::v
struct tEoeMacFilterOptionsUnion::@015362077073371126226057124373371135267007300375 v
tEoeMacFilterOptionsUnion::NoBroadcasts
uint16_t NoBroadcasts
Definition packet-ecatmb.h:115
tEoeMacFilterOptionsUnion::MacFilterMaskCount
uint16_t MacFilterMaskCount
Definition packet-ecatmb.h:113
tEoeMacFilterOptionsUnion::Options
uint16_t Options
Definition packet-ecatmb.h:118
tEoeMacFilterOptionsUnion::MacFilterCount
uint16_t MacFilterCount
Definition packet-ecatmb.h:112
tEoeMacFilterOptionsUnion::Reserved1
uint16_t Reserved1
Definition packet-ecatmb.h:114
tEoeMacFilterOptionsUnion::Reserved2
uint16_t Reserved2
Definition packet-ecatmb.h:116
tFoeHeaderDataUnion
Union providing typed access to the FoE header data word, interpreted by OpMode.
Definition packet-ecatmb.h:480
tFoeHeaderDataUnion::FileLength
uint32_t FileLength
Definition packet-ecatmb.h:481
tFoeHeaderDataUnion::ErrorCode
uint32_t ErrorCode
Definition packet-ecatmb.h:487
tFoeHeaderDataUnion::Entire
uint16_t Entire
Definition packet-ecatmb.h:491
tFoeHeaderDataUnion::v
struct tFoeHeaderDataUnion::@164220056300045072307153214357304166257117162340 v
tFoeHeaderDataUnion::Reserved2
uint16_t Reserved2
Definition packet-ecatmb.h:485
tFoeHeaderDataUnion::Done
uint16_t Done
Definition packet-ecatmb.h:490
tFoeHeaderDataUnion::v2
struct tFoeHeaderDataUnion::@342307165061023005127340030260233231225200361304 v2
tFoeHeaderDataUnion::PacketNo
uint16_t PacketNo
Definition packet-ecatmb.h:484
tMbxHeaderControlUnion
Union providing bit-field and raw access to the EtherCAT mailbox control word.
Definition packet-ecatmb.h:44
tMbxHeaderControlUnion::Control
uint16_t Control
Definition packet-ecatmb.h:45
tMbxHeaderControlUnion::Channel
uint16_t Channel
Definition packet-ecatmb.h:48
tMbxHeaderControlUnion::Counter
uint16_t Counter
Definition packet-ecatmb.h:51
tMbxHeaderControlUnion::v
struct tMbxHeaderControlUnion::@376040103031063137173144224354026006113165062377 v
tMbxHeaderControlUnion::Type
uint16_t Type
Definition packet-ecatmb.h:50
tMbxHeaderControlUnion::Priority
uint16_t Priority
Definition packet-ecatmb.h:49
tMbxHeaderControlUnion::Unsupported
uint16_t Unsupported
Definition packet-ecatmb.h:52
tSdoControlUnion
Union providing bit-field and byte-level access to the SDO Information control octet.
Definition packet-ecatmb.h:430
tSdoControlUnion::v
struct tSdoControlUnion::@232201037126021224261361145065122251152115045075 v
tSdoControlUnion::Control
uint8_t Control
Definition packet-ecatmb.h:436
tSdoControlUnion::OpCode
uint8_t OpCode
Definition packet-ecatmb.h:433
tSdoControlUnion::InComplete
uint8_t InComplete
Definition packet-ecatmb.h:434
tSdoHeaderUnion
Union providing per-service-command bit-field access to the SDO command specifier byte.
Definition packet-ecatmb.h:229
tSdoHeaderUnion::Bytes
uint8_t Bytes
Definition packet-ecatmb.h:286
tSdoHeaderUnion::Scs
uint8_t Scs
Definition packet-ecatmb.h:242
tSdoHeaderUnion::LastSeg
uint8_t LastSeg
Definition packet-ecatmb.h:247
tSdoHeaderUnion::Reserved
uint8_t Reserved
Definition packet-ecatmb.h:241
tSdoHeaderUnion::Size
uint8_t Size
Definition packet-ecatmb.h:234
tSdoHeaderUnion::Toggle
uint8_t Toggle
Definition packet-ecatmb.h:249
tSdoHeaderUnion::Expedited
uint8_t Expedited
Definition packet-ecatmb.h:233
tSdoHeaderUnion::CS
uint8_t CS
Definition packet-ecatmb.h:297
tSdoHeaderUnion::Complete
uint8_t Complete
Definition packet-ecatmb.h:235
tSdoHeaderUnion::Ccs
uint8_t Ccs
Definition packet-ecatmb.h:236
tSdoHeaderUnion::SizeInd
uint8_t SizeInd
Definition packet-ecatmb.h:232
tSdoInfoUnion
Union providing typed access to all SDO Information payload variants.
Definition packet-ecatmb.h:417
tSdoInfoUnion::Error
ETHERCAT_SDO_INFO_ERROR Error
Definition packet-ecatmb.h:421
tSdoInfoUnion::Data
uint8_t Data[1]
Definition packet-ecatmb.h:422
tSdoInfoUnion::Obj
ETHERCAT_SDO_INFO_OBJ Obj
Definition packet-ecatmb.h:419
tSdoInfoUnion::List
ETHERCAT_SDO_INFO_LIST List
Definition packet-ecatmb.h:418
tSdoInfoUnion::Entry
ETHERCAT_SDO_INFO_ENTRY Entry
Definition packet-ecatmb.h:420
tSoeHeaderControlUnion
Union providing bit-field and byte-level access to the SoE header control and element fields.
Definition packet-ecatmb.h:543
tSoeHeaderControlUnion::Control
uint8_t Control
Definition packet-ecatmb.h:562
tSoeHeaderControlUnion::Value
uint8_t Value
Definition packet-ecatmb.h:557
tSoeHeaderControlUnion::Max
uint8_t Max
Definition packet-ecatmb.h:556
tSoeHeaderControlUnion::DataState
uint8_t DataState
Definition packet-ecatmb.h:551
tSoeHeaderControlUnion::v2
struct tSoeHeaderControlUnion::@165371371177234273143210222274376273036374120111 v2
tSoeHeaderControlUnion::DriveNo
uint8_t DriveNo
Definition packet-ecatmb.h:549
tSoeHeaderControlUnion::Reserved
uint8_t Reserved
Definition packet-ecatmb.h:558
tSoeHeaderControlUnion::Name
uint8_t Name
Definition packet-ecatmb.h:552
tSoeHeaderControlUnion::InComplete
uint8_t InComplete
Definition packet-ecatmb.h:547
tSoeHeaderControlUnion::Unit
uint8_t Unit
Definition packet-ecatmb.h:554
tSoeHeaderControlUnion::v
struct tSoeHeaderControlUnion::@323273167334140023005173277253106131217272065236 v
tSoeHeaderControlUnion::Attribute
uint8_t Attribute
Definition packet-ecatmb.h:553
tSoeHeaderControlUnion::Element
uint8_t Element
Definition packet-ecatmb.h:563
tSoeHeaderControlUnion::OpCode
uint8_t OpCode
Definition packet-ecatmb.h:546
tSoeHeaderControlUnion::Min
uint8_t Min
Definition packet-ecatmb.h:555
tSoeHeaderControlUnion::Error
uint8_t Error
Definition packet-ecatmb.h:548
tSoeHeaderDataUnion
Union providing dual interpretation of the SoE header data word.
Definition packet-ecatmb.h:572
tSoeHeaderDataUnion::FragmentsLeft
uint16_t FragmentsLeft
Definition packet-ecatmb.h:574
tSoeHeaderDataUnion::IDN
uint16_t IDN
Definition packet-ecatmb.h:573