KM3NeT CLB  2.0
KM3NeT CLB v2 Embedded Software
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cfg_subsys.h
1 /*
2  * KM3NeT CLB v2 Firmware
3  * ----------------------
4  *
5  * Copyright 2013 KM3NeT Collaboration
6  *
7  * All Rights Reserved.
8  *
9  *
10  * File : cfg_subsys.h
11  * Created : 2 dec. 2013
12  * Author : Vincent van Beveren
13  */
14 
15 #ifndef CFG_SUBSYS_H_
16 #define CFG_SUBSYS_H_
17 
18 #define CLB_SUB_SYS 0 //!< 'System' subsystem
19 #define CLB_SUB_NET 1 //!< Network subsystem
20 #define CLB_SUB_OPT 2 //!< Optics (PMTs and TDCs).
21 #define CLB_SUB_ACS 3 //!< Acoustics
22 #define CLB_SUB_INS 4 //!< Instrumentation
23 #define CLB_SUB_BSE 5 //!< Base subsystem
24 
25 #define CLB_SUB_MAX 6 //!< Maximum no of subsystem IDs
26 
27 #ifdef BASE
28 
29 #define CLB_SUB_CNT 5 //!< Number of subsystems
30 
31 // Define all subsystems as list
32 #define SUBSYSTEMS \
33  SUBS(0, CLB_SUB_SYS, Sys) \
34  SUBS(1, CLB_SUB_NET, Net) \
35  SUBS(2, CLB_SUB_ACS, Acs) \
36  SUBS(3, CLB_SUB_INS, Ins) \
37  SUBS(4, CLB_SUB_BSE, Bse)
38 
39 
40 #else // ifndef BASE => runtime
41 
42 #define CLB_SUB_CNT 5 //!< Number of subsystems
43 
44 
45 // Define all subsystems as list
46 #define SUBSYSTEMS \
47  SUBS(0, CLB_SUB_SYS, Sys) \
48  SUBS(1, CLB_SUB_NET, Net) \
49  SUBS(2, CLB_SUB_OPT, Opt) \
50  SUBS(3, CLB_SUB_ACS, Acs) \
51  SUBS(4, CLB_SUB_INS, Ins)
52 
53 #endif // end else of "ifdef BASE"
54 
55 #endif /* CFG_SUBSYS_H_ */