1 /****************************************************************************
3 (c) SYSTEC electronic GmbH, D-07973 Greiz, August-Bebel-Str. 29
4 www.systec-electronic.com
8 Description: configuration file
12 Redistribution and use in source and binary forms, with or without
13 modification, are permitted provided that the following conditions
16 1. Redistributions of source code must retain the above copyright
17 notice, this list of conditions and the following disclaimer.
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.
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.
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.
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.
50 -------------------------------------------------------------------------
52 $RCSfile: EplCfg.h,v $
56 $Revision: 1.4 $ $Date: 2008/10/17 15:32:32 $
63 -------------------------------------------------------------------------
67 2006/06/06 k.t.: Start of Implementation
69 ****************************************************************************/
74 // =========================================================================
75 // generic defines which for whole EPL Stack
76 // =========================================================================
77 #define EPL_USE_DELETEINST_FUNC TRUE
79 // needed to support datatypes over 32 bit by global.h
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
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
93 // use no FIFOs, make direct calls
96 // use no IPC between user- and kernelspace modules, make direct calls
97 #define EPL_NO_USER_KERNEL
99 #ifndef BENCHMARK_MODULES
100 #define BENCHMARK_MODULES 0 //0xEE800042L
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
108 // EPL_DBGLVL_OBD = 0x00000004L
109 // * EPL_DBGLVL_ASSERT = 0x20000000L
110 // * EPL_DBGLVL_ERROR = 0x40000000L
111 // * EPL_DBGLVL_ALWAYS = 0x80000000L
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 \
117 | EPL_MODULE_NMT_MN \
120 | EPL_MODULE_SDO_ASND \
121 | EPL_MODULE_SDO_UDP \
122 | EPL_MODULE_NMT_CN \
130 // =========================================================================
131 // EPL ethernet driver (Edrv) specific defines
132 // =========================================================================
134 // switch this define to TRUE if Edrv supports fast tx frames
135 #define EDRV_FAST_TXFRAMES FALSE
136 //#define EDRV_FAST_TXFRAMES TRUE
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
142 // enables setting of several port pins for benchmarking purposes
143 #define EDRV_BENCHMARK FALSE
144 //#define EDRV_BENCHMARK TRUE // MCF_GPIO_PODR_PCIBR
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
151 // number of used ethernet controller
152 //#define EDRV_USED_ETH_CTRL 1
154 // =========================================================================
155 // Data Link Layer (DLL) specific defines
156 // =========================================================================
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
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
168 // =========================================================================
169 // OBD specific defines
170 // =========================================================================
172 // switch this define to TRUE if Epl should compare object range
174 #define EPL_OBD_CHECK_OBJECT_RANGE FALSE
175 //#define EPL_OBD_CHECK_OBJECT_RANGE TRUE
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
183 #define EPL_OBD_USE_VARIABLE_SUBINDEX_TAB TRUE
185 // =========================================================================
186 // Timer module specific defines
187 // =========================================================================
189 // if TRUE it uses the Timer module implementation of EPL user also in EPL kernel
190 #define EPL_TIMER_USE_USER TRUE
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