ethercatbase.h
Go to the documentation of this file.
00001 /*
00002  * Simple Open EtherCAT Master Library 
00003  *
00004  * File    : ethercatbase.h
00005  * Version : 1.3.0
00006  * Date    : 24-02-2013
00007  * Copyright (C) 2005-2013 Speciaal Machinefabriek Ketels v.o.f.
00008  * Copyright (C) 2005-2013 Arthur Ketels
00009  * Copyright (C) 2008-2009 TU/e Technische Universiteit Eindhoven 
00010  *
00011  * SOEM is free software; you can redistribute it and/or modify it under
00012  * the terms of the GNU General Public License version 2 as published by the Free
00013  * Software Foundation.
00014  *
00015  * SOEM is distributed in the hope that it will be useful, but WITHOUT ANY
00016  * WARRANTY; without even the implied warranty of MERCHANTABILITY or
00017  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00018  * for more details.
00019  *
00020  * As a special exception, if other files instantiate templates or use macros
00021  * or inline functions from this file, or you compile this file and link it
00022  * with other works to produce a work based on this file, this file does not
00023  * by itself cause the resulting work to be covered by the GNU General Public
00024  * License. However the source code for this file must still be made available
00025  * in accordance with section (3) of the GNU General Public License.
00026  *
00027  * This exception does not invalidate any other reasons why a work based on
00028  * this file might be covered by the GNU General Public License.
00029  *
00030  * The EtherCAT Technology, the trade name and logo “EtherCAT” are the intellectual
00031  * property of, and protected by Beckhoff Automation GmbH. You can use SOEM for
00032  * the sole purpose of creating, using and/or selling or otherwise distributing
00033  * an EtherCAT network master provided that an EtherCAT Master License is obtained
00034  * from Beckhoff Automation GmbH.
00035  *
00036  * In case you did not receive a copy of the EtherCAT Master License along with
00037  * SOEM write to Beckhoff Automation GmbH, Eiserstraße 5, D-33415 Verl, Germany
00038  * (www.beckhoff.com).
00039  */
00040 
00046 #ifndef _ethercatbase_
00047 #define _ethercatbase_
00048 
00049 #ifdef __cplusplus
00050 extern "C"
00051 {
00052 #endif
00053 
00054 int ecx_setupdatagram(ecx_portt *port, void *frame, uint8 com, uint8 idx, uint16 ADP, uint16 ADO, uint16 length, void *data);
00055 int ecx_adddatagram(ecx_portt *port, void *frame, uint8 com, uint8 idx, boolean more, uint16 ADP, uint16 ADO, uint16 length, void *data);
00056 int ecx_BWR(ecx_portt *port, uint16 ADP,uint16 ADO,uint16 length,void *data,int timeout);
00057 int ecx_BRD(ecx_portt *port, uint16 ADP,uint16 ADO,uint16 length,void *data,int timeout);
00058 int ecx_APRD(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout);
00059 int ecx_ARMW(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout);
00060 int ecx_FRMW(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout);
00061 uint16 ecx_APRDw(ecx_portt *port, uint16 ADP, uint16 ADO, int timeout);
00062 int ecx_FPRD(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout);
00063 uint16 ecx_FPRDw(ecx_portt *port, uint16 ADP, uint16 ADO, int timeout);
00064 int ecx_APWRw(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 data, int timeout);
00065 int ecx_APWR(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout);
00066 int ecx_FPWRw(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 data, int timeout);
00067 int ecx_FPWR(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout);
00068 int ecx_LRW(ecx_portt *port, uint32 LogAdr, uint16 length, void *data, int timeout);
00069 int ecx_LRD(ecx_portt *port, uint32 LogAdr, uint16 length, void *data, int timeout);
00070 int ecx_LWR(ecx_portt *port, uint32 LogAdr, uint16 length, void *data, int timeout);
00071 int ecx_LRWDC(ecx_portt *port, uint32 LogAdr, uint16 length, void *data, uint16 DCrs, int64 *DCtime, int timeout);
00072 
00073 #ifdef EC_VER1
00074 int ec_setupdatagram(void *frame, uint8 com, uint8 idx, uint16 ADP, uint16 ADO, uint16 length, void *data);
00075 int ec_adddatagram(void *frame, uint8 com, uint8 idx, boolean more, uint16 ADP, uint16 ADO, uint16 length, void *data);
00076 int ec_BWR(uint16 ADP,uint16 ADO,uint16 length,void *data,int timeout);
00077 int ec_BRD(uint16 ADP,uint16 ADO,uint16 length,void *data,int timeout);
00078 int ec_APRD(uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout);
00079 int ec_ARMW(uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout);
00080 int ec_FRMW(uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout);
00081 uint16 ec_APRDw(uint16 ADP, uint16 ADO, int timeout);
00082 int ec_FPRD(uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout);
00083 uint16 ec_FPRDw(uint16 ADP, uint16 ADO, int timeout);
00084 int ec_APWRw(uint16 ADP, uint16 ADO, uint16 data, int timeout);
00085 int ec_APWR(uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout);
00086 int ec_FPWRw(uint16 ADP, uint16 ADO, uint16 data, int timeout);
00087 int ec_FPWR(uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout);
00088 int ec_LRW(uint32 LogAdr, uint16 length, void *data, int timeout);
00089 int ec_LRD(uint32 LogAdr, uint16 length, void *data, int timeout);
00090 int ec_LWR(uint32 LogAdr, uint16 length, void *data, int timeout);
00091 int ec_LRWDC(uint32 LogAdr, uint16 length, void *data, uint16 DCrs, int64 *DCtime, int timeout);
00092 #endif
00093 
00094 #ifdef __cplusplus
00095 }
00096 #endif
00097 
00098 #endif


ethercat_soem
Author(s): Arthur Ketels, M.J.G. van de Molengraft
autogenerated on Wed Aug 26 2015 11:32:40