ConOpSys V2970  P004.07
ANVILEX control operating system
abcc_obj_cfg.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ********************************************************************************
3 ** **
4 ** ABCC Starter Kit version 3.04.01 (2018-01-23) **
5 ** **
6 ** Delivered with: **
7 ** ABP 7.55.01 (2017-12-20) **
8 ** ABCC Driver 5.04.01 (2017-12-18) **
9 ** */
10 /*******************************************************************************
11 ********************************************************************************
12 ** COPYRIGHT NOTIFICATION (c) 2017 HMS Industrial Networks AB **
13 ** **
14 ** This code is the property of HMS Industrial Networks AB. **
15 ** The source code may not be reproduced, distributed, or used without **
16 ** permission. When used together with a product from HMS, permission is **
17 ** granted to modify, reproduce and distribute the code in binary form **
18 ** without any restrictions. **
19 ** **
20 ** THE CODE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. HMS DOES NOT **
21 ** WARRANT THAT THE FUNCTIONS OF THE CODE WILL MEET YOUR REQUIREMENTS, OR **
22 ** THAT THE OPERATION OF THE CODE WILL BE UNINTERRUPTED OR ERROR-FREE, OR **
23 ** THAT DEFECTS IN IT CAN BE CORRECTED. **
24 ********************************************************************************
25 ********************************************************************************
26 ** User configuration of the Anybus objects implementation.
27 **
28 ** All configurations in this file should be possible to override if defined
29 ** in abcc_platform_cfg.h. This allows the target platform to adapt the
30 ** product configuration to realize its implementation for specific needs.
31 ********************************************************************************
32 ********************************************************************************
33 ** Services:
34 ********************************************************************************
35 ********************************************************************************
36 */
37 
38 #ifndef ABCC_OBJ_CFG_H_
39 #define ABCC_OBJ_CFG_H_
40 
41 #include "abcc_drv_cfg.h"
42 
43 /*******************************************************************************
44 ** Constants
45 ********************************************************************************
46 */
47 
48 /*------------------------------------------------------------------------------
49 ** Supported host-side network objects - Set to TRUE to include and enable the
50 ** handler for the corresponding network object.
51 **------------------------------------------------------------------------------
52 */
53 
54 #ifndef CFN_OBJ_ENABLE
55  #define CFN_OBJ_ENABLE FALSE
56 #endif
57 
58 #ifndef EPL_OBJ_ENABLE
59  #define EPL_OBJ_ENABLE FALSE
60 #endif
61 
62 #ifndef ECT_OBJ_ENABLE
63  #define ECT_OBJ_ENABLE FALSE
64 #endif
65 
66 #ifndef PRT_OBJ_ENABLE
67  #define PRT_OBJ_ENABLE FALSE
68 #endif
69 
70 #ifndef CCL_OBJ_ENABLE
71  #define CCL_OBJ_ENABLE FALSE
72 #endif
73 
74 #ifndef EIP_OBJ_ENABLE
75  #define EIP_OBJ_ENABLE FALSE
76 #endif
77 
78 #ifndef MOD_OBJ_ENABLE
79  #define MOD_OBJ_ENABLE FALSE
80 #endif
81 
82 #ifndef COP_OBJ_ENABLE
83  #define COP_OBJ_ENABLE FALSE
84 #endif
85 
86 #ifndef DEV_OBJ_ENABLE
87  #define DEV_OBJ_ENABLE FALSE
88 #endif
89 
90 #ifndef DPV1_OBJ_ENABLE
91 // ANVILEX : Enable DPV1
92 // #define DPV1_OBJ_ENABLE FALSE
93  #define DPV1_OBJ_ENABLE TRUE
94 #endif
95 
96 /*------------------------------------------------------------------------------
97 ** Supported host objects - Set to TRUE to enable
98 **------------------------------------------------------------------------------
99 */
100 
101 #ifndef SAFE_OBJ_ENABLE
102  #define SAFE_OBJ_ENABLE FALSE
103 #endif
104 
105 #ifndef SYNC_OBJ_ENABLE
106  #define SYNC_OBJ_ENABLE ABCC_CFG_SYNC_ENABLE
107 #endif
108 
109 #ifndef ETN_OBJ_ENABLE
110  #define ETN_OBJ_ENABLE FALSE
111 #endif
112 
113 #ifndef OPCUA_OBJ_ENABLE
114  #define OPCUA_OBJ_ENABLE FALSE
115 #endif
116 
117 /*------------------------------------------------------------------------------
118 ** OPC UA Object (0xE3)
119 **------------------------------------------------------------------------------
120 */
121 #if OPCUA_OBJ_ENABLE
122 /*
123 ** Attribute 1: OPC UA Model (U8 - 0:Disabled/1:CompactCom 40 model)
124 */
125 
126 #ifndef OPCUA_IA_MODEL_ENABLE
127  #define OPCUA_IA_MODEL_ENABLE FALSE
128  #define OPCUA_IA_MODEL_VALUE 0x00
129 #endif
130 
131 /*
132 ** Attribute 2: Application/Local namespace URI (Array of CHAR - {0x00-0xFF})
133 ** A function returning a string may be used to generate a unique string
134 */
135 
136 #ifndef OPCUA_IA_APPLICATION_URI_ENABLE
137  #define OPCUA_IA_APPLICATION_URI_ENABLE FALSE
138  #define OPCUA_IA_APPLICATION_URI_VALUE "UniqueApplicationUriPerUnit"
139 #endif
140 
141 /*
142 ** Attribute 3: Vendor namespace URI (Array of CHAR - {0x00-0xFF})
143 */
144 
145 #ifndef OPCUA_IA_VENDOR_NAMESPACE_URI_ENABLE
146  #define OPCUA_IA_VENDOR_NAMESPACE_URI_ENABLE FALSE
147  #define OPCUA_IA_VENDOR_NAMESPACE_URI_VALUE "UniqueVendorNamespaceUri"
148 #endif
149 
150 /*
151 ** Attribute 4: DeviceType name (Array of CHAR - {0x00-0xFF))
152 */
153 #ifndef OPCUA_IA_DEVICE_TYPE_NAME_ENABLE
154  #define OPCUA_IA_DEVICE_TYPE_NAME_ENABLE FALSE
155  #define OPCUA_IA_DEVICE_TYPE_NAME_VALUE "VendorDeviceType"
156 #endif
157 
158 /*
159 ** Attribute 5: Device instance name (Array of CHAR - {0x00-0xFF))
160 */
161 #ifndef OPCUA_IA_DEVICE_INST_NAME_ENABLE
162  #define OPCUA_IA_DEVICE_INST_NAME_ENABLE FALSE
163  #define OPCUA_IA_DEVICE_INST_NAME_VALUE "VendorDeviceInstance"
164 #endif
165 
166 /*
167 **Attribute 6: Product URI (Array of CHAR - {0x00-0xFF))
168 */
169 #ifndef OPCUA_IA_PRODUCT_URI_ENABLE
170  #define OPCUA_IA_PRODUCT_URI_ENABLE FALSE
171  #define OPCUA_IA_PRODUCT_URI_VALUE "UniqueProductUri"
172 #endif
173 
174 #endif /* #if OPCUA_OBJ_ENABLE */
175 
176 /*------------------------------------------------------------------------------
177 ** Functional Safety object (0xE8)
178 **------------------------------------------------------------------------------
179 */
180 #if SAFE_OBJ_ENABLE
181 /*
182 ** Attribute 1: Safety Enabled (BOOL - TRUE/FALSE)
183 **
184 ** PORTING ALERT!
185 **
186 ** If the ABCCs serial application interface is used, please double-check that
187 ** the application hardware is correctly set up before enabling the interface
188 ** for the safety hardware via the 'Safety Enabled' attribute. When a serial
189 ** Operation Mode is used the serial communication signals for the safety
190 ** hardware uses the same I/O pins on the ABCC as the A12 and A13 address bus
191 ** signals, and they must then not be driven from any other application-side
192 ** hardware in this case.
193 **
194 ** Also note that the value of the 'Safety Enabled' attribute does not have to
195 ** be initialised to TRUE in this file. It can be set during system startup via
196 ** the "SAFE_SetSafetyEnable()" function in "safe_obj.c" before the ABCC driver
197 ** itself is started.
198 */
199 #ifndef SAFE_IA_SAFETY_ENABLED_ENABLE
200  #define SAFE_IA_SAFETY_ENABLED_ENABLE FALSE
201  #define SAFE_IA_SAFETY_ENABLED_VALUE FALSE
202 #endif
203 
204 /*
205 ** Attribute 2: Baud rate (U32 - 625000, 1000000 or 1020000)
206 */
207 #ifndef SAFE_IA_BAUD_RATE_ENABLE
208  #define SAFE_IA_BAUD_RATE_ENABLE FALSE
209  #define SAFE_IA_BAUD_RATE_VALUE 1020000L
210 #endif
211 
212 /*
213 ** Attribute 3: IO Configuration (Array of U8 - {0x00-0xFF})
214 */
215 #ifndef SAFE_IA_IO_CONFIGURATION_ENABLE
216  #define SAFE_IA_IO_CONFIGURATION_ENABLE FALSE
217  #define SAFE_IA_IO_CONFIGURATION_VALUE { 0x00 }
218  #define SAFE_IA_IO_CONFIGURATION_ARRAY_SIZE 1
219 #endif
220 
221 /*
222 ** Attribute 4: Cycle time (U8 - 2, 4, 8 or 16)
223 */
224 #ifndef SAFE_IA_CYCLE_TIME_ENABLE
225 #define SAFE_IA_CYCLE_TIME_ENABLE FALSE
226 #define SAFE_IA_CYCLE_TIME_VALUE 2
227 #endif
228 
229 #endif /* #if SAFE_OBJ_ENABLE */
230 
231 /*------------------------------------------------------------------------------
232 ** Sync Object (0xEE)
233 **------------------------------------------------------------------------------
234 */
235 #if SYNC_OBJ_ENABLE
236 /*
237 ** Attribute 1: Cycle time (U32 - 0x00000000-0xFFFFFFFF)
238 */
239 #ifndef SYNC_IA_CYCLE_TIME_ENABLE
240  #define SYNC_IA_CYCLE_TIME_ENABLE TRUE
241  #define SYNC_IA_CYCLE_TIME_VALUE 0L
242 #endif
243 
244 /*
245 ** Attribute 2: Output valid (U32 - 0x00000000-0xFFFFFFFF)
246 */
247 #ifndef SYNC_IA_OUTPUT_VALID_ENABLE
248  #define SYNC_IA_OUTPUT_VALID_ENABLE TRUE
249  #define SYNC_IA_OUTPUT_VALID_VALUE 0
250 #endif
251 
252 /*
253 ** Attribute 3: Input capture (U32 - 0x00000000-0xFFFFFFFF)
254 */
255 #ifndef SYNC_IA_INPUT_CAPTURE_ENABLE
256  #define SYNC_IA_INPUT_CAPTURE_ENABLE TRUE
257  #define SYNC_IA_INPUT_CAPTURE_VALUE 0
258 #endif
259 
260 /*
261 ** Attribute 4: Output processing (U32 - 0x00000000-0xFFFFFFFF)
262 */
263 #ifndef SYNC_IA_OUTPUT_PROCESSING_ENABLE
264  #define SYNC_IA_OUTPUT_PROCESSING_ENABLE TRUE
265  #define SYNC_IA_OUTPUT_PROCESSING_VALUE 1000L
266 #endif
267 
268 /*
269 ** Attribute 5: Input processing (U32 - 0x00000000-0xFFFFFFFF)
270 */
271 #ifndef SYNC_IA_INPUT_PROCESSING_ENABLE
272  #define SYNC_IA_INPUT_PROCESSING_ENABLE TRUE
273  #define SYNC_IA_INPUT_PROCESSING_VALUE 1000L
274 #endif
275 
276 /*
277 ** Attribute 6: Min cycle time (U32 - 0x00000000-0xFFFFFFFF)
278 */
279 #ifndef SYNC_IA_MIN_CYCLE_TIME_ENABLE
280  #define SYNC_IA_MIN_CYCLE_TIME_ENABLE TRUE
281  #define SYNC_IA_MIN_CYCLE_TIME_VALUE 1L
282 #endif
283 
284 /*
285 ** Attribute 7: Sync mode (U16 - 0: Nonsynchronous operation
286 ** 1: Synchronous operation)
287 */
288 #ifndef SYNC_IA_SYNC_MODE_ENABLE
289  #define SYNC_IA_SYNC_MODE_ENABLE TRUE
290  #define SYNC_IA_SYNC_MODE_VALUE 0x0000
291 #endif
292 
293 /*
294 ** Attribute 8: Supported sync modes (U16 - Bit 0: 1 = Nonsynchronous mode supported
295 ** Bit 1: 1 = Synchronous mode supported
296 ** Bit 2-15: Reserved)
297 */
298 #ifndef SYNC_IA_SUPPORTED_SYNC_MODES_ENABLE
299  #define SYNC_IA_SUPPORTED_SYNC_MODES_ENABLE TRUE
300  #define SYNC_IA_SUPPORTED_SYNC_MODES_VALUE 0x0003
301 #endif
302 
303 #endif /* #if SYNC_OBJ_ENABLE */
304 
305 /*------------------------------------------------------------------------------
306 ** EtherCAT Object (0xF5)
307 **------------------------------------------------------------------------------
308 */
309 #if ECT_OBJ_ENABLE
310 /*
311 ** Attribute 9: ENUM ADIs (Array of U16 - {0x0001-0xFFFF})
312 */
313 #ifndef ECT_IA_ENUM_ADIS_ENABLE
314  #define ECT_IA_ENUM_ADIS_ENABLE FALSE
315  #define ECT_IA_ENUM_ADIS_VALUE { 0x1357 }
316  #define ECT_IA_ENUM_ADIS_ARRAY_SIZE 1
317 #endif
318 
319 /*
320 ** Attribute 11: Write PD assembly instance translation
321 ** (Array of U16 - {0x1A00-0x1BFF})
322 */
323 #ifndef ECT_IA_WR_PD_ASSY_INST_TRANS_ENABLE
324  #define ECT_IA_WR_PD_ASSY_INST_TRANS_ENABLE FALSE
325  #define ECT_IA_WR_PD_ASSY_INST_TRANS_VALUE { 0x1BFF }
326  #define ECT_IA_WR_PD_ASSY_INST_TRANS_SIZE 1
327 #endif
328 
329 /*
330 ** Attribute 12: Read PD assembly instance translation
331 ** (Array of U16 - {0x1600-0x17FF})
332 */
333 #ifndef ECT_IA_RD_PD_ASSY_INST_TRANS_ENABLE
334  #define ECT_IA_RD_PD_ASSY_INST_TRANS_ENABLE FALSE
335  #define ECT_IA_RD_PD_ASSY_INST_TRANS_VALUE { 0x17FF }
336  #define ECT_IA_RD_PD_ASSY_INST_TRANS_SIZE 1
337 #endif
338 
339 /*
340 ** Attribute 13: ADI translation (Array of (Struct of {U16, U16}))
341 */
342 #ifndef ECT_IA_ADI_TRANS_ENABLE
343  #define ECT_IA_ADI_TRANS_ENABLE FALSE
344  #define ECT_IA_ADI_TRANS_VALUE { { 0xE000, 0x10F8 } }
345  #define ECT_IA_ADI_TRANS_SIZE 1
346 #endif
347 
348 /*
349 ** Attribute 15: Object subindex translation
350 ** (Array of (Struct of {U16, U16, U8 }))
351 */
352 #ifndef ECT_IA_OBJ_SUB_TRANS_ENABLE
353  #define ECT_IA_OBJ_SUB_TRANS_ENABLE FALSE
354  #define ECT_IA_OBJ_SUB_TRANS_VALUE { { 0xE000, 0x10F3, 0x01 } }
355  #define ECT_IA_OBJ_SUB_TRANS_SIZE 1
356 #endif
357 
358 /*
359 ** Attribute 16: Enable FoE (BOOL - TRUE/FALSE)
360 */
361 #ifndef ECT_IA_ENABLE_FOE_ENABLE
362  #define ECT_IA_ENABLE_FOE_ENABLE FALSE
363  #define ECT_IA_ENABLE_FOE_VALUE TRUE
364 #endif
365 
366 /*
367 ** Attribute 17: Enable EoE (BOOL - TRUE/FALSE)
368 */
369 #ifndef ECT_IA_ENABLE_EOE_ENABLE
370  #define ECT_IA_ENABLE_EOE_ENABLE FALSE
371  #define ECT_IA_ENABLE_EOE_VALUE TRUE
372 #endif
373 
374 /*
375 ** Attribute 19: Set Device ID as Configured Station Alias (BOOL - TRUE/FALSE)
376 */
377 #ifndef ECT_IA_SET_DEV_ID_AS_CSA_ENABLE
378  #define ECT_IA_SET_DEV_ID_AS_CSA_ENABLE FALSE
379  #define ECT_IA_SET_DEV_ID_AS_CSA_VALUE FALSE
380 #endif
381 
382 /*
383 ** Attribute 20: EtherCAT state
384 */
385 #ifndef ECT_IA_ETHERCAT_STATE_ENABLE
386  #define ECT_IA_ETHERCAT_STATE_ENABLE FALSE
387 #endif
388 
389 /*
390 ** Attribute 21: State Transition Timeouts (Array of U32)
391 */
392 #ifndef ECT_IA_STATE_TIMEOUTS_ENABLE
393  #define ECT_IA_STATE_TIMEOUTS_ENABLE FALSE
394  #define ECT_IA_STATE_TIMEOUTS_VALUE { 1000, 5000, 1000, 200 }
395 #endif
396 
397 /*
398 ** Attribute 22: Compare Identity Lists (BOOL - TRUE/FALSE)
399 */
400 #ifndef ECT_IA_COMP_IDENT_LISTS_ENABLE
401  #define ECT_IA_COMP_IDENT_LISTS_ENABLE FALSE
402  #define ECT_IA_COMP_IDENT_LISTS_VALUE TRUE
403 #endif
404 
405 /*
406 ** Attribute 23: FSoE Status Indicator
407 */
408 #ifndef ECT_IA_FSOE_STATUS_IND_ENABLE
409  #define ECT_IA_FSOE_STATUS_IND_ENABLE FALSE
410 #endif
411 
412 /*
413 ** Attribute 24: Clear IdentALSts (BOOL - TRUE/FALSE)
414 */
415 #ifndef ECT_IA_CLEAR_IDENT_AL_STS_ENABLE
416  #define ECT_IA_CLEAR_IDENT_AL_STS_ENABLE FALSE
417  #define ECT_IA_CLEAR_IDENT_AL_STS_VALUE FALSE
418 #endif
419 #endif /* if ECT_OBJ_ENABLE */
420 
421 /*------------------------------------------------------------------------------
422 ** PROFINET IO Object (0xF6)
423 **------------------------------------------------------------------------------
424 */
425 
426 #if PRT_OBJ_ENABLE
427 /*
428 ** Attribute 4: MaxAr (U32 - 0x00000000-0x00000003)
429 */
430 #ifndef PRT_IA_MAX_AR_ENABLE
431  #define PRT_IA_MAX_AR_ENABLE FALSE
432  #define PRT_IA_MAX_AR_VALUE 0x00000000
433 #endif
434 
435 /*
436 ** Attribute 7: Record data Transparent Mode (U8 - 0x00-0xFF)
437 */
438 #ifndef PRT_IA_RTM_ENABLE
439  #define PRT_IA_RTM_ENABLE FALSE
440  #define PRT_IA_RTM_VALUE 0x00
441 #endif
442 
443 /*
444 ** Attribute 12: IM Revision counter (U16 - 0x0000-0xFFFF)
445 */
446 #ifndef PRT_IA_IM_REV_CNT_ENABLE
447  #define PRT_IA_IM_REV_CNT_ENABLE FALSE
448  #define PRT_IA_IM_REV_CNT_VALUE 0xFFFF
449 #endif
450 
451 /*
452 ** Attribute 13: IM Profile ID (U16 - 0x0000-0xFFFF)
453 */
454 #ifndef PRT_IA_IM_PROFILE_ID_ENABLE
455  #define PRT_IA_IM_PROFILE_ID_ENABLE FALSE
456  #define PRT_IA_IM_PROFILE_ID_VALUE 0xFFFF
457 #endif
458 
459 /*
460 ** Attribute 14: IM Profile specific type (U16 - 1-6))
461 */
462 #ifndef PRT_IA_IM_PROFILE_SPEC_TYPE_ENABLE
463  #define PRT_IA_IM_PROFILE_SPEC_TYPE_ENABLE FALSE
464  #define PRT_IA_IM_PROFILE_SPEC_TYPE_VALUE 0x0004
465 #endif
466 
467 /*
468 ** Attribute 15: IM Version (Array[2] of U8). Reserved in 40-series.
469 */
470 #ifndef PRT_IA_IM_VER_ENABLE
471  #define PRT_IA_IM_VER_ENABLE FALSE
472  #define PRT_IA_IM_VER_MAJOR_VALUE 99
473  #define PRT_IA_IM_VER_MINOR_VALUE 99
474 #endif
475 
476 /*
477 ** Attribute 16: IM Supported (U16 - 0x0000-0xFFFF). Reserved in 40-series.
478 */
479 #ifndef PRT_IA_IM_SUPPORTED_ENABLE
480  #define PRT_IA_IM_SUPPORTED_ENABLE FALSE
481  #define PRT_IA_IM_SUPPORTED_VALUE 0xFFFF
482 #endif
483 
484 /*
485 ** Attribute 17: Port 1 MAC Address (Array[6] of U8)
486 */
487 #ifndef PRT_IA_PORT1_MAC_ADDRESS_ENABLE
488  #define PRT_IA_PORT1_MAC_ADDRESS_ENABLE FALSE
489  #define PRT_IA_PORT1_MAC_ADDRESS_VALUE "\x00\x00\x00\x00\x00\x00"
490 #endif
491 
492 /*
493 ** Attribute 18: Port 2 MAC Address (Array[6] of U8)
494 */
495 #ifndef PRT_IA_PORT2_MAC_ADDRESS_ENABLE
496  #define PRT_IA_PORT2_MAC_ADDRESS_ENABLE FALSE
497  #define PRT_IA_PORT2_MAC_ADDRESS_VALUE "\x00\x00\x00\x00\x00\x00"
498 #endif
499 
500 /*
501 ** Attribute 20: Interface Description (Array of CHAR). Reserved in 40-series.
502 */
503 #ifndef PRT_IA_INTERFACE_DESCRIPTION_ENABLE
504  #define PRT_IA_INTERFACE_DESCRIPTION_ENABLE FALSE
505  #define PRT_IA_INTERFACE_DESCRIPTION_VALUE "Interface Description"
506 #endif
507 
508 /*
509 ** Attribute 21: Module Id Assignment mode (U8 - 0x00-0xFF). Reserved in 40-series.
510 */
511 #ifndef PRT_IA_MOD_ID_ASSIGN_MODE_ENABLE
512  #define PRT_IA_MOD_ID_ASSIGN_MODE_ENABLE FALSE
513  #define PRT_IA_MOD_ID_ASSIGN_MODE_VALUE 0
514 #endif
515 
516 /*
517 ** Attribute 23: PROFIenergy functionality (U8 - 0x00-0xFF). Reserved in 40-series.
518 */
519 #ifndef PRT_IA_PROFIENERGY_FUNC_ENABLE
520  #define PRT_IA_PROFIENERGY_FUNC_ENABLE FALSE
521  #define PRT_IA_PROFIENERGY_FUNC_VALUE 0
522 #endif
523 
524 /*
525 ** Attribute 25: IM5 Module Order ID (Array of CHAR).
526 */
527 #ifndef PRT_IA_IM_MODULE_ORDER_ID_ENABLE
528  #define PRT_IA_IM_MODULE_ORDER_ID_ENABLE FALSE
529  #define PRT_IA_IM_MODULE_ORDER_ID_VALUE "ARTICLE_ABCD_1234_PIR"
530 #endif
531 
532 /*
533 ** Attribute 26: IM5 Annotation (Array of CHAR).
534 */
535 #ifndef PRT_IA_IM_ANNOTATION_ENABLE
536  #define PRT_IA_IM_ANNOTATION_ENABLE FALSE
537  #define PRT_IA_IM_ANNOTATION_VALUE "ExampleCompany PROFINET IRT Adapter"
538 #endif
539 
540 /*
541 ** Attribute 27: IM5 Enabled (BOOL - TRUE/FALSE).
542 */
543 #ifndef PRT_IA_IM5_ENABLED_ENABLE
544  #define PRT_IA_IM5_ENABLED_ENABLE FALSE
545  #define PRT_IA_IM5_ENABLED_VALUE TRUE
546 #endif
547 
548 #endif /* #if PRT_OBJ_ENABLE */
549 
550 /*------------------------------------------------------------------------------
551 ** CC-Link Object (0xF7)
552 **------------------------------------------------------------------------------
553 */
554 #if CCL_OBJ_ENABLE
555 
556 /*
557 ** Attribute 4: Network Setting (Array[3] of U8)
558 */
559 #ifndef CCL_IA_NETWORK_SETTING_ENABLE
560  #define CCL_IA_NETWORK_SETTING_ENABLE TRUE
561  #define CCL_IA_CCLINK_VERSION_VALUE 0x02
562  #define CCL_IA_NUM_OF_OCCUPIED_STATION_VALUE 0x02
563  #define CCL_IA_NUM_OF_EXTENSION_CYCLES_VALUE 0x04
564 #endif
565 
566 /*
567 ** Attribute 5: System Area Hander (SINT16 - -1:Host application/0...880:Module)
568 */
569 #ifndef CCL_IA_SYSTEM_AREA_HANDLER_ENABLE
570  #define CCL_IA_SYSTEM_AREA_HANDLER_ENABLE FALSE
571  #define CCL_IA_SYSTEM_AREA_HANDLER_VALUE (-1)
572 #endif
573 
574 /*
575 ** Attribute 6: Output Hold/Clear (U8 - 0:Clear/1:Hold)
576 */
577 #ifndef CCL_IA_OUTPUT_HOLD_CLEAR_ENABLE
578  #define CCL_IA_OUTPUT_HOLD_CLEAR_ENABLE TRUE
579  #define CCL_IA_OUTPUT_HOLD_CLEAR_VALUE 0x00
580 #endif
581 
582 #endif /* #if CCL_OBJ_ENABLE */
583 
584 /*------------------------------------------------------------------------------
585 ** EtherNet/IP Object (0xF8)
586 **------------------------------------------------------------------------------
587 */
588 
589 #if EIP_OBJ_ENABLE
590 /*
591 ** Attribute 7: Producing instance number (Array of U16 - {0x0001-0xFFFF})
592 */
593 #ifndef EIP_IA_PROD_INSTANCE_ENABLE
594  #define EIP_IA_PROD_INSTANCE_ENABLE FALSE
595  #define EIP_IA_PROD_INSTANCE_VALUE { 0x0064 }
596  #define EIP_IA_PROD_INSTANCE_ARRAY_SIZE 1
597 #endif
598 
599 /*
600 ** Attribute 8: Consuming instance number (Array of U16 - {0x0001-0xFFFF})
601 */
602 #ifndef EIP_IA_CONS_INSTANCE_ENABLE
603  #define EIP_IA_CONS_INSTANCE_ENABLE FALSE
604  #define EIP_IA_CONS_INSTANCE_VALUE { 0x0096 }
605  #define EIP_IA_CONS_INSTANCE_ARRAY_SIZE 1
606 #endif
607 
608 /*
609 ** Attribute 9: Enable communication settings from net (BOOL - TRUE/FALSE)
610 */
611 #ifndef EIP_IA_COMM_SETTINGS_FROM_NET_ENABLE
612  #define EIP_IA_COMM_SETTINGS_FROM_NET_ENABLE FALSE
613  #define EIP_IA_COMM_SETTINGS_FROM_NET_VALUE TRUE
614 #endif
615 
616 /*
617 ** Attribute 11: Enable CIP request forwarding (BOOL - TRUE/FALSE)
618 */
619 #ifndef EIP_IA_ENABLE_APP_CIP_OBJECTS_ENABLE
620  #define EIP_IA_ENABLE_APP_CIP_OBJECTS_ENABLE FALSE
621  #define EIP_IA_ENABLE_APP_CIP_OBJECTS_VALUE FALSE
622 #endif
623 
624 /*
625 ** Attribute 12: Enable Parameter object (BOOL - TRUE/FALSE)
626 */
627 #ifndef EIP_IA_ENABLE_PARAM_OBJECT_ENABLE
628  #define EIP_IA_ENABLE_PARAM_OBJECT_ENABLE FALSE
629  #define EIP_IA_ENABLE_PARAM_OBJECT_VALUE TRUE
630 #endif
631 
632 /*
633 ** Attribute 13: Input only heartbeat instance number (U16 - 0x0000-0xFFFF)
634 */
635 #ifndef EIP_IA_INPUT_INSTANCE_OBJECT_ENABLE
636  #define EIP_IA_INPUT_INSTANCE_OBJECT_ENABLE FALSE
637  #define EIP_IA_INPUT_INSTANCE_OBJECT_VALUE 0x0003
638 #endif
639 
640 /*
641 ** Attribute 14: Listen only heartbeat instance number (U16 - 0x0000-0xFFFF)
642 */
643 #ifndef EIP_IA_LISTEN_INSTANCE_OBJECT_ENABLE
644  #define EIP_IA_LISTEN_INSTANCE_OBJECT_ENABLE FALSE
645  #define EIP_IA_LISTEN_INSTANCE_OBJECT_VALUE 0x0004
646 #endif
647 
648 /*
649 ** Attribute 15: Assembly object Configuration instance number (U16 - 0x0000-0xFFFF)
650 */
651 #ifndef EIP_IA_CONFIG_INSTANCE_ENABLE
652  #define EIP_IA_CONFIG_INSTANCE_ENABLE FALSE
653  #define EIP_IA_CONFIG_INSTANCE_VALUE 0x0005
654 #endif
655 
656 /*
657 ** Attribute 16: Disable Strict IO match (BOOL - TRUE/FALSE)
658 */
659 #ifndef EIP_IA_DISABLE_STRICT_IO_MATCH_ENABLE
660  #define EIP_IA_DISABLE_STRICT_IO_MATCH_ENABLE FALSE
661  #define EIP_IA_DISABLE_STRICT_IO_MATCH_VALUE FALSE
662 #endif
663 
664 /*
665 ** Attribute 17: Enable unconnected routing (BOOL - TRUE/FALSE)
666 */
667 #ifndef EIP_IA_ENABLE_UNCONNECTED_SEND_ENABLE
668  #define EIP_IA_ENABLE_UNCONNECTED_SEND_ENABLE FALSE
669  #define EIP_IA_ENABLE_UNCONNECTED_SEND_VALUE FALSE
670 #endif
671 
672 /*
673 ** Attribute 18: Input only extended heartbeat instance number (U16 - 0x0000-0xFFFF)
674 */
675 #ifndef EIP_IA_INPUT_EXT_INSTANCE_OBJECT_ENABLE
676  #define EIP_IA_INPUT_EXT_INSTANCE_OBJECT_ENABLE FALSE
677  #define EIP_IA_INPUT_EXT_INSTANCE_OBJECT_VALUE 0x0006
678 #endif
679 
680 /*
681 ** Attribute 19: Listen only extended heartbeat instance number (U16 - 0x0000-0xFFFF)
682 */
683 #ifndef EIP_IA_LISTEN_EXT_INSTANCE_OBJECT_ENABLE
684  #define EIP_IA_LISTEN_EXT_INSTANCE_OBJECT_ENABLE FALSE
685  #define EIP_IA_LISTEN_EXT_INSTANCE_OBJECT_VALUE 0x0007
686 #endif
687 
688 /*
689 ** Attribute 20: Interface label port 1 (Array of CHAR)
690 */
691 #ifndef EIP_IA_IF_LABEL_PORT_1_ENABLE
692  #define EIP_IA_IF_LABEL_PORT_1_ENABLE FALSE
693  #define EIP_IA_IF_LABEL_PORT_1_VALUE "Port 1"
694 #endif
695 
696 /*
697 ** Attribute 21: Interface label port 2 (Array of CHAR)
698 */
699 #ifndef EIP_IA_IF_LABEL_PORT_2_ENABLE
700  #define EIP_IA_IF_LABEL_PORT_2_ENABLE FALSE
701  #define EIP_IA_IF_LABEL_PORT_2_VALUE "Port 2"
702 #endif
703 
704 /*
705 ** Attribute 22: Interface label internal port (Array of CHAR)
706 */
707 #ifndef EIP_IA_IF_LABEL_PORT_INT_ENABLE
708  #define EIP_IA_IF_LABEL_PORT_INT_ENABLE FALSE
709  #define EIP_IA_IF_LABEL_PORT_INT_VALUE "Internal"
710 #endif
711 
712 /*
713 ** Attribute 23: Enable CIP request forwarding extended (BOOL - TRUE/FALSE)
714 ** Attribute not used in the 40-series
715 */
716 #ifndef EIP_IA_ENABLE_APP_CIP_OBJECTS_EXT_ENABLE
717  #define EIP_IA_ENABLE_APP_CIP_OBJECTS_EXT_ENABLE FALSE
718  #define EIP_IA_ENABLE_APP_CIP_OBJECTS_EXT_VALUE FALSE
719 #endif
720 
721 /*
722 ** Attribute 24: Prepend producing profile instance (U16 - 0x0000-0xFFFF)
723 ** Attribute not used in the 40-series
724 */
725 #ifndef EIP_IA_PREPEND_PRODUCING_ENABLE
726  #define EIP_IA_PREPEND_PRODUCING_ENABLE FALSE
727  #define EIP_IA_PREPEND_PRODUCING_VALUE 0x0000
728 #endif
729 
730 /*
731 ** Attribute 25: Prepend consuming profile instance (U16 - 0x0000-0xFFFF)
732 ** Attribute not used in the 40-series
733 */
734 #ifndef EIP_IA_PREPEND_CONSUMING_ENABLE
735  #define EIP_IA_PREPEND_CONSUMING_ENABLE FALSE
736  #define EIP_IA_PREPEND_CONSUMING_VALUE 0x0000
737 #endif
738 
739 /*
740 ** Attribute 26: Enable EtherNet/IP QuickConnect (BOOL - TRUE/FALSE)
741 */
742 #ifndef EIP_IA_ENABLE_EIP_QC_ENABLE
743  #define EIP_IA_ENABLE_EIP_QC_ENABLE FALSE
744  #define EIP_IA_ENABLE_EIP_QC_VALUE FALSE
745 #endif
746 
747 /*
748 ** Attribute 27: Producing Instance Map (Array of eip_InstanceMapType)
749 ** Attribute not used in the 40-series
750 */
751 #ifndef EIP_IA_PROD_INSTANCE_MAP_ENABLE
752  #define EIP_IA_PROD_INSTANCE_MAP_ENABLE FALSE
753  #define EIP_IA_PROD_INSTANCE_MAP_VALUE { {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 1} }
754  #define EIP_IA_PROD_INSTANCE_MAP_ARRAY_SIZE 6
755 #endif
756 
757 /*
758 ** Attribute 28: Consuming Instance Map (Array of eip_InstanceMapType)
759 ** Attribute not used in the 40-series
760 */
761 #ifndef EIP_IA_CONS_INSTANCE_MAP_ENABLE
762  #define EIP_IA_CONS_INSTANCE_MAP_ENABLE FALSE
763  #define EIP_IA_CONS_INSTANCE_MAP_VALUE { {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 1} }
764  #define EIP_IA_CONS_INSTANCE_MAP_ARRAY_SIZE 6
765 #endif
766 
767 /*
768 ** Attribute 29: Ignore Sequence Count Check (BOOL -TRUE/FALSE)
769 */
770 #ifndef EIP_IA_IGNORE_SEQ_COUNT_CHECK_ENABLE
771  #define EIP_IA_IGNORE_SEQ_COUNT_CHECK_ENABLE FALSE
772  #define EIP_IA_IGNORE_SEQ_COUNT_CHECK_VALUE FALSE
773 #endif
774 
775 /*
776 ** Attribute 30: ABCC ADI Object number (U16 - 0x0064-0x00C7, 0x0300-0x04FF)
777 */
778 #ifndef EIP_IA_ABCC_ADI_OBJECT_ENABLE
779  #define EIP_IA_ABCC_ADI_OBJECT_ENABLE FALSE
780  #define EIP_IA_ABCC_ADI_OBJECT_VALUE 0x00A2
781 #endif
782 
783 /*
784 ** Attribute 31: Enable DLR (BOOL - TRUE/FALSE)
785 */
786 #ifndef EIP_IA_ABCC_ENABLE_DLR_ENABLE
787  #define EIP_IA_ABCC_ENABLE_DLR_ENABLE FALSE
788  #define EIP_IA_ABCC_ENABLE_DLR_VALUE TRUE
789 #endif
790 
791 #endif /* #if EIP_OBJ_ENABLE */
792 
793 /*------------------------------------------------------------------------------
794 ** Ethernet Object (0xF9)
795 **------------------------------------------------------------------------------
796 */
797 
798 #if ETN_OBJ_ENABLE
799 /*
800 ** Attribute 2: Enable Host IP Configuration Protocol (BOOL - TRUE/FALSE)
801 */
802 #ifndef ETN_IA_ENABLE_HICP_ENABLE
803  #define ETN_IA_ENABLE_HICP_ENABLE FALSE
804  #define ETN_IA_ENABLE_HICP_VALUE TRUE
805 #endif
806 
807 /*
808 ** Attribute 3: Enable Web Server (BOOL - TRUE/FALSE)
809 */
810 #ifndef ETN_IA_ENABLE_WEB_ENABLE
811  #define ETN_IA_ENABLE_WEB_ENABLE FALSE
812  #define ETN_IA_ENABLE_WEB_VALUE TRUE
813 #endif
814 
815 /*
816 ** Attribute 4: Enable ModbusTCP (BOOL - TRUE/FALSE). Reserved in 40-series.
817 */
818 #ifndef ETN_IA_ENABLE_MOD_TCP_ENABLE
819  #define ETN_IA_ENABLE_MOD_TCP_ENABLE FALSE
820  #define ETN_IA_ENABLE_MOD_TCP_VALUE TRUE
821 #endif
822 
823 /*
824 ** Attribute 5: Enable Web ADI access (BOOL - TRUE/FALSE)
825 */
826 #ifndef ETN_IA_ENABLE_WEB_ADI_ACCESS_ENABLE
827  #define ETN_IA_ENABLE_WEB_ADI_ACCESS_ENABLE FALSE
828  #define ETN_IA_ENABLE_WEB_ADI_ACCESS_VALUE TRUE
829 #endif
830 
831 /*
832 ** Attribute 6: Enable FTP server (BOOL - TRUE/FALSE)
833 */
834 #ifndef ETN_IA_ENABLE_FTP_ENABLE
835  #define ETN_IA_ENABLE_FTP_ENABLE FALSE
836  #define ETN_IA_ENABLE_FTP_VALUE TRUE
837 #endif
838 
839 /*
840 ** Attribute 7: Enable admin mode (BOOL - TRUE/FALSE)
841 */
842 #ifndef ETN_IA_ENABLE_ADMIN_MODE_ENABLE
843  #define ETN_IA_ENABLE_ADMIN_MODE_ENABLE FALSE
844  #define ETN_IA_ENABLE_ADMIN_MODE_VALUE FALSE
845 #endif
846 
847 /*
848 ** Attribute 8: Network status (U16)
849 */
850 #ifndef ETN_IA_NETWORK_STATUS_ENABLE
851  #define ETN_IA_NETWORK_STATUS_ENABLE FALSE
852 #endif
853 
854 /*
855 ** Attribute 9: Port 1 MAC Address (Array[6] of U8)
856 */
857 #ifndef ETN_IA_PORT1_MAC_ADDRESS_ENABLE
858  #define ETN_IA_PORT1_MAC_ADDRESS_ENABLE TRUE
859  #define ETN_IA_PORT1_MAC_ADDRESS_VALUE "\x00\x30\x11\x00\x00\x01"
860 #endif
861 
862 /*
863 ** Attribute 10: Port 2 MAC Address (Array[6] of U8)
864 */
865 #ifndef ETN_IA_PORT2_MAC_ADDRESS_ENABLE
866  #define ETN_IA_PORT2_MAC_ADDRESS_ENABLE TRUE
867  #define ETN_IA_PORT2_MAC_ADDRESS_VALUE "\x00\x30\x11\x00\x00\x02"
868 #endif
869 
870 /*
871 ** Attribute 11: Enable Address Conflict Detection (BOOL - TRUE/FALSE)
872 */
873 #ifndef ETN_IA_ENABLE_ACD_ENABLE
874  #define ETN_IA_ENABLE_ACD_ENABLE FALSE
875  #define ETN_IA_ENABLE_ACD_VALUE TRUE
876 #endif
877 
878 /*
879 ** Attribute 12: Enable Port 1 state (ENUM)
880 */
881 #ifndef ETN_IA_PORT1_STATE_ENABLE
882  #define ETN_IA_PORT1_STATE_ENABLE FALSE
883  #define ETN_IA_PORT1_STATE_VALUE ABP_ETN_IA_PORT_STATE_ENABLE
884 #endif
885 
886 /*
887 ** Attribute 13: Enable Port 2 state (ENUM)
888 */
889 #ifndef ETN_IA_PORT2_STATE_ENABLE
890  #define ETN_IA_PORT2_STATE_ENABLE FALSE
891  #define ETN_IA_PORT2_STATE_VALUE ABP_ETN_IA_PORT_STATE_ENABLE
892 #endif
893 
894 /*
895 ** Attribute 14: Enable web update (BOOL - TRUE/FALSE).
896 */
897 #ifndef ETN_IA_ENABLE_WEB_UPDATE_ENABLE
898  #define ETN_IA_ENABLE_WEB_UPDATE_ENABLE FALSE
899  #define ETN_IA_ENABLE_WEB_UPDATE_VALUE TRUE
900 #endif
901 
902 /*
903 ** Attribute 15: Enable HICP reset (BOOL - TRUE/FALSE)
904 */
905 #ifndef ETN_IA_ENABLE_HICP_RESET_ENABLE
906  #define ETN_IA_ENABLE_HICP_RESET_ENABLE FALSE
907  #define ETN_IA_ENABLE_HICP_RESET_VALUE FALSE
908 #endif
909 
910 /*
911 ** Attribute 16: IP Configuration (Struct of {U32, U32, U32})
912 */
913 #ifndef ETN_IA_IP_CONFIGURATION_ENABLE
914  #define ETN_IA_IP_CONFIGURATION_ENABLE FALSE
915 #endif
916 
917 /*
918 ** Attribute 17: IP address byte 0-2 (Array[3] of U8)
919 */
920 #ifndef ETN_IA_IP_ADDRESS_BYTE_0_2_ENABLE
921  #define ETN_IA_IP_ADDRESS_BYTE_0_2_ENABLE FALSE
922  #define ETN_IA_IP_ADDRESS_BYTE_0_2_VALUE "\xC0\xA8\x00"
923 #endif
924 
925 
926 #ifndef ETN_OBJ_USE_SET_ATTR_SUCCESS_CALLBACK
927  #define ETN_OBJ_USE_SET_ATTR_SUCCESS_CALLBACK FALSE
928 #endif
929 
930 #endif /* #if ETN_OBJ_ENABLE */
931 
932 /*------------------------------------------------------------------------------
933 ** Modbus Object (0xFA)
934 **------------------------------------------------------------------------------
935 */
936 
937 #if MOD_OBJ_ENABLE
938 /*
939 ** Attribute 9: No. of ADI indexing bits (U8 - 0x00-0xFF)
940 */
941 #ifndef MOD_IA_ADI_INDEXING_BITS_ENABLE
942  #define MOD_IA_ADI_INDEXING_BITS_ENABLE FALSE
943  #define MOD_IA_ADI_INDEXING_BITS_VALUE 0x00
944 #endif
945 
946 /*
947 ** Attribute 10: Enable Modbus Message forwarding (BOOL - TRUE/FALSE)
948 */
949 #ifndef MOD_IA_MESSAGE_FORWARDING_ENABLE
950  #define MOD_IA_MESSAGE_FORWARDING_ENABLE FALSE
951  #define MOD_IA_MESSAGE_FORWARDING_VALUE FALSE
952 #endif
953 
954 /*
955 ** Attribute 11: Modbus read/write registers command offset (Array of SINT16 - {0x0000-0xFFFF})
956 */
957 #ifndef MOD_IA_RW_OFFSET_ENABLE
958  #define MOD_IA_RW_OFFSET_ENABLE FALSE
959  #define MOD_IA_RW_OFFSET_READ_VALUE 0x0000
960  #define MOD_IA_RW_OFFSET_WRITE_VALUE 0x0000
961 #endif
962 
963 #endif /* #if MOD_OBJ_ENABLE */
964 
965 /*------------------------------------------------------------------------------
966 ** DeviceNet Object (0xFC)
967 **------------------------------------------------------------------------------
968 */
969 
970 #if DEV_OBJ_ENABLE
971 /*
972 ** Attribute 7: Producing instance number (U16 - 0x0001-0xFFFF)
973 */
974 #ifndef DEV_IA_PROD_INSTANCE_ENABLE
975  #define DEV_IA_PROD_INSTANCE_ENABLE FALSE
976  #define DEV_IA_PROD_INSTANCE_VALUE 0x0064
977 #endif
978 
979 /*
980 ** Attribute 8: Consuming instance number (U16 - 0x0001-0xFFFF)
981 */
982 #ifndef DEV_IA_CONS_INSTANCE_ENABLE
983  #define DEV_IA_CONS_INSTANCE_ENABLE FALSE
984  #define DEV_IA_CONS_INSTANCE_VALUE 0x0096
985 #endif
986 
987 /*
988 ** Attribute 9: Enable address from net (BOOL - TRUE/FALSE)
989 */
990 #ifndef DEV_IA_ADDRESS_FROM_NET_ENABLE
991  #define DEV_IA_ADDRESS_FROM_NET_ENABLE FALSE
992  #define DEV_IA_ADDRESS_FROM_NET_VALUE FALSE
993 #endif
994 
995 /*
996 ** Attribute 10: Enable baud rate from net (BOOL - TRUE/FALSE)
997 */
998 #ifndef DEV_IA_BAUD_RATE_FROM_NET_ENABLE
999  #define DEV_IA_BAUD_RATE_FROM_NET_ENABLE FALSE
1000  #define DEV_IA_BAUD_RATE_FROM_NET_VALUE FALSE
1001 #endif
1002 
1003 /*
1004 ** Attribute 11: Enable CIP request forwarding (BOOL - TRUE/FALSE)
1005 */
1006 #ifndef DEV_IA_ENABLE_APP_CIP_OBJECTS_ENABLE
1007  #define DEV_IA_ENABLE_APP_CIP_OBJECTS_ENABLE FALSE
1008  #define DEV_IA_ENABLE_APP_CIP_OBJECTS_VALUE FALSE
1009 #endif
1010 
1011 /*
1012 ** Attribute 12: Enable Parameter object (BOOL - TRUE/FALSE)
1013 */
1014 #ifndef DEV_IA_ENABLE_PARAM_OBJECT_ENABLE
1015  #define DEV_IA_ENABLE_PARAM_OBJECT_ENABLE FALSE
1016  #define DEV_IA_ENABLE_PARAM_OBJECT_VALUE FALSE
1017 #endif
1018 
1019 /*
1020 ** Attribute 13: Enable QuickConnect (BOOL - TRUE/FALSE)
1021 */
1022 #ifndef DEV_IA_ENABLE_QUICK_CONNECT_ENABLE
1023  #define DEV_IA_ENABLE_QUICK_CONNECT_ENABLE FALSE
1024  #define DEV_IA_ENABLE_QUICK_CONNECT_VALUE FALSE
1025 #endif
1026 
1027 /*
1028 ** Attribute 18: Prepend producing profile instance (U16 - 0x0000-0xFFFF)
1029 */
1030 #ifndef DEV_IA_PREPEND_PRODUCING_ENABLE
1031  #define DEV_IA_PREPEND_PRODUCING_ENABLE FALSE
1032  #define DEV_IA_PREPEND_PRODUCING_VALUE 0x0000
1033 #endif
1034 
1035 /*
1036 ** Attribute 19: Prepend consuming profile instance (U16 - 0x0000-0xFFFF)
1037 */
1038 #ifndef DEV_IA_PREPEND_CONSUMING_ENABLE
1039  #define DEV_IA_PREPEND_CONSUMING_ENABLE FALSE
1040  #define DEV_IA_PREPEND_CONSUMING_VALUE 0x0000
1041 #endif
1042 
1043 /*
1044 ** Attribute 20: ABCC ADI Object number (U16 - 0x0064-0x00C7, 0x0300-0x04FF)
1045 */
1046 #ifndef DEV_IA_ABCC_ADI_OBJECT_ENABLE
1047  #define DEV_IA_ABCC_ADI_OBJECT_ENABLE FALSE
1048  #define DEV_IA_ABCC_ADI_OBJECT_VALUE 0x00A2
1049 #endif
1050 
1051 #endif /* #if DEV_OBJ_ENABLE */
1052 
1053 /*------------------------------------------------------------------------------
1054 ** PROFIBUS DPV1 Object (0xFD)
1055 **------------------------------------------------------------------------------
1056 */
1057 
1058 #if DPV1_OBJ_ENABLE
1059 /*
1060 ** Attribute 2: Parameterization data (Array of U8)
1061 */
1062 #ifndef DPV1_IA_PRM_DATA_ENABLE
1063  #define DPV1_IA_PRM_DATA_ENABLE FALSE
1064  #define DPV1_IA_PRM_DATA_VALUE { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1065  #define DPV1_IA_PRM_DATA_ARRAY_SIZE 10
1066 #endif
1067 
1068 /*
1069 ** Attribute 3: Expected configuration (Array of U8)
1070 */
1071 #ifndef DPV1_IA_EXPECTED_CFG_DATA_ENABLE
1072  #define DPV1_IA_EXPECTED_CFG_DATA_ENABLE FALSE
1073  #define DPV1_IA_EXPECTED_CFG_DATA_VALUE { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1074  #define DPV1_IA_EXPECTED_CFG_DATA_ARRAY_SIZE 10
1075 #endif
1076 
1077 /*
1078 ** Attribute 4: SSA enabled (BOOL - TRUE/FALSE)
1079 */
1080 #ifndef DPV1_IA_SSA_ENABLED_ENABLE
1081  #define DPV1_IA_SSA_ENABLED_ENABLE FALSE
1082  #define DPV1_IA_SSA_ENABLED_VALUE FALSE
1083 #endif
1084 
1085 /*
1086 ** Attribute 13: Revision counter (U16 - 0x0000-0xFFFF)
1087 */
1088 #ifndef DPV1_IA_REV_COUNTER_ENABLE
1089  #define DPV1_IA_REV_COUNTER_ENABLE FALSE
1090  #define DPV1_IA_REV_COUNTER_VALUE 0xFFFF
1091 #endif
1092 
1093 /*
1094 ** Attribute 14: Profile ID (U16 - 0x0000-0xFFFF)
1095 */
1096 #ifndef DPV1_IA_PROFILE_ID_ENABLE
1097  #define DPV1_IA_PROFILE_ID_ENABLE FALSE
1098  #define DPV1_IA_PROFILE_ID_VALUE 0xFFFF
1099 #endif
1100 
1101 /*
1102 ** Attribute 15: Profile specific type (U16 - 1-6)
1103 */
1104 #ifndef DPV1_IA_PROFILE_SPEC_TYPE_ENABLE
1105  #define DPV1_IA_PROFILE_SPEC_TYPE_ENABLE FALSE
1106  #define DPV1_IA_PROFILE_SPEC_TYPE_VALUE 0x0004
1107 #endif
1108 
1109 /*
1110 ** Attribute 18: IM header (Array of U8)
1111 */
1112 #ifndef DPV1_IA_IM_HEADER_ENABLE
1113  #define DPV1_IA_IM_HEADER_ENABLE FALSE
1114  #define DPV1_IA_IM_HEADER_VALUE { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1115  #define DPV1_IA_IM_HEADER_ARRAY_SIZE 10
1116 #endif
1117 
1118 #endif /* #if DPV1_OBJ_ENABLE */
1119 
1120 /*------------------------------------------------------------------------------
1121 ** Application data Object (0xFE)
1122 **------------------------------------------------------------------------------
1123 */
1124 
1125 /*
1126 ** These defines shall be set to the max number of process data mapping entries
1127 ** that will be required by the implementation.
1128 ** Note that each mapping entry represents a 'range' of elements from one ADI,
1129 ** meaning that if only some elements from a multi-element ADI are to be mapped
1130 ** it will require as many mapping entries as there are separate and non-
1131 ** continuous ranges of elements to map.
1132 ** Do not forget to consider remap scenarios if ABCC_CFG_REMAP_SUPPORT_ENABLED
1133 ** is enabled in abcc_drv_cfg.h.
1134 */
1135 
1136 #ifndef AD_MAX_NUM_WRITE_MAP_ENTRIES
1137  #define AD_MAX_NUM_WRITE_MAP_ENTRIES ( 64 )
1138 #endif
1139 
1140 #ifndef AD_MAX_NUM_READ_MAP_ENTRIES
1141  #define AD_MAX_NUM_READ_MAP_ENTRIES ( 64 )
1142 #endif
1143 
1144 /*
1145 ** Attributes 5, 6, 7: Min, max and default attributes - (BOOL - TRUE/FALSE)
1146 **
1147 ** Enabling this will also enable and include functions that performs runtime
1148 ** min/max range checks for 'SetAttribute' operations targeting ADI elements,
1149 ** which will increase code ROM consumption.
1150 ** If disabled no range checks will be made, and the min/max will be the full
1151 ** range of each data type.
1152 */
1153 
1154 #ifndef AD_IA_MIN_MAX_DEFAULT_ENABLE
1155  #define AD_IA_MIN_MAX_DEFAULT_ENABLE ( FALSE )
1156 #endif
1157 
1158 /*------------------------------------------------------------------------------
1159 ** Application Object (0xFF)
1160 **------------------------------------------------------------------------------
1161 */
1162 #ifndef APP_OBJ_ENABLE
1163  #define APP_OBJ_ENABLE TRUE
1164 #endif
1165 
1166 #if APP_OBJ_ENABLE
1167 /*
1168 ** Attribute 1: Configured (BOOL - TRUE/FALSE)
1169 */
1170 #ifndef APP_IA_CONFIGURED_ENABLE
1171  #define APP_IA_CONFIGURED_ENABLE TRUE
1172  #define APP_IA_CONFIGURED_VALUE FALSE
1173 #endif
1174 
1175 /*
1176 ** Attribute 2: Supported languages (Array of ENUM - {ABP_LANG_*})
1177 */
1178 #ifndef APP_IA_SUP_LANG_ENABLE
1179  #define APP_IA_SUP_LANG_ENABLE TRUE
1180  #define APP_IA_SUP_LANG_VALUE { ABP_LANG_ENG }
1181  #define APP_IA_SUP_LANG_ARRAY_SIZE 1
1182 #endif
1183 
1184 /*
1185 ** Attribute 3: Serial number (U32 - function/variable/0x00000000-0xFFFFFFFF)
1186 */
1187 #ifndef APP_IA_SER_NUM_ENABLE
1188  #define APP_IA_SER_NUM_ENABLE FALSE
1189  #define APP_IA_SER_NUM_VALUE 0
1190 #endif
1191 
1192 /*
1193 ** Attribute 4: Parameter control sum (Array[16] of U8, {0x00-0xFF})
1194 */
1195 #ifndef APP_IA_PAR_CRTL_SUM_ENABLE
1196  #define APP_IA_PAR_CRTL_SUM_ENABLE FALSE
1197  #define APP_IA_PAR_CRTL_SUM_VALUE { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1198 #endif
1199 
1200 /*
1201 ** Attribute 5: Candidate firmware available (BOOL - TRUE/FALSE)
1202 */
1203 #ifndef APP_IA_FW_AVAILABLE_ENABLE
1204  #define APP_IA_FW_AVAILABLE_ENABLE TRUE
1205  #define APP_IA_FW_AVAILABLE_VALUE FALSE
1206 #endif
1207 
1208 /*
1209 ** Attribute 6: Hardware configurable address (BOOL - TRUE/FALSE)
1210 */
1211 #ifndef APP_IA_HW_CONF_ADDR_ENABLE
1212  #define APP_IA_HW_CONF_ADDR_ENABLE TRUE
1213  #define APP_IA_HW_CONF_ADDR_VALUE FALSE
1214 #endif
1215 
1216 #endif /* #if APP_OBJ_ENABLE */
1217 
1218 
1219 /*******************************************************************************
1220 ** Typedefs
1221 ********************************************************************************
1222 */
1223 
1224 /*******************************************************************************
1225 ** Public Globals
1226 ********************************************************************************
1227 */
1228 
1229 /*******************************************************************************
1230 ** Public Services
1231 ********************************************************************************
1232 */
1233 
1234 #include "abcc_identification.h"
1235 
1236 #endif /* inclusion lock */
1237 
1238 //------------------------------------------------------------------------------
1239 // End Of File
1240 //------------------------------------------------------------------------------