Statistics
| Branch: | Tag: | Revision:

amiro-os / core / inc / aos_confcheck.h @ 47e89ebf

History | View | Annotate | Download (5.91 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
#if !defined(AMIROOS_CFG_DBG)
47
  #error "AMIROOS_CFG_DBG not defined in aosconf.h"
48
#endif /* !defined(AMIROOS_CFG_DBG) */
49

    
50
#if !defined(AMIROOS_CFG_TESTS_ENABLE)
51
  #error "AMIROOS_CFG_TESTS_ENABLE not defined in aosconf.h"
52
#endif /* !defined(AMIROOS_CFG_TESTS_ENABLE) */
53

    
54
#if !defined(AMIROOS_CFG_PROFILE)
55
  #error "AMIROOS_CFG_PROFILE not defined in aosconf.h"
56
#endif /* !defined(AMIROOS_CFG_PROFILE) */
57

    
58
#if !defined(AMIROOS_CFG_MAIN_LOOP_TIMEOUT)
59
  #error "AMIROOS_CFG_MAIN_LOOP_TIMEOUT not defined in aosconf.h"
60
#endif /* !defined(AMIROOS_CFG_MAIN_LOOP_TIMEOUT) */
61

    
62
/* SSSP parameters and options */
63

    
64
#if !defined(AMIROOS_CFG_SSSP_ENABLE)
65
  #error "AMIROOS_CFG_SSSP_ENABLE not defined in aosconf.h"
66
#endif /* !defined(AMIROOS_CFG_SSSP_ENABLE) */
67

    
68
#if (AMIROOS_CFG_SSSP_ENABLE == true)
69

    
70
  #if !defined(AMIROOS_CFG_SSSP_MASTER)
71
    #error "AMIROOS_CFG_SSSP_MASTER not defined in aosconf.h"
72
  #endif /* !defined(AMIROOS_CFG_SSSP_MASTER) */
73

    
74
  #if !defined(AMIROOS_CFG_SSSP_STACK_START)
75
    #error "AMIROOS_CFG_SSSP_STACK_START not defined in aosconf.h"
76
  #endif /* !defined(AMIROOS_CFG_SSSP_STACK_START) */
77

    
78
  #if !defined(AMIROOS_CFG_SSSP_STACK_END)
79
    #error "AMIROOS_CFG_SSSP_STACK_END not defined in aosconf.h"
80
  #endif /* !defined(AMIROOS_CFG_SSSP_STACK_END) */
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 /* (AMIROOS_CFG_SSSP_MASTER != true) */
87
  #endif /* (AMIROOS_CFG_SSSP_STACK_START == true) && (AMIROOS_CFG_SSSP_STACK_END == true) */
88

    
89
  #if !defined(AMIROOS_CFG_SSSP_SIGNALDELAY)
90
    #error "AMIROOS_CFG_SSSP_SIGNALDELAY not defined in aosconf.h"
91
  #endif /* !defined(AMIROOS_CFG_SSSP_SIGNALDELAY) */
92

    
93
  #if !defined(AMIROOS_CFG_SSSP_SYSSYNCPERIOD)
94
    #error "AMIROOS_CFG_SSSP_SYSSYNCPERIOD not defined in aosconf.h"
95
  #endif /* !defined(AMIROOS_CFG_SSSP_SYSSYNCPERIOD) */
96

    
97
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
98

    
99
/* system shell options */
100

    
101
#if !defined(AMIROOS_CFG_SHELL_ENABLE)
102
  #error "AMIROOS_CFG_SHELL_ENABLE not defined in aosconf.h"
103
#endif /* !defined(AMIROOS_CFG_SHELL_ENABLE) */
104

    
105
#if (AMIROOS_CFG_SHELL_ENABLE == true)
106

    
107
  #if !defined(AMIROOS_CFG_SHELL_STACKSIZE)
108
    #error "AMIROOS_CFG_SHELL_STACKSIZE not defined in aosconf.h"
109
  #endif /* !defined(AMIROOS_CFG_SHELL_STACKSIZE) */
110

    
111
  #if !defined(AMIROOS_CFG_SHELL_THREADPRIO)
112
    #error "AMIROOS_CFG_SHELL_THREADPRIO not defined in aosconf.h"
113
  #endif /* !defined(AMIROOS_CFG_SHELL_THREADPRIO) */
114

    
115
  #if !defined(AMIROOS_CFG_SHELL_LINEWIDTH)
116
    #error "AMIROOS_CFG_SHELL_LINEWIDTH not defined in aosconf.h"
117
  #endif /* !defined(AMIROOS_CFG_SHELL_LINEWIDTH) */
118

    
119
  #if !defined(AMIROOS_CFG_SHELL_MAXARGS)
120
    #error "AMIROOS_CFG_SHELL_MAXARGS not defined in aosconf.h"
121
  #endif /* !defined(AMIROOS_CFG_SHELL_MAXARGS) */
122

    
123
#else /* (AMIROOS_CFG_SHELL_ENABLE == true) */
124

    
125
  #if (AMIROOS_CFG_TESTS_ENABLE == true)
126
    #error "Enabling AMIROOS_CFG_TESTS_ENABLE in aosconf.h requires AMIROOS_CFG_SHELL_ENABLE to be enabled as well."
127
  #endif /* (AMIROOS_CFG_TESTS_ENABLE == true) */
128

    
129
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) */
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
/** @} */