SOEM EtherCAT Master library for STM Nucleo F767ZI
Dependents: EasyCAT_LAB_simple EasyCAT_LAB_very_simple EasyCAT_LAB
- This repository contains the SOEM (Simple Open EtherCAT® Master) library by rt-labs, that has been ported in the ecosystem by AB&T Tecnologie Informatiche.
- It has been developed for the EasyCAT LAB , a complete educational and experimental EtherCAT® system, composed of one master and two slaves .
- The EasyCAT LAB is provided as a kit by AB&T Tecnologie Informatiche, to allow everybody to have an educational EtherCAT® system up and running in a matter of minutes.
Warning
- Currently only the Nucleo STM32F767ZI board is supported.
SOEM/ethercatbase.h@0:543d6784d4cc, 2019-06-11 (annotated)
- Committer:
- EasyCAT
- Date:
- Tue Jun 11 10:29:09 2019 +0000
- Revision:
- 0:543d6784d4cc
SOEM EtherCAT Master Library for STM Nucleo F767ZI
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
EasyCAT | 0:543d6784d4cc | 1 | /* |
EasyCAT | 0:543d6784d4cc | 2 | * Licensed under the GNU General Public License version 2 with exceptions. See |
EasyCAT | 0:543d6784d4cc | 3 | * LICENSE file in the project root for full license information |
EasyCAT | 0:543d6784d4cc | 4 | */ |
EasyCAT | 0:543d6784d4cc | 5 | |
EasyCAT | 0:543d6784d4cc | 6 | /** \file |
EasyCAT | 0:543d6784d4cc | 7 | * \brief |
EasyCAT | 0:543d6784d4cc | 8 | * Headerfile for ethercatbase.c |
EasyCAT | 0:543d6784d4cc | 9 | */ |
EasyCAT | 0:543d6784d4cc | 10 | |
EasyCAT | 0:543d6784d4cc | 11 | #ifndef _ethercatbase_ |
EasyCAT | 0:543d6784d4cc | 12 | #define _ethercatbase_ |
EasyCAT | 0:543d6784d4cc | 13 | |
EasyCAT | 0:543d6784d4cc | 14 | #ifdef __cplusplus |
EasyCAT | 0:543d6784d4cc | 15 | extern "C" |
EasyCAT | 0:543d6784d4cc | 16 | { |
EasyCAT | 0:543d6784d4cc | 17 | #endif |
EasyCAT | 0:543d6784d4cc | 18 | |
EasyCAT | 0:543d6784d4cc | 19 | int ecx_setupdatagram(ecx_portt *port, void *frame, uint8 com, uint8 idx, uint16 ADP, uint16 ADO, uint16 length, void *data); |
EasyCAT | 0:543d6784d4cc | 20 | int ecx_adddatagram(ecx_portt *port, void *frame, uint8 com, uint8 idx, boolean more, uint16 ADP, uint16 ADO, uint16 length, void *data); |
EasyCAT | 0:543d6784d4cc | 21 | int ecx_BWR(ecx_portt *port, uint16 ADP,uint16 ADO,uint16 length,void *data,int timeout); |
EasyCAT | 0:543d6784d4cc | 22 | int ecx_BRD(ecx_portt *port, uint16 ADP,uint16 ADO,uint16 length,void *data,int timeout); |
EasyCAT | 0:543d6784d4cc | 23 | int ecx_APRD(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 24 | int ecx_ARMW(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 25 | int ecx_FRMW(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 26 | uint16 ecx_APRDw(ecx_portt *port, uint16 ADP, uint16 ADO, int timeout); |
EasyCAT | 0:543d6784d4cc | 27 | int ecx_FPRD(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 28 | uint16 ecx_FPRDw(ecx_portt *port, uint16 ADP, uint16 ADO, int timeout); |
EasyCAT | 0:543d6784d4cc | 29 | int ecx_APWRw(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 data, int timeout); |
EasyCAT | 0:543d6784d4cc | 30 | int ecx_APWR(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 31 | int ecx_FPWRw(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 data, int timeout); |
EasyCAT | 0:543d6784d4cc | 32 | int ecx_FPWR(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 33 | int ecx_LRW(ecx_portt *port, uint32 LogAdr, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 34 | int ecx_LRD(ecx_portt *port, uint32 LogAdr, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 35 | int ecx_LWR(ecx_portt *port, uint32 LogAdr, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 36 | int ecx_LRWDC(ecx_portt *port, uint32 LogAdr, uint16 length, void *data, uint16 DCrs, int64 *DCtime, int timeout); |
EasyCAT | 0:543d6784d4cc | 37 | |
EasyCAT | 0:543d6784d4cc | 38 | #ifdef EC_VER1 |
EasyCAT | 0:543d6784d4cc | 39 | int ec_setupdatagram(void *frame, uint8 com, uint8 idx, uint16 ADP, uint16 ADO, uint16 length, void *data); |
EasyCAT | 0:543d6784d4cc | 40 | int ec_adddatagram(void *frame, uint8 com, uint8 idx, boolean more, uint16 ADP, uint16 ADO, uint16 length, void *data); |
EasyCAT | 0:543d6784d4cc | 41 | int ec_BWR(uint16 ADP,uint16 ADO,uint16 length,void *data,int timeout); |
EasyCAT | 0:543d6784d4cc | 42 | int ec_BRD(uint16 ADP,uint16 ADO,uint16 length,void *data,int timeout); |
EasyCAT | 0:543d6784d4cc | 43 | int ec_APRD(uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 44 | int ec_ARMW(uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 45 | int ec_FRMW(uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 46 | uint16 ec_APRDw(uint16 ADP, uint16 ADO, int timeout); |
EasyCAT | 0:543d6784d4cc | 47 | int ec_FPRD(uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 48 | uint16 ec_FPRDw(uint16 ADP, uint16 ADO, int timeout); |
EasyCAT | 0:543d6784d4cc | 49 | int ec_APWRw(uint16 ADP, uint16 ADO, uint16 data, int timeout); |
EasyCAT | 0:543d6784d4cc | 50 | int ec_APWR(uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 51 | int ec_FPWRw(uint16 ADP, uint16 ADO, uint16 data, int timeout); |
EasyCAT | 0:543d6784d4cc | 52 | int ec_FPWR(uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 53 | int ec_LRW(uint32 LogAdr, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 54 | int ec_LRD(uint32 LogAdr, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 55 | int ec_LWR(uint32 LogAdr, uint16 length, void *data, int timeout); |
EasyCAT | 0:543d6784d4cc | 56 | int ec_LRWDC(uint32 LogAdr, uint16 length, void *data, uint16 DCrs, int64 *DCtime, int timeout); |
EasyCAT | 0:543d6784d4cc | 57 | #endif |
EasyCAT | 0:543d6784d4cc | 58 | |
EasyCAT | 0:543d6784d4cc | 59 | #ifdef __cplusplus |
EasyCAT | 0:543d6784d4cc | 60 | } |
EasyCAT | 0:543d6784d4cc | 61 | #endif |
EasyCAT | 0:543d6784d4cc | 62 | |
EasyCAT | 0:543d6784d4cc | 63 | #endif |