Argon RTOS  1.3.0
Tiny embedded real-time kernel
ar_config.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013-2018 Immo Software
3  *
4  * Redistribution and use in source and binary forms, with or without modification,
5  * are permitted provided that the following conditions are met:
6  *
7  * o Redistributions of source code must retain the above copyright notice, this list
8  * of conditions and the following disclaimer.
9  *
10  * o Redistributions in binary form must reproduce the above copyright notice, this
11  * list of conditions and the following disclaimer in the documentation and/or
12  * other materials provided with the distribution.
13  *
14  * o Neither the name of the copyright holder nor the names of its contributors may
15  * be used to endorse or promote products derived from this software without
16  * specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
22  * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28  */
35 #if !defined(_AR_CONFIG_H_)
36 #define _AR_CONFIG_H_
37 
38 //------------------------------------------------------------------------------
39 // Definitions
40 //------------------------------------------------------------------------------
41 
44 
59 
60 #if !defined(AR_ANONYMOUS_OBJECT_NAME)
61  #define AR_ANONYMOUS_OBJECT_NAME ("<anon>")
63 #endif
64 
65 #if !defined(AR_GLOBAL_OBJECT_LISTS)
66  #define AR_GLOBAL_OBJECT_LISTS (DEBUG)
70 #endif
71 
73 
74 
75 #if !defined(AR_ENABLE_IDLE_SLEEP)
76  #define AR_ENABLE_IDLE_SLEEP (!(DEBUG))
81 #endif
82 
83 #if !defined(AR_IDLE_THREAD_STACK_SIZE)
84  #define AR_IDLE_THREAD_STACK_SIZE (200)
86 #endif // AR_IDLE_THREAD_STACK_SIZE
87 
89 
91 
92 
93 #if !defined(AR_ENABLE_SYSTEM_LOAD)
94  #define AR_ENABLE_SYSTEM_LOAD (1)
96 #endif
97 
98 #if !defined(AR_SYSTEM_LOAD_SAMPLE_PERIOD)
99  #define AR_SYSTEM_LOAD_SAMPLE_PERIOD (1000000)
103 #endif
104 
106 
107 #if !defined(AR_THREAD_STACK_PATTERN_FILL)
108  #define AR_THREAD_STACK_PATTERN_FILL (DEBUG)
114 #endif // AR_IDLE_THREAD_STACK_SIZE
115 
117 
118 
119 #if !defined(AR_ENABLE_MAIN_THREAD)
120  #define AR_ENABLE_MAIN_THREAD (1)
127 #endif // AR_ENABLE_MAIN_THREAD
128 
129 #if !defined(AR_SCHEDULER_STACK_SIZE)
130  #define AR_SCHEDULER_STACK_SIZE (256)
136 #endif // AR_SCHEDULER_STACK_SIZE
137 
138 #if !defined(AR_MAIN_THREAD_PRIORITY)
139  #define AR_MAIN_THREAD_PRIORITY (128)
141 #endif // AR_MAIN_THREAD_PRIORITY
142 
144 
145 #if !defined(AR_ENABLE_TICKLESS_IDLE)
146  #define AR_ENABLE_TICKLESS_IDLE (1)
148 #endif
149 
150 #if !defined(AR_DEFERRED_ACTION_QUEUE_SIZE)
151  #define AR_DEFERRED_ACTION_QUEUE_SIZE (8)
153 #endif
154 
155 #if !defined(AR_RUNLOOP_FUNCTION_QUEUE_SIZE)
156  #define AR_RUNLOOP_FUNCTION_QUEUE_SIZE (8)
158 #endif
159 
160 #if !defined(AR_ENABLE_LIST_CHECKS)
161  #define AR_ENABLE_LIST_CHECKS (0)
165 #endif
166 
167 #if !defined(AR_ENABLE_TRACE)
168  #define AR_ENABLE_TRACE (DEBUG)
170 #endif
171 
173 
174 #endif // _AR_CONFIG_H_
175 //------------------------------------------------------------------------------
176 // EOF
177 //------------------------------------------------------------------------------