ethercatmain.h
Go to the documentation of this file.
1 /*
2  * Simple Open EtherCAT Master Library
3  *
4  * File : ethercatmain.h
5  * Version : 1.3.0
6  * Date : 24-02-2013
7  * Copyright (C) 2005-2013 Speciaal Machinefabriek Ketels v.o.f.
8  * Copyright (C) 2005-2013 Arthur Ketels
9  * Copyright (C) 2008-2009 TU/e Technische Universiteit Eindhoven
10  *
11  * SOEM is free software; you can redistribute it and/or modify it under
12  * the terms of the GNU General Public License version 2 as published by the Free
13  * Software Foundation.
14  *
15  * SOEM is distributed in the hope that it will be useful, but WITHOUT ANY
16  * WARRANTY; without even the implied warranty of MERCHANTABILITY or
17  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
18  * for more details.
19  *
20  * As a special exception, if other files instantiate templates or use macros
21  * or inline functions from this file, or you compile this file and link it
22  * with other works to produce a work based on this file, this file does not
23  * by itself cause the resulting work to be covered by the GNU General Public
24  * License. However the source code for this file must still be made available
25  * in accordance with section (3) of the GNU General Public License.
26  *
27  * This exception does not invalidate any other reasons why a work based on
28  * this file might be covered by the GNU General Public License.
29  *
30  * The EtherCAT Technology, the trade name and logo "EtherCAT" are the intellectual
31  * property of, and protected by Beckhoff Automation GmbH. You can use SOEM for
32  * the sole purpose of creating, using and/or selling or otherwise distributing
33  * an EtherCAT network master provided that an EtherCAT Master License is obtained
34  * from Beckhoff Automation GmbH.
35  *
36  * In case you did not receive a copy of the EtherCAT Master License along with
37  * SOEM write to Beckhoff Automation GmbH, Eiserstrasse 5, D-33415 Verl, Germany
38  * (www.beckhoff.com).
39  */
40 
46 #include "nicdrv.h"
47 
48 #ifndef _ethercatmain_
49 #define _ethercatmain_
50 
51 
52 #ifdef __cplusplus
53 extern "C"
54 {
55 #endif
56 
58 #define EC_MAXELIST 64
59 
60 #define EC_MAXNAME 40
61 
62 #define EC_MAXSLAVE 200
63 
64 #define EC_MAXGROUP 2
65 
66 #define EC_MAXIOSEGMENTS 64
67 
68 #define EC_MAXMBX 0x3ff
69 
70 #define EC_MAXEEPDO 0x200
71 
72 #define EC_MAXSM 8
73 
74 #define EC_MAXFMMU 4
75 
76 #define EC_MAXLEN_ADAPTERNAME 128
77 
78 typedef struct ec_adapter ec_adaptert;
79 struct ec_adapter
80 {
84 };
85 
87 PACKED_BEGIN
88 typedef struct PACKED
89 {
100 } ec_fmmut;
101 PACKED_END
102 
104 PACKED_BEGIN
105 typedef struct PACKED
106 {
110 } ec_smt;
111 PACKED_END
112 
113 PACKED_BEGIN
114 typedef struct PACKED
115 {
120 PACKED_END
121 
122 #define ECT_MBXPROT_AOE 0x0001
123 #define ECT_MBXPROT_EOE 0x0002
124 #define ECT_MBXPROT_COE 0x0004
125 #define ECT_MBXPROT_FOE 0x0008
126 #define ECT_MBXPROT_SOE 0x0010
127 #define ECT_MBXPROT_VOE 0x0020
128 
129 #define ECT_COEDET_SDO 0x01
130 #define ECT_COEDET_SDOINFO 0x02
131 #define ECT_COEDET_PDOASSIGN 0x04
132 #define ECT_COEDET_PDOCONFIG 0x08
133 #define ECT_COEDET_UPLOAD 0x10
134 #define ECT_COEDET_SDOCA 0x20
135 
136 #define EC_SMENABLEMASK 0xfffeffff
137 
139 typedef struct
140 {
178  uint8 SMtype[EC_MAXSM];
202  boolean hasdc;
262  boolean islost;
264  int (*PO2SOconfig)(uint16 slave);
266  char name[EC_MAXNAME + 1];
267 } ec_slavet;
268 
270 typedef struct
271 {
283  boolean hasdc;
301  boolean docheckstate;
304 } ec_groupt;
305 
307 typedef struct
308 {
316 
318 typedef struct
319 {
325  uint8 Sreg; /* dont care */
327  uint8 PDIctrl; /* dont care */
328 } ec_eepromSMt;
329 
331 typedef struct
332 {
338  uint16 BitSize[EC_MAXEEPDO];
339  uint16 SMbitsize[EC_MAXSM];
340 } ec_eepromPDOt;
341 
344 
346 PACKED_BEGIN
347 typedef struct PACKED
348 {
353 } ec_mbxheadert;
354 PACKED_END
355 
357 PACKED_BEGIN
358 typedef struct PACKED
359 {
363 } ec_alstatust;
364 PACKED_END
365 
367 typedef struct
368 {
372  void *data[EC_MAXBUF];
373  uint16 length[EC_MAXBUF];
374 } ec_idxstackT;
375 
377 typedef struct
378 {
382 } ec_eringt;
383 
385 PACKED_BEGIN
386 typedef struct PACKED
387 {
391 } ec_SMcommtypet;
392 PACKED_END
393 
395 PACKED_BEGIN
396 typedef struct PACKED
397 {
398  uint8 n;
399  uint8 nu1;
400  uint16 index[256];
401 } ec_PDOassignt;
402 PACKED_END
403 
405 PACKED_BEGIN
406 typedef struct PACKED
407 {
408  uint8 n;
409  uint8 nu1;
410  uint32 PDO[256];
411 } ec_PDOdesct;
412 PACKED_END
413 
415 typedef struct
416 {
424  int maxslave;
428  int maxgroup;
440  boolean *ecaterror;
458  int (*FOEhook)(uint16 slave, int packetnumber, int datasize);
459 } ecx_contextt;
460 
461 #ifdef EC_VER1
462 
463 extern ecx_contextt ecx_context;
465 extern ec_slavet ec_slave[EC_MAXSLAVE];
467 extern int ec_slavecount;
469 extern ec_groupt ec_group[EC_MAXGROUP];
470 extern boolean EcatError;
471 extern int64 ec_DCtime;
472 
473 void ec_pusherror(const ec_errort *Ec);
474 boolean ec_poperror(ec_errort *Ec);
475 boolean ec_iserror(void);
476 void ec_packeterror(uint16 Slave, uint16 Index, uint8 SubIdx, uint16 ErrorCode);
477 int ec_init(char * ifname);
478 int ec_init_redundant(char *ifname, char *if2name);
479 void ec_close(void);
480 uint8 ec_siigetbyte(uint16 slave, uint16 address);
481 int16 ec_siifind(uint16 slave, uint16 cat);
482 void ec_siistring(char *str, uint16 slave, uint16 Sn);
483 uint16 ec_siiFMMU(uint16 slave, ec_eepromFMMUt* FMMU);
484 uint16 ec_siiSM(uint16 slave, ec_eepromSMt* SM);
485 uint16 ec_siiSMnext(uint16 slave, ec_eepromSMt* SM, uint16 n);
486 int ec_siiPDO(uint16 slave, ec_eepromPDOt* PDO, uint8 t);
487 int ec_readstate(void);
488 int ec_writestate(uint16 slave);
489 uint16 ec_statecheck(uint16 slave, uint16 reqstate, int timeout);
490 int ec_mbxempty(uint16 slave, int timeout);
491 int ec_mbxsend(uint16 slave,ec_mbxbuft *mbx, int timeout);
492 int ec_mbxreceive(uint16 slave, ec_mbxbuft *mbx, int timeout);
493 void ec_esidump(uint16 slave, uint8 *esibuf);
494 uint32 ec_readeeprom(uint16 slave, uint16 eeproma, int timeout);
495 int ec_writeeeprom(uint16 slave, uint16 eeproma, uint16 data, int timeout);
496 int ec_eeprom2master(uint16 slave);
497 int ec_eeprom2pdi(uint16 slave);
498 uint64 ec_readeepromAP(uint16 aiadr, uint16 eeproma, int timeout);
499 int ec_writeeepromAP(uint16 aiadr, uint16 eeproma, uint16 data, int timeout);
500 uint64 ec_readeepromFP(uint16 configadr, uint16 eeproma, int timeout);
501 int ec_writeeepromFP(uint16 configadr, uint16 eeproma, uint16 data, int timeout);
502 void ec_readeeprom1(uint16 slave, uint16 eeproma);
503 uint32 ec_readeeprom2(uint16 slave, int timeout);
504 int ec_send_processdata_group(uint8 group);
505 int ec_receive_processdata_group(uint8 group, int timeout);
506 int ec_send_processdata(void);
507 int ec_receive_processdata(int timeout);
508 #endif
509 
511 void ec_free_adapters(ec_adaptert * adapter);
513 void ec_clearmbx(ec_mbxbuft *Mbx);
514 void ecx_pusherror(ecx_contextt *context, const ec_errort *Ec);
515 boolean ecx_poperror(ecx_contextt *context, ec_errort *Ec);
516 boolean ecx_iserror(ecx_contextt *context);
517 void ecx_packeterror(ecx_contextt *context, uint16 Slave, uint16 Index, uint8 SubIdx, uint16 ErrorCode);
518 int ecx_init(ecx_contextt *context, char * ifname);
519 int ecx_init_redundant(ecx_contextt *context, ecx_redportt *redport, char *ifname, char *if2name);
520 void ecx_close(ecx_contextt *context);
521 uint8 ecx_siigetbyte(ecx_contextt *context, uint16 slave, uint16 address);
522 int16 ecx_siifind(ecx_contextt *context, uint16 slave, uint16 cat);
523 void ecx_siistring(ecx_contextt *context, char *str, uint16 slave, uint16 Sn);
524 uint16 ecx_siiFMMU(ecx_contextt *context, uint16 slave, ec_eepromFMMUt* FMMU);
525 uint16 ecx_siiSM(ecx_contextt *context, uint16 slave, ec_eepromSMt* SM);
526 uint16 ecx_siiSMnext(ecx_contextt *context, uint16 slave, ec_eepromSMt* SM, uint16 n);
527 int ecx_siiPDO(ecx_contextt *context, uint16 slave, ec_eepromPDOt* PDO, uint8 t);
528 int ecx_readstate(ecx_contextt *context);
529 int ecx_writestate(ecx_contextt *context, uint16 slave);
530 uint16 ecx_statecheck(ecx_contextt *context, uint16 slave, uint16 reqstate, int timeout);
531 int ecx_mbxempty(ecx_contextt *context, uint16 slave, int timeout);
532 int ecx_mbxsend(ecx_contextt *context, uint16 slave,ec_mbxbuft *mbx, int timeout);
533 int ecx_mbxreceive(ecx_contextt *context, uint16 slave, ec_mbxbuft *mbx, int timeout);
534 void ecx_esidump(ecx_contextt *context, uint16 slave, uint8 *esibuf);
535 uint32 ecx_readeeprom(ecx_contextt *context, uint16 slave, uint16 eeproma, int timeout);
536 int ecx_writeeeprom(ecx_contextt *context, uint16 slave, uint16 eeproma, uint16 data, int timeout);
537 int ecx_eeprom2master(ecx_contextt *context, uint16 slave);
538 int ecx_eeprom2pdi(ecx_contextt *context, uint16 slave);
539 uint64 ecx_readeepromAP(ecx_contextt *context, uint16 aiadr, uint16 eeproma, int timeout);
540 int ecx_writeeepromAP(ecx_contextt *context, uint16 aiadr, uint16 eeproma, uint16 data, int timeout);
541 uint64 ecx_readeepromFP(ecx_contextt *context, uint16 configadr, uint16 eeproma, int timeout);
542 int ecx_writeeepromFP(ecx_contextt *context, uint16 configadr, uint16 eeproma, uint16 data, int timeout);
543 void ecx_readeeprom1(ecx_contextt *context, uint16 slave, uint16 eeproma);
544 uint32 ecx_readeeprom2(ecx_contextt *context, uint16 slave, int timeout);
545 int ecx_send_processdata_group(ecx_contextt *context, uint8 group);
546 int ecx_receive_processdata_group(ecx_contextt *context, uint8 group, int timeout);
547 int ecx_send_processdata(ecx_contextt *context);
548 int ecx_receive_processdata(ecx_contextt *context, int timeout);
549 
550 #ifdef __cplusplus
551 }
552 #endif
553 
554 #endif
ec_groupt::Ioffset
uint16 Ioffset
Definition: ethercatmain.h:295
PACKED::State
uint16 State
Definition: ethercatmain.h:116
ec_slavet::eep_pdi
uint8 eep_pdi
Definition: ethercatmain.h:244
ecx_contextt::slavelist
ec_slavet * slavelist
Definition: ethercatmain.h:420
ecx_siiFMMU
uint16 ecx_siiFMMU(ecx_contextt *context, uint16 slave, ec_eepromFMMUt *FMMU)
Definition: ethercatmain.c:532
ec_eepromFMMUt::FMMU2
uint8 FMMU2
Definition: ethercatmain.h:313
ec_slavet::FoEdetails
uint8 FoEdetails
Definition: ethercatmain.h:248
ec_eepromFMMUt
Definition: ethercatmain.h:307
ec_eringt::head
int16 head
Definition: ethercatmain.h:379
ec_slavet::topology
uint8 topology
Definition: ethercatmain.h:206
EC_MAXLEN_ADAPTERNAME
#define EC_MAXLEN_ADAPTERNAME
Definition: ethercatmain.h:76
ec_groupt
Definition: ethercatmain.h:270
ec_eepromPDOt::nPDO
uint16 nPDO
Definition: ethercatmain.h:335
Error
Error
ec_slavet::Ibits
uint16 Ibits
Definition: ethercatmain.h:168
ec_eepromFMMUt::FMMU3
uint8 FMMU3
Definition: ethercatmain.h:314
ecx_mbxempty
int ecx_mbxempty(ecx_contextt *context, uint16 slave, int timeout)
Definition: ethercatmain.c:843
ecx_writestate
int ecx_writestate(ecx_contextt *context, uint16 slave)
Definition: ethercatmain.c:747
PACKED::SMlength
uint16 SMlength
Definition: ethercatmain.h:108
ec_slavet::FMMUunused
uint8 FMMUunused
Definition: ethercatmain.h:260
PACKED::address
uint16 address
Definition: ethercatmain.h:350
ec_slavet::Obytes
uint32 Obytes
Definition: ethercatmain.h:162
ec_eepromSMt::PhStart
uint16 PhStart
Definition: ethercatmain.h:322
ec_slavet::eep_id
uint32 eep_id
Definition: ethercatmain.h:152
ec_slavet::SoEdetails
uint8 SoEdetails
Definition: ethercatmain.h:252
EC_MAXSM
#define EC_MAXSM
Definition: ethercatmain.h:72
PACKED::nu1
uint8 nu1
Definition: ethercatmain.h:389
ecx_readeepromAP
uint64 ecx_readeepromAP(ecx_contextt *context, uint16 aiadr, uint16 eeproma, int timeout)
Definition: ethercatmain.c:1163
ecx_writeeepromAP
int ecx_writeeepromAP(ecx_contextt *context, uint16 aiadr, uint16 eeproma, uint16 data, int timeout)
Definition: ethercatmain.c:1243
ec_mbxbuft
uint8 ec_mbxbuft[EC_MAXMBX+1]
Definition: ethercatmain.h:343
PACKED::Unused
uint16 Unused
Definition: ethercatmain.h:117
ec_eepromFMMUt::nFMMU
uint8 nFMMU
Definition: ethercatmain.h:310
ecx_siistring
void ecx_siistring(ecx_contextt *context, char *str, uint16 slave, uint16 Sn)
Definition: ethercatmain.c:474
ec_slavet::aliasadr
uint16 aliasadr
Definition: ethercatmain.h:148
ec_groupt::DCnext
uint16 DCnext
Definition: ethercatmain.h:285
ec_adapter
Definition: ethercatmain.h:79
ecx_readeeprom2
uint32 ecx_readeeprom2(ecx_contextt *context, uint16 slave, int timeout)
Definition: ethercatmain.c:1505
ecx_contextt::esislave
uint16 esislave
Definition: ethercatmain.h:434
EC_MAXBUF
#define EC_MAXBUF
Definition: ethercattype.h:88
PACKED::PhysStartBit
uint8 PhysStartBit
Definition: ethercatmain.h:95
ecx_readeepromFP
uint64 ecx_readeepromFP(ecx_contextt *context, uint16 configadr, uint16 eeproma, int timeout)
Definition: ethercatmain.c:1331
uint32
uint32_t uint32
Definition: osal.h:35
ecx_contextt::elist
ec_eringt * elist
Definition: ethercatmain.h:436
ecx_contextt::esimap
uint32 * esimap
Definition: ethercatmain.h:432
ec_eepromSMt::Plength
uint16 Plength
Definition: ethercatmain.h:323
EC_MAXEEPDO
#define EC_MAXEEPDO
Definition: ethercatmain.h:70
ecx_contextt::DCtime
int64 * DCtime
Definition: ethercatmain.h:446
ec_slavet::pdelay
int32 pdelay
Definition: ethercatmain.h:226
ecx_readstate
int ecx_readstate(ecx_contextt *context)
Definition: ethercatmain.c:714
ec_clearmbx
void ec_clearmbx(ec_mbxbuft *Mbx)
Definition: ethercatmain.c:832
ec_slavet::inputs
uint8 * inputs
Definition: ethercatmain.h:172
ec_slavet::mbx_l
uint16 mbx_l
Definition: ethercatmain.h:190
int16
int16_t int16
Definition: osal.h:31
ec_eringt
Definition: ethercatmain.h:377
EC_MAXGROUP
#define EC_MAXGROUP
Definition: ethercatmain.h:64
ec_slavet::FMMU3func
uint8 FMMU3func
Definition: ethercatmain.h:188
ecx_close
void ecx_close(ecx_contextt *context)
Definition: ethercatmain.c:352
int64
int64_t int64
Definition: osal.h:36
ec_slavet::outputs
uint8 * outputs
Definition: ethercatmain.h:164
ec_idxstackT::pulled
uint8 pulled
Definition: ethercatmain.h:370
ec_eepromFMMUt::FMMU0
uint8 FMMU0
Definition: ethercatmain.h:311
EC_MAXFMMU
#define EC_MAXFMMU
Definition: ethercatmain.h:74
ec_slavet::Istartbit
uint8 Istartbit
Definition: ethercatmain.h:174
ec_adapter::next
ec_adaptert * next
Definition: ethercatmain.h:83
ec_slavet::group
uint8 group
Definition: ethercatmain.h:258
ec_slavet::mbx_proto
uint16 mbx_proto
Definition: ethercatmain.h:198
ec_slavet::consumedports
uint8 consumedports
Definition: ethercatmain.h:210
ec_adapter::desc
char desc[EC_MAXLEN_ADAPTERNAME]
Definition: ethercatmain.h:82
PACKED::ALstatuscode
uint16 ALstatuscode
Definition: ethercatmain.h:118
ecx_eeprom2pdi
int ecx_eeprom2pdi(ecx_contextt *context, uint16 slave)
Definition: ethercatmain.c:1111
ecx_contextt::SMcommtype
ec_SMcommtypet * SMcommtype
Definition: ethercatmain.h:448
ecx_contextt::ecaterror
boolean * ecaterror
Definition: ethercatmain.h:440
int32
int32_t int32
Definition: osal.h:32
ec_groupt::Obytes
uint32 Obytes
Definition: ethercatmain.h:275
ec_groupt::nsegments
uint16 nsegments
Definition: ethercatmain.h:291
ec_slavet::DCprevious
uint16 DCprevious
Definition: ethercatmain.h:230
ec_slavet::Dtype
uint16 Dtype
Definition: ethercatmain.h:158
uint8
uint8_t uint8
Definition: osal.h:33
ecx_receive_processdata_group
int ecx_receive_processdata_group(ecx_contextt *context, uint8 group, int timeout)
Definition: ethercatmain.c:1732
uint64
uint64_t uint64
Definition: osal.h:37
ecx_siigetbyte
uint8 ecx_siigetbyte(ecx_contextt *context, uint16 slave, uint16 address)
Definition: ethercatmain.c:365
ec_alstatust
PACKED_END PACKED_BEGIN struct PACKED ec_alstatust
EC_MAXNAME
#define EC_MAXNAME
Definition: ethercatmain.h:60
ec_eepromPDOt
Definition: ethercatmain.h:331
ecx_statecheck
uint16 ecx_statecheck(ecx_contextt *context, uint16 slave, uint16 reqstate, int timeout)
Definition: ethercatmain.c:773
ecx_eeprom2master
int ecx_eeprom2master(ecx_contextt *context, uint16 slave)
Definition: ethercatmain.c:1078
ec_groupt::docheckstate
boolean docheckstate
Definition: ethercatmain.h:301
ec_smt
PACKED_END PACKED_BEGIN struct PACKED ec_smt
EC_MAXMBX
#define EC_MAXMBX
Definition: ethercatmain.h:68
ec_groupt::Isegment
uint16 Isegment
Definition: ethercatmain.h:293
ec_slavet::ALstatuscode
uint16 ALstatuscode
Definition: ethercatmain.h:144
PACKED
Definition: ethercatmain.h:88
ec_idxstackT::pushed
uint8 pushed
Definition: ethercatmain.h:369
ecx_writeeepromFP
int ecx_writeeepromFP(ecx_contextt *context, uint16 configadr, uint16 eeproma, uint16 data, int timeout)
Definition: ethercatmain.c:1411
ecx_iserror
boolean ecx_iserror(ecx_contextt *context)
Definition: ethercatmain.c:240
ec_slavet::mbx_ro
uint16 mbx_ro
Definition: ethercatmain.h:196
ec_slavet::DCrtA
int32 DCrtA
Definition: ethercatmain.h:218
ec_slavet::DCactive
uint8 DCactive
Definition: ethercatmain.h:236
ecx_readeeprom
uint32 ecx_readeeprom(ecx_contextt *context, uint16 slave, uint16 eeproma, int timeout)
Definition: ethercatmain.c:1046
ec_nextmbxcnt
uint8 ec_nextmbxcnt(uint8 cnt)
Definition: ethercatmain.c:818
ec_find_adapters
ec_adaptert * ec_find_adapters(void)
Definition: ethercatmain.c:165
ec_eepromSMt::Startpos
uint16 Startpos
Definition: ethercatmain.h:320
ec_slavet::parent
uint16 parent
Definition: ethercatmain.h:212
PACKED::LogStart
uint32 LogStart
Definition: ethercatmain.h:90
ec_eepromSMt::Activate
uint8 Activate
Definition: ethercatmain.h:326
ecx_contextt::maxslave
int maxslave
Definition: ethercatmain.h:424
ecx_send_processdata_group
int ecx_send_processdata_group(ecx_contextt *context, uint8 group)
Definition: ethercatmain.c:1571
ec_slavet::islost
boolean islost
Definition: ethercatmain.h:262
ec_PDOassignt
PACKED_END PACKED_BEGIN struct PACKED ec_PDOassignt
ecx_contextt::DCtO
uint16 DCtO
Definition: ethercatmain.h:442
ecx_contextt::port
ecx_portt * port
Definition: ethercatmain.h:418
ec_slavet::FMMU0func
uint8 FMMU0func
Definition: ethercatmain.h:182
ec_eepromSMt::Creg
uint8 Creg
Definition: ethercatmain.h:324
PACKED::LogStartbit
uint8 LogStartbit
Definition: ethercatmain.h:92
ec_errort
Definition: ethercattype.h:492
ecx_init
int ecx_init(ecx_contextt *context, char *ifname)
Definition: ethercatmain.c:319
ecx_contextt::eepFMMU
ec_eepromFMMUt * eepFMMU
Definition: ethercatmain.h:456
ecx_siiSMnext
uint16 ecx_siiSMnext(ecx_contextt *context, uint16 slave, ec_eepromSMt *SM, uint16 n)
Definition: ethercatmain.c:609
ec_eepromSMt::nSM
uint8 nSM
Definition: ethercatmain.h:321
uint16
uint16_t uint16
Definition: osal.h:34
ec_slavet::Obits
uint16 Obits
Definition: ethercatmain.h:160
ecx_contextt::esibuf
uint8 * esibuf
Definition: ethercatmain.h:430
nicdrv.h
Headerfile for nicdrv.c.
ecx_readeeprom1
void ecx_readeeprom1(ecx_contextt *context, uint16 slave, uint16 eeproma)
Definition: ethercatmain.c:1472
PACKED::LogEndbit
uint8 LogEndbit
Definition: ethercatmain.h:93
ec_mbxheadert
PACKED_BEGIN struct PACKED ec_mbxheadert
ec_eepromSMt::PDIctrl
uint8 PDIctrl
Definition: ethercatmain.h:327
ecx_contextt::PDOdesc
ec_PDOdesct * PDOdesc
Definition: ethercatmain.h:452
ec_slavet::eep_8byte
uint8 eep_8byte
Definition: ethercatmain.h:242
ecx_contextt::idxstack
ec_idxstackT * idxstack
Definition: ethercatmain.h:438
EC_MAXIOSEGMENTS
#define EC_MAXIOSEGMENTS
Definition: ethercatmain.h:66
ec_slavet::SIIindex
uint16 SIIindex
Definition: ethercatmain.h:240
ec_slavet::hasdc
boolean hasdc
Definition: ethercatmain.h:202
EC_MAXELIST
#define EC_MAXELIST
Definition: ethercatmain.h:58
ecx_contextt::DCl
uint16 DCl
Definition: ethercatmain.h:444
ec_slavet::DCrtC
int32 DCrtC
Definition: ethercatmain.h:222
ec_SMcommtypet
PACKED_BEGIN struct PACKED ec_SMcommtypet
ec_slavet::DCrtD
int32 DCrtD
Definition: ethercatmain.h:224
ec_slavet::entryport
uint8 entryport
Definition: ethercatmain.h:216
ec_PDOdesct
PACKED_END PACKED_BEGIN struct PACKED ec_PDOdesct
ecx_init_redundant
int ecx_init_redundant(ecx_contextt *context, ecx_redportt *redport, char *ifname, char *if2name)
Definition: ethercatmain.c:331
PACKED::unused1
uint8 unused1
Definition: ethercatmain.h:98
PACKED::PDO
uint32 PDO[256]
Definition: ethercatmain.h:410
PACKED::FMMUtype
uint8 FMMUtype
Definition: ethercatmain.h:96
ecx_contextt::maxgroup
int maxgroup
Definition: ethercatmain.h:428
ecx_esidump
void ecx_esidump(ecx_contextt *context, uint16 slave, uint8 *esibuf)
Definition: ethercatmain.c:1003
ecx_writeeeprom
int ecx_writeeeprom(ecx_contextt *context, uint16 slave, uint16 eeproma, uint16 data, int timeout)
Definition: ethercatmain.c:1064
PACKED::StartAddr
uint16 StartAddr
Definition: ethercatmain.h:107
ec_groupt::hasdc
boolean hasdc
Definition: ethercatmain.h:283
ecx_portt
Definition: nicdrv.h:91
ecx_mbxsend
int ecx_mbxsend(ecx_contextt *context, uint16 slave, ec_mbxbuft *mbx, int timeout)
Definition: ethercatmain.c:878
ec_slavet::CoEdetails
uint8 CoEdetails
Definition: ethercatmain.h:246
ec_slavet::mbx_cnt
uint8 mbx_cnt
Definition: ethercatmain.h:200
ec_groupt::Ibytes
uint32 Ibytes
Definition: ethercatmain.h:279
ec_groupt::logstartaddr
uint32 logstartaddr
Definition: ethercatmain.h:273
ec_slavet::eep_man
uint32 eep_man
Definition: ethercatmain.h:150
ecx_contextt::PDOassign
ec_PDOassignt * PDOassign
Definition: ethercatmain.h:450
PACKED::SMflags
uint32 SMflags
Definition: ethercatmain.h:109
ec_slavet::EoEdetails
uint8 EoEdetails
Definition: ethercatmain.h:250
ec_fmmut
PACKED_BEGIN struct PACKED ec_fmmut
ec_slavet::DCshift
int32 DCshift
Definition: ethercatmain.h:234
ec_slavet::state
uint16 state
Definition: ethercatmain.h:142
ec_slavet::Ebuscurrent
int16 Ebuscurrent
Definition: ethercatmain.h:254
PACKED::index
uint16 index[256]
Definition: ethercatmain.h:400
ec_eepromSMt::Sreg
uint8 Sreg
Definition: ethercatmain.h:325
ec_groupt::inputsWKC
uint16 inputsWKC
Definition: ethercatmain.h:299
ecx_poperror
boolean ecx_poperror(ecx_contextt *context, ec_errort *Ec)
Definition: ethercatmain.c:214
ec_free_adapters
void ec_free_adapters(ec_adaptert *adapter)
Definition: ethercatmain.c:178
PACKED::unused
uint16 unused
Definition: ethercatmain.h:361
PACKED::unused2
uint16 unused2
Definition: ethercatmain.h:99
PACKED::PhysStart
uint16 PhysStart
Definition: ethercatmain.h:94
ecx_siifind
int16 ecx_siifind(ecx_contextt *context, uint16 slave, uint16 cat)
Definition: ethercatmain.c:434
ecx_contextt::slavecount
int * slavecount
Definition: ethercatmain.h:422
ec_slavet::DCnext
uint16 DCnext
Definition: ethercatmain.h:228
ec_groupt::inputs
uint8 * inputs
Definition: ethercatmain.h:281
ec_slavet::mbx_wo
uint16 mbx_wo
Definition: ethercatmain.h:192
PACKED::priority
uint8 priority
Definition: ethercatmain.h:351
ecx_contextt::grouplist
ec_groupt * grouplist
Definition: ethercatmain.h:426
ec_eepromFMMUt::Startpos
uint16 Startpos
Definition: ethercatmain.h:309
PACKED::length
uint16 length
Definition: ethercatmain.h:349
ec_eepromSMt
Definition: ethercatmain.h:318
ec_slavet::FMMU1func
uint8 FMMU1func
Definition: ethercatmain.h:184
ec_slavet::Ibytes
uint32 Ibytes
Definition: ethercatmain.h:170
PACKED::alstatus
uint16 alstatus
Definition: ethercatmain.h:360
ec_groupt::blockLRW
uint8 blockLRW
Definition: ethercatmain.h:289
ec_eepromPDOt::Length
uint16 Length
Definition: ethercatmain.h:334
ecx_pusherror
void ecx_pusherror(ecx_contextt *context, const ec_errort *Ec)
Definition: ethercatmain.c:188
ec_eepromFMMUt::FMMU1
uint8 FMMU1
Definition: ethercatmain.h:312
ec_slavet::parentport
uint8 parentport
Definition: ethercatmain.h:214
ecx_receive_processdata
int ecx_receive_processdata(ecx_contextt *context, int timeout)
Definition: ethercatmain.c:1805
ec_slavet::ptype
uint8 ptype
Definition: ethercatmain.h:204
ec_idxstackT
Definition: ethercatmain.h:367
ec_groupt::outputsWKC
uint16 outputsWKC
Definition: ethercatmain.h:297
ec_slavet::configadr
uint16 configadr
Definition: ethercatmain.h:146
ec_slavet::DCrtB
int32 DCrtB
Definition: ethercatmain.h:220
ec_groupt::Ebuscurrent
int16 Ebuscurrent
Definition: ethercatmain.h:287
PACKED::LogLength
uint16 LogLength
Definition: ethercatmain.h:91
ec_slavet::DCcycle
int32 DCcycle
Definition: ethercatmain.h:232
PACKED::mbxtype
uint8 mbxtype
Definition: ethercatmain.h:352
ec_slavet::configindex
uint16 configindex
Definition: ethercatmain.h:238
ec_slavet::eep_rev
uint32 eep_rev
Definition: ethercatmain.h:154
ec_adapter::name
char name[EC_MAXLEN_ADAPTERNAME]
Definition: ethercatmain.h:81
ecx_send_processdata
int ecx_send_processdata(ecx_contextt *context)
Definition: ethercatmain.c:1800
ecx_packeterror
void ecx_packeterror(ecx_contextt *context, uint16 Slave, uint16 Index, uint8 SubIdx, uint16 ErrorCode)
Definition: ethercatmain.c:253
ec_slavet
Definition: ethercatmain.h:139
ec_eepromPDOt::Startpos
uint16 Startpos
Definition: ethercatmain.h:333
ec_slavet::Itype
uint16 Itype
Definition: ethercatmain.h:156
ec_slavet::Ostartbit
uint8 Ostartbit
Definition: ethercatmain.h:166
ec_eringt::tail
int16 tail
Definition: ethercatmain.h:380
ecx_contextt::eepSM
ec_eepromSMt * eepSM
Definition: ethercatmain.h:454
ecx_siiPDO
int ecx_siiPDO(ecx_contextt *context, uint16 slave, ec_eepromPDOt *PDO, uint8 t)
Definition: ethercatmain.c:643
PACKED::n
uint8 n
Definition: ethercatmain.h:388
EC_MAXSLAVE
#define EC_MAXSLAVE
Definition: ethercatmain.h:62
ec_slavet::activeports
uint8 activeports
Definition: ethercatmain.h:208
ecx_mbxreceive
int ecx_mbxreceive(ecx_contextt *context, uint16 slave, ec_mbxbuft *mbx, int timeout)
Definition: ethercatmain.c:911
ec_slavet::blockLRW
uint8 blockLRW
Definition: ethercatmain.h:256
PACKED::alstatuscode
uint16 alstatuscode
Definition: ethercatmain.h:362
ec_slavet::FMMU2func
uint8 FMMU2func
Definition: ethercatmain.h:186
ec_slavet::mbx_rl
uint16 mbx_rl
Definition: ethercatmain.h:194
ecx_redportt
Definition: nicdrv.h:76
PACKED::SMtype
uint8 SMtype[EC_MAXSM]
Definition: ethercatmain.h:390
ec_groupt::outputs
uint8 * outputs
Definition: ethercatmain.h:277
PACKED::FMMUactive
uint8 FMMUactive
Definition: ethercatmain.h:97
ec_state_status
PACKED_END PACKED_BEGIN struct PACKED ec_state_status
ecx_contextt
Definition: ethercatmain.h:415
ecx_siiSM
uint16 ecx_siiSM(ecx_contextt *context, uint16 slave, ec_eepromSMt *SM)
Definition: ethercatmain.c:572


sr_hand_detector
Author(s):
autogenerated on Sat Sep 24 2022 02:26:10