1 /**************************************************************************** 2 3 (c) SYSTEC electronic GmbH, D-07973 Greiz, August-Bebel-Str. 29 4 www.systec-electronic.com 5 6 Project: openPOWERLINK 7 8 Description: configuration file 9 10 License: 11 12 Redistribution and use in source and binary forms, with or without 13 modification, are permitted provided that the following conditions 14 are met: 15 16 1. Redistributions of source code must retain the above copyright 17 notice, this list of conditions and the following disclaimer. 18 19 2. Redistributions in binary form must reproduce the above copyright 20 notice, this list of conditions and the following disclaimer in the 21 documentation and/or other materials provided with the distribution. 22 23 3. Neither the name of SYSTEC electronic GmbH nor the names of its 24 contributors may be used to endorse or promote products derived 25 from this software without prior written permission. For written 26 permission, please contact info@systec-electronic.com. 27 28 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 29 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 30 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 31 FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 32 COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 33 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 34 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 35 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 36 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 37 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 38 ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 39 POSSIBILITY OF SUCH DAMAGE. 40 41 Severability Clause: 42 43 If a provision of this License is or becomes illegal, invalid or 44 unenforceable in any jurisdiction, that shall not affect: 45 1. the validity or enforceability in that jurisdiction of any other 46 provision of this License; or 47 2. the validity or enforceability in other jurisdictions of that or 48 any other provision of this License. 49 50 ------------------------------------------------------------------------- 51 52 $RCSfile: EplCfg.h,v $ 53 54 $Author: D.Krueger $ 55 56 $Revision: 1.4 $ $Date: 2008/10/17 15:32:32 $ 57 58 $State: Exp $ 59 60 Build Environment: 61 ... 62 63 ------------------------------------------------------------------------- 64 65 Revision History: 66 67 2006/06/06 k.t.: Start of Implementation 68 69 ****************************************************************************/ 70 71 #ifndef _EPLCFG_H_ 72 #define _EPLCFG_H_ 73 74 // ========================================================================= 75 // generic defines which for whole EPL Stack 76 // ========================================================================= 77 #define EPL_USE_DELETEINST_FUNC TRUE 78 79 // needed to support datatypes over 32 bit by global.h 80 #define USE_VAR64 81 82 // EPL_MAX_INSTANCES specifies count of instances of all EPL modules. 83 // If it is greater than 1 the first parameter of all 84 // functions is the instance number. 85 #define EPL_MAX_INSTANCES 1 86 87 // This defines the target hardware. Here is encoded wich CPU and wich external 88 // peripherals are connected. For possible values refere to target.h. If 89 // necessary value is not available EPL stack has to 90 // be adapted and tested. 91 #define TARGET_HARDWARE TGTHW_PC_WRAPP 92 93 // use no FIFOs, make direct calls 94 //#define EPL_NO_FIFO 95 96 // use no IPC between user- and kernelspace modules, make direct calls 97 #define EPL_NO_USER_KERNEL 98 99 #ifndef BENCHMARK_MODULES 100 #define BENCHMARK_MODULES 0 //0xEE800042L 101 #endif 102 103 // Default defug level: 104 // Only debug traces of these modules will be compiled which flags are set in define DEF_DEBUG_LVL. 105 #ifndef DEF_DEBUG_LVL 106 #define DEF_DEBUG_LVL 0xEC000000L 107 #endif 108 // EPL_DBGLVL_OBD = 0x00000004L 109 // * EPL_DBGLVL_ASSERT = 0x20000000L 110 // * EPL_DBGLVL_ERROR = 0x40000000L 111 // * EPL_DBGLVL_ALWAYS = 0x80000000L 112 113 // EPL_MODULE_INTEGRATION defines all modules which are included in 114 // EPL application. Please add or delete modules for your application. 115 #define EPL_MODULE_INTEGRATION EPL_MODULE_OBDK \ 116 | EPL_MODULE_PDOK \ 117 | EPL_MODULE_NMT_MN \ 118 | EPL_MODULE_SDOS \ 119 | EPL_MODULE_SDOC \ 120 | EPL_MODULE_SDO_ASND \ 121 | EPL_MODULE_SDO_UDP \ 122 | EPL_MODULE_NMT_CN \ 123 | EPL_MODULE_NMTU \ 124 | EPL_MODULE_NMTK \ 125 | EPL_MODULE_DLLK \ 126 | EPL_MODULE_DLLU \ 127 | EPL_MODULE_VETH 128 // | EPL_MODULE_OBDU 129 130 // ========================================================================= 131 // EPL ethernet driver (Edrv) specific defines 132 // ========================================================================= 133 134 // switch this define to TRUE if Edrv supports fast tx frames 135 #define EDRV_FAST_TXFRAMES FALSE 136 //#define EDRV_FAST_TXFRAMES TRUE 137 138 // switch this define to TRUE if Edrv supports early receive interrupts 139 #define EDRV_EARLY_RX_INT FALSE 140 //#define EDRV_EARLY_RX_INT TRUE 141 142 // enables setting of several port pins for benchmarking purposes 143 #define EDRV_BENCHMARK FALSE 144 //#define EDRV_BENCHMARK TRUE // MCF_GPIO_PODR_PCIBR 145 146 // Call Tx handler (i.e. EplDllCbFrameTransmitted()) already if DMA has finished, 147 // otherwise call the Tx handler if frame was actually transmitted over ethernet. 148 #define EDRV_DMA_TX_HANDLER FALSE 149 //#define EDRV_DMA_TX_HANDLER TRUE 150 151 // number of used ethernet controller 152 //#define EDRV_USED_ETH_CTRL 1 153 154 // ========================================================================= 155 // Data Link Layer (DLL) specific defines 156 // ========================================================================= 157 158 // switch this define to TRUE if Edrv supports fast tx frames 159 // and DLL shall pass PRes as ready to Edrv after SoC 160 #define EPL_DLL_PRES_READY_AFTER_SOC FALSE 161 //#define EPL_DLL_PRES_READY_AFTER_SOC TRUE 162 163 // switch this define to TRUE if Edrv supports fast tx frames 164 // and DLL shall pass PRes as ready to Edrv after SoA 165 #define EPL_DLL_PRES_READY_AFTER_SOA FALSE 166 //#define EPL_DLL_PRES_READY_AFTER_SOA TRUE 167 168 // ========================================================================= 169 // OBD specific defines 170 // ========================================================================= 171 172 // switch this define to TRUE if Epl should compare object range 173 // automaticly 174 #define EPL_OBD_CHECK_OBJECT_RANGE FALSE 175 //#define EPL_OBD_CHECK_OBJECT_RANGE TRUE 176 177 // set this define to TRUE if there are strings or domains in OD, which 178 // may be changed in object size and/or object data pointer by its object 179 // callback function (called event kObdEvWrStringDomain) 180 //#define EPL_OBD_USE_STRING_DOMAIN_IN_RAM FALSE 181 #define EPL_OBD_USE_STRING_DOMAIN_IN_RAM TRUE 182 183 #define EPL_OBD_USE_VARIABLE_SUBINDEX_TAB TRUE 184 185 // ========================================================================= 186 // Timer module specific defines 187 // ========================================================================= 188 189 // if TRUE it uses the Timer module implementation of EPL user also in EPL kernel 190 #define EPL_TIMER_USE_USER TRUE 191 192 // if TRUE the high resolution timer module will be used 193 #define EPL_TIMER_USE_HIGHRES TRUE 194 //#define EPL_TIMER_USE_HIGHRES FALSE 195 196 #endif //_EPLCFG_H_ 197