blob: 1dc8108449c56b2b605128a0db7efec52c648d51 [file] [log] [blame]
Daniel Krueger9d7164c2008-12-19 11:41:57 -08001/****************************************************************************
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: include file for EPL default constants
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: EplDef.h,v $
53
54 $Author: D.Krueger $
55
56 $Revision: 1.15 $ $Date: 2008/10/17 15:32:32 $
57
58 $State: Exp $
59
60 Build Environment:
61 GCC V3.4
62
63 -------------------------------------------------------------------------
64
65 Revision History:
66
67 2006/05/22 d.k.: start of the implementation, version 1.00
68
Daniel Krueger9d7164c2008-12-19 11:41:57 -080069****************************************************************************/
70
71#ifndef _EPL_DEF_H_
72#define _EPL_DEF_H_
73
Daniel Krueger9d7164c2008-12-19 11:41:57 -080074//---------------------------------------------------------------------------
75// const defines
76//---------------------------------------------------------------------------
77
Greg Kroah-Hartmane0ca0592008-12-19 17:09:38 -080078#define EPL_C_ADR_BROADCAST 0xFF // EPL broadcast address
79#define EPL_C_ADR_DIAG_DEF_NODE_ID 0xFD // EPL default address of dignostic device
80#define EPL_C_ADR_DUMMY_NODE_ID 0xFC // EPL dummy node address
81#define EPL_C_ADR_INVALID 0x00 // invalid EPL address
82#define EPL_C_ADR_MN_DEF_NODE_ID 0xF0 // EPL default address of MN
83#define EPL_C_ADR_RT1_DEF_NODE_ID 0xFE // EPL default address of router type 1
84#define EPL_C_DLL_ASND_PRIO_NMTRQST 7 // increased ASnd request priority to be used by NMT Requests
85#define EPL_C_DLL_ASND_PRIO_STD 0 // standard ASnd request priority
Daniel Krueger9d7164c2008-12-19 11:41:57 -080086#define EPL_C_DLL_ETHERTYPE_EPL 0x88AB
Greg Kroah-Hartmane0ca0592008-12-19 17:09:38 -080087#define EPL_C_DLL_ISOCHR_MAX_PAYL 1490 // Byte: maximum size of PReq and PRes payload data, requires C_IP_MAX_MTU
88#define EPL_C_DLL_MAX_ASYNC_MTU 1500 // Byte: maximum asynchronous payload in bytes
89#define EPL_C_DLL_MAX_PAYL_OFFSET 1499 // Byte: maximum offset of Ethernet frame payload, requires C_IP_MAX_MTU
Daniel Krueger9d7164c2008-12-19 11:41:57 -080090#define EPL_C_DLL_MAX_RS 7
Greg Kroah-Hartmane0ca0592008-12-19 17:09:38 -080091#define EPL_C_DLL_MIN_ASYNC_MTU 282 // Byte: minimum asynchronous payload in bytes.
92#define EPL_C_DLL_MIN_PAYL_OFFSET 45 // Byte: minimum offset of Ethernet frame payload
93#define EPL_C_DLL_MULTICAST_ASND 0x01111E000004LL // EPL ASnd multicast MAC address, canonical form
94#define EPL_C_DLL_MULTICAST_PRES 0x01111E000002LL // EPL PRes multicast MAC address, canonical form
95#define EPL_C_DLL_MULTICAST_SOA 0x01111E000003LL // EPL SoA multicast MAC address, canonical form
96#define EPL_C_DLL_MULTICAST_SOC 0x01111E000001LL // EPL Soc multicast MAC address, canonical form
97#define EPL_C_DLL_PREOP1_START_CYCLES 10 // number of unassigning SoA frames at start of NMT_MS_PRE_OPERATIONAL_1
98#define EPL_C_DLL_T_BITTIME 10 // ns: Transmission time per bit on 100 Mbit/s network
99#define EPL_C_DLL_T_EPL_PDO_HEADER 10 // Byte: size of PReq and PRes EPL PDO message header
100#define EPL_C_DLL_T_ETH2_WRAPPER 18 // Byte: size of Ethernet type II wrapper consisting of header and checksum
101#define EPL_C_DLL_T_IFG 640 // ns: Ethernet Interframe Gap
102#define EPL_C_DLL_T_MIN_FRAME 5120 // ns: Size of minimum Ethernet frame (without preamble)
103#define EPL_C_DLL_T_PREAMBLE 960 // ns: Size of Ethernet frame preamble
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800104
Greg Kroah-Hartmane0ca0592008-12-19 17:09:38 -0800105#define EPL_C_DLL_MINSIZE_SOC 36 // minimum size of SoC without padding and CRC
106#define EPL_C_DLL_MINSIZE_PREQ 60 // minimum size of PRec without CRC
107#define EPL_C_DLL_MINSIZE_PRES 60 // minimum size of PRes without CRC
108#define EPL_C_DLL_MINSIZE_SOA 24 // minimum size of SoA without padding and CRC
109#define EPL_C_DLL_MINSIZE_IDENTRES 176 // minimum size of IdentResponse without CRC
110#define EPL_C_DLL_MINSIZE_STATUSRES 72 // minimum size of StatusResponse without CRC
111#define EPL_C_DLL_MINSIZE_NMTCMD 20 // minimum size of NmtCommand without CommandData, padding and CRC
112#define EPL_C_DLL_MINSIZE_NMTCMDEXT 52 // minimum size of NmtCommand without padding and CRC
113#define EPL_C_DLL_MINSIZE_NMTREQ 20 // minimum size of NmtRequest without CommandData, padding and CRC
114#define EPL_C_DLL_MINSIZE_NMTREQEXT 52 // minimum size of NmtRequest without padding and CRC
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800115
Greg Kroah-Hartmane0ca0592008-12-19 17:09:38 -0800116#define EPL_C_ERR_MONITOR_DELAY 10 // Error monitoring start delay (not used in DS 1.0.0)
117#define EPL_C_IP_ADR_INVALID 0x00000000L // invalid IP address (0.0.0.0) used to indicate no change
118#define EPL_C_IP_INVALID_MTU 0 // Byte: invalid MTU size used to indicate no change
119#define EPL_C_IP_MAX_MTU 1518 // Byte: maximum size in bytes of the IP stack which must be processed.
120#define EPL_C_IP_MIN_MTU 300 // Byte: minimum size in bytes of the IP stack which must be processed.
121#define EPL_C_NMT_STATE_TOLERANCE 5 // Cycles: maximum reaction time to NMT state commands
122#define EPL_C_NMT_STATREQ_CYCLE 5 // sec: StatusRequest cycle time to be applied to AsyncOnly CNs
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800123#define EPL_C_SDO_EPL_PORT 3819
124
Greg Kroah-Hartmane0ca0592008-12-19 17:09:38 -0800125#define EPL_C_DLL_MAX_ASND_SERVICE_IDS 5 // see tEplDllAsndServiceId in EplDll.h
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800126
127// Default configuration
128// ======================
129
130#ifndef EPL_D_PDO_Granularity_U8
Greg Kroah-Hartmane0ca0592008-12-19 17:09:38 -0800131#define EPL_D_PDO_Granularity_U8 8 // minimum size of objects to be mapped in bits UNSIGNED8 O O 1 1
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800132#endif
133
134#ifndef EPL_NMT_MAX_NODE_ID
Greg Kroah-Hartmane0ca0592008-12-19 17:09:38 -0800135#define EPL_NMT_MAX_NODE_ID 254 // maximum node-ID
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800136#endif
137
138#ifndef EPL_D_NMT_MaxCNNumber_U8
Greg Kroah-Hartmane0ca0592008-12-19 17:09:38 -0800139#define EPL_D_NMT_MaxCNNumber_U8 239 // maximum number of supported regular CNs in the Node ID range 1 .. 239 UNSIGNED8 O O 239 239
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800140#endif
141
142// defines for EPL API layer static process image
143#ifndef EPL_API_PROCESS_IMAGE_SIZE_IN
144#define EPL_API_PROCESS_IMAGE_SIZE_IN 0
145#endif
146
147#ifndef EPL_API_PROCESS_IMAGE_SIZE_OUT
148#define EPL_API_PROCESS_IMAGE_SIZE_OUT 0
149#endif
150
151// configure whether OD access events shall be forwarded
152// to user callback function.
153// Because of reentrancy for local OD accesses, this has to be disabled
154// when application resides in other address space as the stack (e.g. if
155// EplApiLinuxUser.c and EplApiLinuxKernel.c are used)
156#ifndef EPL_API_OBD_FORWARD_EVENT
157#define EPL_API_OBD_FORWARD_EVENT TRUE
158#endif
159
160#ifndef EPL_OBD_MAX_STRING_SIZE
Greg Kroah-Hartmane0ca0592008-12-19 17:09:38 -0800161#define EPL_OBD_MAX_STRING_SIZE 32 // is used for objects 0x1008/0x1009/0x100A
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800162#endif
163
164#ifndef EPL_OBD_USE_STORE_RESTORE
165#define EPL_OBD_USE_STORE_RESTORE FALSE
166#endif
167
168#ifndef EPL_OBD_CHECK_OBJECT_RANGE
169#define EPL_OBD_CHECK_OBJECT_RANGE TRUE
170#endif
171
172#ifndef EPL_OBD_USE_STRING_DOMAIN_IN_RAM
173#define EPL_OBD_USE_STRING_DOMAIN_IN_RAM TRUE
174#endif
175
176#ifndef EPL_OBD_USE_VARIABLE_SUBINDEX_TAB
177#define EPL_OBD_USE_VARIABLE_SUBINDEX_TAB TRUE
178#endif
179
180#ifndef EPL_OBD_USE_KERNEL
181#if (((EPL_MODULE_INTEGRATION) & (EPL_MODULE_OBDU)) == 0)
182#define EPL_OBD_USE_KERNEL TRUE
183#else
184#define EPL_OBD_USE_KERNEL FALSE
185#endif
186#endif
187
188#ifndef EPL_OBD_INCLUDE_A000_TO_DEVICE_PART
189#define EPL_OBD_INCLUDE_A000_TO_DEVICE_PART FALSE
190#endif
191
192#ifndef EPL_VETH_NAME
Greg Kroah-Hartmane0ca0592008-12-19 17:09:38 -0800193#define EPL_VETH_NAME "epl" // name of net device in Linux
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800194#endif
195
196/*
197#define EPL_D_CFG_ConfigManager_BOOL // Ability of a MN node to perform Configuration Manager functions BOOLEAN O - N -
198#define EPL_D_CFM_VerifyConf_BOOL // Support of objects CFM_VerifyConfiguration_REC, CFM_ExpConfDateList_AU32, CFM_ExpConfTimeList_AU32 BOOLEAN O O N N
199#define EPL_D_CFM_VerifyConfId_BOOL // Support of objects CFM_VerifyConfiguration_REC.ConfId_U32 and CFM_ExpConfIdList_AU32 BOOLEAN O O N N
200#define EPL_D_DLL_CNFeatureIsochr_BOOL // CN’s ability to perform isochronous functions BOOLEAN - O - Y
201#define EPL_D_DLL_CNFeatureMultiplex_BOOL // node’s ability to perform control of multiplexed isochronous communication BOOLEAN - O - N
202#define EPL_D_DLL_FeatureCN_BOOL // node’s ability to perform CN functions BOOLEAN O O Y Y
203#define EPL_D_DLL_FeatureMN_BOOL // node’s ability to perform MN functions BOOLEAN M O - N
204#define EPL_D_DLL_MNFeatureMultiplex_BOOL // MN’s ability to perform control of multiplexed isochronous communication BOOLEAN O - Y -
205#define EPL_D_DLL_MNFeaturePResTx_BOOL // MN’s ability to transmit PRes BOOLEAN O - Y -
206#define EPL_D_NMT_ASndRxMaxPayload_U16 // size of ASnd frame receive buffer UNSIGNED16 M M - -
207#define EPL_D_NMT_ASndTxMaxPayload_U16 // size of ASnd frame transmit buffer UNSIGNED16 M M - -
208#define EPL_D_NMT_CNASnd2SoC_U32 // minimum delay between end of reception of ASnd and start of reception of SoC UNSIGNED32 - M - -
209#define EPL_D_NMT_CNASndMaxLatency_U32 // delay between end of SoA reception and start of ASnd transmission UNSIGNED32 - M - -
210#define EPL_D_NMT_CNPResMaxLatency_U32 // delay between end of PReq reception and start of PRes transmission UNSIGNED32 - M - -
211#define EPL_D_NMT_CNSoC2PReq_U32 // CN SoC handling maximum time, a subsequent PReq won’t be handled before SoC handling was finished UNSIGNED32 - M - -
212#define EPL_D_NMT_DeviceType_U32 // Device Type ID UNSIGNED32 M M - -
213#define EPL_D_NMT_EPLVers_U8 EPL // Version implemented by the device UNSIGNED8 M M - -
214#define EPL_D_NMT_ExtStateCmd_BOOL // abitilty to support Extended NMT State Commands BOOLEAN O O Y Y
215#define EPL_D_NMT_InfoSvc_BOOL // ability to support NMT Info Services BOOLEAN O - Y -
216#define EPL_D_NMT_InterfaceAddr_Xh_OSTR // Physical Address of Interface No. Xh OCTET_STRING M M - -
217#define EPL_D_NMT_InterfaceDescr_Xh_VSTR // Description text of Interface No. Xh VISIBLE_STRINGM M - -
218#define EPL_D_NMT_InterfaceMtu_Xh_U32 // MTU of Interface No. Xh UNSIGNED32 M M - -
219#define EPL_D_NMT_InterfaceType_Xh_U8 // Type of Interface No. Xh UNSIGNED8 M M - -
220#define EPL_D_NMT_IsochrRxMaxPayload_U16 // size of isochronous frame receive buffer UNSIGNED16 M M - -
221#define EPL_D_NMT_IsochrTxMaxPayload_U16 // size of isochronous frame transmit buffer UNSIGNED16 M M - -
222#define EPL_D_NMT_ManufactDevName_VS // Manufacturer Device Name VISIBLE_STRING O O - -
223#define EPL_D_NMT_ManufactHwVers_VS // Manufacturer HW version VISIBLE_STRING O O - -
224#define EPL_D_NMT_ManufactSwVers_VS // Manufacturer SW version VISIBLE_STRING O O - -
225#define EPL_D_NMT_MaxCNNodeID_U8 // maximum Node ID available for regular CNs the entry provides an upper limit to the NodeID available for cross traffic PDO reception from a regular CN UNSIGNED8 O O 239 239
226#define EPL_D_NMT_MaxCNNumber_U8 // maximum number of supported regular CNs in the Node ID range 1 .. 239 UNSIGNED8 O O 239 239
227#define EPL_D_NMT_MaxHeartbeats_U8 // number of guard channels UNSIGNED8 O O 254 254
228#define EPL_D_NMT_MNASnd2SoC_U32 // minimum delay between end of reception of ASnd and start of transmission of SoC UNSIGNED32 M - - -
229#define EPL_D_NMT_MNMultiplCycMax_U8 // maximum number of EPL cycles per multiplexed cycle UNSIGNED8 O - 0 -
230#define EPL_D_NMT_MNPRes2PReq_U32 // delay between end of PRes reception and start of PReq transmission UNSIGNED32 M - - -
231#define EPL_D_NMT_MNPRes2PRes_U32 // delay between end of reception of PRes from CNn and start of transmission of PRes by MN UNSIGNED32 M - - -
232#define EPL_D_NMT_MNPResRx2SoA_U32 // delay between end of reception of PRes from CNn and start of transmission of SoA by MN UNSIGNED32 M - - -
233#define EPL_D_NMT_MNPResTx2SoA_U32 // delay between end of PRes transmission by MN and start of transmission of SoA by MN UNSIGNED32 M - - -
234#define EPL_D_NMT_MNSoA2ASndTx_U32 // delay between end of transmission of SoA and start of transmission of ASnd by MN UNSIGNED32 M - - -
235#define EPL_D_NMT_MNSoC2PReq_U32 // MN minimum delay between end of SoC transmission and start of PReq transmission UNSIGNED32 M - - -
236#define EPL_D_NMT_NMTSvcViaUDPIP_BOOL // Ability of a node to perform NMT services via UDP/IP BOOLEAN O - Y -
237#define EPL_D_NMT_NodeIDByHW_BOOL // Ability of a node to support NodeID setup by HW BOOLEAN O O Y Y
238#define EPL_D_NMT_NodeIDBySW_BOOL // Ability of a node to support NodeID setup by SW BOOLEAN O O N N
239#define EPL_D_NMT_ProductCode_U32 // Identity Object Product Code UNSIGNED32 M M - -
240#define EPL_D_NMT_RevisionNo_U32 // Identity Object Revision Number UNSIGNED32 M M - -
241#define EPL_D_NMT_SerialNo_U32 // Identity Object Serial Number UNSIGNED32 M M - -
242#define EPL_D_NMT_SimpleBoot_BOOL // Ability of a MN node to perform Simple Boot Process, if not set Indivual Boot Process shall be proviced BOOLEAN M - - -
243#define EPL_D_NMT_VendorID_U32 // Identity Object Vendor ID UNSIGNED32 M M - -
244#define EPL_D_NWL_Forward_BOOL // Ability of node to forward datagrams BOOLEAN O O N N
245#define EPL_D_NWL_IPSupport_BOOL // Ability of the node cummunicate via IP BOOLEAN - - Y Y
246#define EPL_D_PDO_DynamicMapping_BOOL // Ability of a node to perform dynamic PDO mapping BOOLEAN O O Y Y
247#define EPL_D_PDO_MaxDescrMem_U32 // maximum cumulative memory consumption of TPDO and RPDO describing objects in byte UNSIGNED32 O O MAX_U32 MAX_U32
248#define EPL_D_PDO_RPDOChannels_U8 // number of supported RPDO channels UNSIGNED8 O O 256 256
249#define EPL_D_PDO_RPDOMaxMem_U32 // Maximum memory available for RPDO data per EPL cycle in byte UNSIGNED32 O O MAX_U32 MAX_U32
250#define EPL_D_PDO_RPDOObjects_U8 // Number of supported mapped objects per RPDO channel UNSIGNED8 O O 254 254
251#define EPL_D_PDO_TPDOChannels_U8 // number of supported TPDO channels UNSIGNED8 O - 256 -
252#define EPL_D_PDO_TPDOMaxMem_U32 // Maximum memory available for TPDO data per EPL cycle in byte UNSIGNED32 O O MAX_U32 MAX_U32
253#define EPL_D_PDO_TPDOObjects_U8 // Number of supported mapped objects per TPDO channel UNSIGNED8 O O 254 254
254#define EPL_D_SDO_ViaASnd_BOOL // Ability of a CN to perform SDO transfer by EPL ASnd BOOLEAN - M - -
255#define EPL_D_SDO_ViaPDO_BOOL // Ability of a node to perform SDO transfer by PDO BOOLEAN O O N N
256#define EPL_D_SDO_ViaUDPIP_BOOL // Ability of a CN to perform SDO transfer by UDP/IP BOOLEAN - M - -
257#define EPL_D_SYN_OptimizedSync_BOOL // Ability of node to perform optimized synchronisation BOOLEAN O O N N
258*/
259
260// Emergency error codes
261// ======================
262#define EPL_E_NO_ERROR 0x0000
263// 0xFxxx manufacturer specific error codes
264#define EPL_E_NMT_NO_IDENT_RES 0xF001
265#define EPL_E_NMT_NO_STATUS_RES 0xF002
266
267// 0x816x HW errors
268#define EPL_E_DLL_BAD_PHYS_MODE 0x8161
269#define EPL_E_DLL_COLLISION 0x8162
270#define EPL_E_DLL_COLLISION_TH 0x8163
271#define EPL_E_DLL_CRC_TH 0x8164
272#define EPL_E_DLL_LOSS_OF_LINK 0x8165
273#define EPL_E_DLL_MAC_BUFFER 0x8166
274// 0x82xx Protocol errors
275#define EPL_E_DLL_ADDRESS_CONFLICT 0x8201
276#define EPL_E_DLL_MULTIPLE_MN 0x8202
277// 0x821x Frame size errors
278#define EPL_E_PDO_SHORT_RX 0x8210
279#define EPL_E_PDO_MAP_VERS 0x8211
280#define EPL_E_NMT_ASND_MTU_DIF 0x8212
281#define EPL_E_NMT_ASND_MTU_LIM 0x8213
282#define EPL_E_NMT_ASND_TX_LIM 0x8214
283// 0x823x Timing errors
284#define EPL_E_NMT_CYCLE_LEN 0x8231
285#define EPL_E_DLL_CYCLE_EXCEED 0x8232
286#define EPL_E_DLL_CYCLE_EXCEED_TH 0x8233
287#define EPL_E_NMT_IDLE_LIM 0x8234
288#define EPL_E_DLL_JITTER_TH 0x8235
289#define EPL_E_DLL_LATE_PRES_TH 0x8236
290#define EPL_E_NMT_PREQ_CN 0x8237
291#define EPL_E_NMT_PREQ_LIM 0x8238
292#define EPL_E_NMT_PRES_CN 0x8239
293#define EPL_E_NMT_PRES_RX_LIM 0x823A
294#define EPL_E_NMT_PRES_TX_LIM 0x823B
295// 0x824x Frame errors
296#define EPL_E_DLL_INVALID_FORMAT 0x8241
297#define EPL_E_DLL_LOSS_PREQ_TH 0x8242
298#define EPL_E_DLL_LOSS_PRES_TH 0x8243
299#define EPL_E_DLL_LOSS_SOA_TH 0x8244
300#define EPL_E_DLL_LOSS_SOC_TH 0x8245
301// 0x84xx BootUp Errors
Greg Kroah-Hartmane0ca0592008-12-19 17:09:38 -0800302#define EPL_E_NMT_BA1 0x8410 // other MN in MsNotActive active
303#define EPL_E_NMT_BA1_NO_MN_SUPPORT 0x8411 // MN is not supported
304#define EPL_E_NMT_BPO1 0x8420 // mandatory CN was not found or failed in BootStep1
305#define EPL_E_NMT_BPO1_GET_IDENT 0x8421 // IdentRes was not received
306#define EPL_E_NMT_BPO1_DEVICE_TYPE 0x8422 // wrong device type
307#define EPL_E_NMT_BPO1_VENDOR_ID 0x8423 // wrong vendor ID
308#define EPL_E_NMT_BPO1_PRODUCT_CODE 0x8424 // wrong product code
309#define EPL_E_NMT_BPO1_REVISION_NO 0x8425 // wrong revision number
310#define EPL_E_NMT_BPO1_SERIAL_NO 0x8426 // wrong serial number
311#define EPL_E_NMT_BPO1_CF_VERIFY 0x8428 // verification of configuration failed
312#define EPL_E_NMT_BPO2 0x8430 // mandatory CN failed in BootStep2
313#define EPL_E_NMT_BRO 0x8440 // CheckCommunication failed for mandatory CN
314#define EPL_E_NMT_WRONG_STATE 0x8480 // mandatory CN has wrong NMT state
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800315
316// Defines for object 0x1F80 NMT_StartUp_U32
317// ==========================================
Greg Kroah-Hartmane0ca0592008-12-19 17:09:38 -0800318#define EPL_NMTST_STARTALLNODES 0x00000002L // Bit 1
319#define EPL_NMTST_NO_AUTOSTART 0x00000004L // Bit 2
320#define EPL_NMTST_NO_STARTNODE 0x00000008L // Bit 3
321#define EPL_NMTST_RESETALL_MAND_CN 0x00000010L // Bit 4
322#define EPL_NMTST_STOPALL_MAND_CN 0x00000040L // Bit 6
323#define EPL_NMTST_NO_AUTOPREOP2 0x00000080L // Bit 7
324#define EPL_NMTST_NO_AUTOREADYTOOP 0x00000100L // Bit 8
325#define EPL_NMTST_EXT_CNIDENTCHECK 0x00000200L // Bit 9
326#define EPL_NMTST_SWVERSIONCHECK 0x00000400L // Bit 10
327#define EPL_NMTST_CONFCHECK 0x00000800L // Bit 11
328#define EPL_NMTST_NO_RETURN_PREOP1 0x00001000L // Bit 12
329#define EPL_NMTST_BASICETHERNET 0x00002000L // Bit 13
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800330
331// Defines for object 0x1F81 NMT_NodeAssignment_AU32
332// ==================================================
Greg Kroah-Hartmane0ca0592008-12-19 17:09:38 -0800333#define EPL_NODEASSIGN_NODE_EXISTS 0x00000001L // Bit 0
334#define EPL_NODEASSIGN_NODE_IS_CN 0x00000002L // Bit 1
335#define EPL_NODEASSIGN_START_CN 0x00000004L // Bit 2
336#define EPL_NODEASSIGN_MANDATORY_CN 0x00000008L // Bit 3
337#define EPL_NODEASSIGN_KEEPALIVE 0x00000010L //currently not used in EPL V2 standard
338#define EPL_NODEASSIGN_SWVERSIONCHECK 0x00000020L // Bit 5
339#define EPL_NODEASSIGN_SWUPDATE 0x00000040L // Bit 6
340#define EPL_NODEASSIGN_ASYNCONLY_NODE 0x00000100L // Bit 8
341#define EPL_NODEASSIGN_MULTIPLEXED_CN 0x00000200L // Bit 9
342#define EPL_NODEASSIGN_RT1 0x00000400L // Bit 10
343#define EPL_NODEASSIGN_RT2 0x00000800L // Bit 11
344#define EPL_NODEASSIGN_MN_PRES 0x00001000L // Bit 12
345#define EPL_NODEASSIGN_VALID 0x80000000L // Bit 31
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800346
347//---------------------------------------------------------------------------
348// typedef
349//---------------------------------------------------------------------------
350
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800351//---------------------------------------------------------------------------
352// function prototypes
353//---------------------------------------------------------------------------
354
Greg Kroah-Hartmane0ca0592008-12-19 17:09:38 -0800355#endif // #ifndef _EPL_DEF_H_