00001 /* 00002 * Simple Open EtherCAT Master Library 00003 * 00004 * File : ethercatconfig.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 _ethercatconfig_ 00047 #define _ethercatconfig_ 00048 00049 #ifdef __cplusplus 00050 extern "C" 00051 { 00052 #endif 00053 00054 #define EC_NODEOFFSET 0x1000 00055 #define EC_TEMPNODE 0xffff 00056 00057 #ifdef EC_VER1 00058 int ec_config_init(uint8 usetable); 00059 int ec_config_map(void *pIOmap); 00060 int ec_config_map_group(void *pIOmap, uint8 group); 00061 int ec_config(uint8 usetable, void *pIOmap); 00062 int ec_recover_slave(uint16 slave, int timeout); 00063 int ec_reconfig_slave(uint16 slave, int timeout); 00064 #endif 00065 00066 int ecx_config_init(ecx_contextt *context, uint8 usetable); 00067 int ecx_config_map_group(ecx_contextt *context, void *pIOmap, uint8 group); 00068 int ecx_recover_slave(ecx_contextt *context, uint16 slave, int timeout); 00069 int ecx_reconfig_slave(ecx_contextt *context, uint16 slave, int timeout); 00070 00071 #ifdef __cplusplus 00072 } 00073 #endif 00074 00075 #endif