Statistics
| Branch: | Tag: | Revision:

amiro-os / core / inc / aos_confcheck.h @ ed19a68b

History | View | Annotate | Download (4.969 KB)

1
/*
2
AMiRo-OS is an operating system designed for the Autonomous Mini Robot (AMiRo) platform.
3
Copyright (C) 2016..2019  Thomas Schöpping et al.
4

5
This program is free software: you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation, either version 3 of the License, or
8
(at your option) any later version.
9

10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
GNU General Public License for more details.
14

15
You should have received a copy of the GNU General Public License
16
along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
*/
18

    
19
/**
20
 * @file    aos_confcheck.h
21
 * @brief   Header that checks whether all necessary configurations are correct.
22
 *
23
 * @addtogroup aos_system
24
 * @{
25
 */
26

    
27
#ifndef AMIROOS_CONFCHECK_H
28
#define AMIROOS_CONFCHECK_H
29

    
30
#include <amiroos.h>
31

    
32
/******************************************************************************/
33
/* CONSTANTS                                                                  */
34
/******************************************************************************/
35

    
36
/******************************************************************************/
37
/* SETTINGS                                                                   */
38
/******************************************************************************/
39

    
40
/******************************************************************************/
41
/* CHECKS                                                                     */
42
/******************************************************************************/
43

    
44
/* kernel parameters and options */
45

    
46
#ifndef AMIROOS_CFG_DBG
47
  #error "AMIROOS_CFG_DBG not defined in aosconf.h"
48
#endif
49

    
50
#ifndef AMIROOS_CFG_TESTS_ENABLE
51
  #error "AMIROOS_CFG_TESTS_ENABLE not defined in aosconf.h"
52
#endif
53

    
54
#ifndef AMIROOS_CFG_PROFILE
55
  #error "AMIROOS_CFG_PROFILE not defined in aosconf.h"
56
#endif
57

    
58
#ifndef AMIROOS_CFG_MAIN_LOOP_TIMEOUT
59
  #error "AMIROOS_CFG_MAIN_LOOP_TIMEOUT not defined in aosconf.h"
60
#endif
61

    
62
/* SSSP parameters and options */
63

    
64
#ifndef AMIROOS_CFG_SSSP_ENABLE
65
  #error "AMIROOS_CFG_SSSP_ENABLE not defined in aosconf.h"
66
#endif
67

    
68
# if (AMIROOS_CFG_SSSP_ENABLE == true)
69

    
70
  #ifndef AMIROOS_CFG_SSSP_MASTER
71
    #error "AMIROOS_CFG_SSSP_MASTER not defined in aosconf.h"
72
  #endif
73

    
74
  #ifndef AMIROOS_CFG_SSSP_STACK_START
75
    #error "AMIROOS_CFG_SSSP_STACK_START not defined in aosconf.h"
76
  #endif
77

    
78
  #ifndef AMIROOS_CFG_SSSP_STACK_END
79
    #error "AMIROOS_CFG_SSSP_STACK_END not defined in aosconf.h"
80
  #endif
81

    
82
  #if (AMIROOS_CFG_SSSP_STACK_START == true) && (AMIROOS_CFG_SSSP_STACK_END == true)
83
    #warning "AMIROOS_CFG_SSSP_STACK_START and AMIROOS_CFG_SSSP_STACK_END both enabled in aosconf.h"
84
    #if (AMIROOS_CFG_SSSP_MASTER != true)
85
      #error "AMIROOS_CFG_SSSP_MASTER must be enabled in this case"
86
    #endif
87
  #endif
88

    
89
  #ifndef AMIROOS_CFG_SSSP_SIGNALDELAY
90
    #error "AMIROOS_CFG_SSSP_SIGNALDELAY not defined in aosconf.h"
91
  #endif
92

    
93
  #ifndef AMIROOS_CFG_SSSP_SYSSYNCPERIOD
94
    #error "AMIROOS_CFG_SSSP_SYSSYNCPERIOD not defined in aosconf.h"
95
  #endif
96

    
97
#endif
98

    
99
/* system shell options */
100

    
101
#ifndef AMIROOS_CFG_SHELL_ENABLE
102
  #error "AMIROOS_CFG_SHELL_ENABLE not defined in aosconf.h"
103
#endif
104

    
105
#if (AMIROOS_CFG_SHELL_ENABLE == true)
106

    
107
  #ifndef AMIROOS_CFG_SHELL_STACKSIZE
108
    #error "AMIROOS_CFG_SHELL_STACKSIZE not defined in aosconf.h"
109
  #endif
110

    
111
  #ifndef AMIROOS_CFG_SHELL_THREADPRIO
112
    #error "AMIROOS_CFG_SHELL_THREADPRIO not defined in aosconf.h"
113
  #endif
114

    
115
  #ifndef AMIROOS_CFG_SHELL_LINEWIDTH
116
    #error "AMIROOS_CFG_SHELL_LINEWIDTH not defined in aosconf.h"
117
  #endif
118

    
119
  #ifndef AMIROOS_CFG_SHELL_MAXARGS
120
    #error "AMIROOS_CFG_SHELL_MAXARGS not defined in aosconf.h"
121
  #endif
122

    
123
#else /* AMIROOS_CFG_SHELL_ENABLE == false */
124

    
125
  #if (AMIROOS_CFG_TESTS_ENABLE == true)
126
    #pragma message "AMiRo-OS shell enabled implicitely via AMIROOS_CFG_TESTS_ENABLE"
127
  #endif
128

    
129
#endif /* AMIROOS_CFG_SHELL_ENABLE */
130

    
131
/******************************************************************************/
132
/* DATA STRUCTURES AND TYPES                                                  */
133
/******************************************************************************/
134

    
135
/******************************************************************************/
136
/* MACROS                                                                     */
137
/******************************************************************************/
138

    
139
/******************************************************************************/
140
/* EXTERN DECLARATIONS                                                        */
141
/******************************************************************************/
142

    
143
/******************************************************************************/
144
/* INLINE FUNCTIONS                                                           */
145
/******************************************************************************/
146

    
147
#endif /* AMIROOS_CONFCHECK_H */
148

    
149
/** @} */