00001 /* 00002 * Simple Open EtherCAT Master Library 00003 * 00004 * File : ethercatdc.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 _EC_ECATDC_H 00047 #define _EC_ECATDC_H 00048 00049 #ifdef __cplusplus 00050 extern "C" 00051 { 00052 #endif 00053 00054 #ifdef EC_VER1 00055 boolean ec_configdc(); 00056 void ec_dcsync0(uint16 slave, boolean act, uint32 CyclTime, uint32 CyclShift); 00057 void ec_dcsync01(uint16 slave, boolean act, uint32 CyclTime0, uint32 CyclTime1, uint32 CyclShift); 00058 #endif 00059 00060 boolean ecx_configdc(ecx_contextt *context); 00061 void ecx_dcsync0(ecx_contextt *context, uint16 slave, boolean act, uint32 CyclTime, uint32 CyclShift); 00062 void ecx_dcsync01(ecx_contextt *context, uint16 slave, boolean act, uint32 CyclTime0, uint32 CyclTime1, uint32 CyclShift); 00063 00064 #ifdef __cplusplus 00065 } 00066 #endif 00067 00068 #endif /* _EC_ECATDC_H */