Statistics
| Branch: | Tag: | Revision:

amiro-os / core / inc / aos_confcheck.h @ 8a93b752

History | View | Annotate | Download (4.969 KB)

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

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 53710ca3 Marc Rothmann
/**
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 6ff06bbf Thomas Schöpping
#ifndef AMIROOS_CONFCHECK_H
28
#define AMIROOS_CONFCHECK_H
29 e545e620 Thomas Schöpping
30 3940ba8a Thomas Schöpping
#include <amiroos.h>
31 e545e620 Thomas Schöpping
32 f3ac1c96 Thomas Schöpping
/******************************************************************************/
33
/* CONSTANTS                                                                  */
34
/******************************************************************************/
35
36
/******************************************************************************/
37
/* SETTINGS                                                                   */
38
/******************************************************************************/
39
40
/******************************************************************************/
41
/* CHECKS                                                                     */
42
/******************************************************************************/
43
44
/* kernel parameters and options */
45 e545e620 Thomas Schöpping
46 cb835a3e Thomas Schöpping
#ifndef AMIROOS_CFG_DBG
47
  #error "AMIROOS_CFG_DBG not defined in aosconf.h"
48
#endif
49
50 e545e620 Thomas Schöpping
#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 f3ac1c96 Thomas Schöpping
/* SSSP parameters and options */
63 6b53f6bf Thomas Schöpping
64 9ebb11a9 Thomas Schöpping
#ifndef AMIROOS_CFG_SSSP_ENABLE
65
  #error "AMIROOS_CFG_SSSP_ENABLE not defined in aosconf.h"
66 6b53f6bf Thomas Schöpping
#endif
67
68 9ebb11a9 Thomas Schöpping
# if (AMIROOS_CFG_SSSP_ENABLE == true)
69 933df08e Thomas Schöpping
70 9ebb11a9 Thomas Schöpping
  #ifndef AMIROOS_CFG_SSSP_MASTER
71
    #error "AMIROOS_CFG_SSSP_MASTER not defined in aosconf.h"
72
  #endif
73 933df08e Thomas Schöpping
74 9ebb11a9 Thomas Schöpping
  #ifndef AMIROOS_CFG_SSSP_STACK_START
75
    #error "AMIROOS_CFG_SSSP_STACK_START not defined in aosconf.h"
76 933df08e Thomas Schöpping
  #endif
77
78 9ebb11a9 Thomas Schöpping
  #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 933df08e Thomas Schöpping
97 6b53f6bf Thomas Schöpping
#endif
98
99 f3ac1c96 Thomas Schöpping
/* system shell options */
100 e545e620 Thomas Schöpping
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 cb835a3e Thomas Schöpping
  #ifndef AMIROOS_CFG_SHELL_THREADPRIO
112
    #error "AMIROOS_CFG_SHELL_THREADPRIO not defined in aosconf.h"
113
  #endif
114
115 e545e620 Thomas Schöpping
  #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 2dd2e257 Thomas Schöpping
#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 e545e620 Thomas Schöpping
131 f3ac1c96 Thomas Schöpping
/******************************************************************************/
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 6ff06bbf Thomas Schöpping
#endif /* AMIROOS_CONFCHECK_H */
148 53710ca3 Marc Rothmann
149
/** @} */