Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
chconf.h
Go to the documentation of this file.
1 /*
2  ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
3 
4  Licensed under the Apache License, Version 2.0 (the "License");
5  you may not use this file except in compliance with the License.
6  You may obtain a copy of the License at
7 
8  http://www.apache.org/licenses/LICENSE-2.0
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 */
16 
28 #ifndef CHCONF_H
29 #define CHCONF_H
30 
31 #define _CHIBIOS_RT_CONF_
32 #define _CHIBIOS_RT_CONF_VER_7_0_
33 
34 /*===========================================================================*/
39 /*===========================================================================*/
40 
48 #if !defined(CH_CFG_SMP_MODE)
49 #define CH_CFG_SMP_MODE FALSE
50 #endif
51 
54 /*===========================================================================*/
59 /*===========================================================================*/
60 
65 #if !defined(CH_CFG_ST_RESOLUTION)
66 #define CH_CFG_ST_RESOLUTION 32
67 #endif
68 
74 #if !defined(CH_CFG_ST_FREQUENCY)
75 #define CH_CFG_ST_FREQUENCY 10000
76 #endif
77 
82 #if !defined(CH_CFG_INTERVALS_SIZE)
83 #define CH_CFG_INTERVALS_SIZE 32
84 #endif
85 
90 #if !defined(CH_CFG_TIME_TYPES_SIZE)
91 #define CH_CFG_TIME_TYPES_SIZE 32
92 #endif
93 
102 #if !defined(CH_CFG_ST_TIMEDELTA)
103 #define CH_CFG_ST_TIMEDELTA 0
104 #endif
105 
108 /*===========================================================================*/
113 /*===========================================================================*/
114 
127 #if !defined(CH_CFG_TIME_QUANTUM)
128 #define CH_CFG_TIME_QUANTUM 10
129 #endif
130 
138 #if !defined(CH_CFG_NO_IDLE_THREAD)
139 #define CH_CFG_NO_IDLE_THREAD FALSE
140 #endif
141 
151 #if !defined(CH_CFG_HARDENING_LEVEL)
152 #define CH_CFG_HARDENING_LEVEL 0
153 #endif
154 
157 /*===========================================================================*/
162 /*===========================================================================*/
163 
172 #if !defined(CH_CFG_OPTIMIZE_SPEED)
173 #define CH_CFG_OPTIMIZE_SPEED TRUE
174 #endif
175 
178 /*===========================================================================*/
183 /*===========================================================================*/
184 
192 #if !defined(CH_CFG_USE_TM)
193 #define CH_CFG_USE_TM TRUE
194 #endif
195 
202 #if !defined(CH_CFG_USE_TIMESTAMP)
203 #define CH_CFG_USE_TIMESTAMP TRUE
204 #endif
205 
212 #if !defined(CH_CFG_USE_REGISTRY)
213 #define CH_CFG_USE_REGISTRY TRUE
214 #endif
215 
223 #if !defined(CH_CFG_USE_WAITEXIT)
224 #define CH_CFG_USE_WAITEXIT TRUE
225 #endif
226 
233 #if !defined(CH_CFG_USE_SEMAPHORES)
234 #define CH_CFG_USE_SEMAPHORES TRUE
235 #endif
236 
246 #if !defined(CH_CFG_USE_SEMAPHORES_PRIORITY)
247 #define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
248 #endif
249 
256 #if !defined(CH_CFG_USE_MUTEXES)
257 #define CH_CFG_USE_MUTEXES TRUE
258 #endif
259 
268 #if !defined(CH_CFG_USE_MUTEXES_RECURSIVE)
269 #define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
270 #endif
271 
280 #if !defined(CH_CFG_USE_CONDVARS)
281 #define CH_CFG_USE_CONDVARS TRUE
282 #endif
283 
292 #if !defined(CH_CFG_USE_CONDVARS_TIMEOUT)
293 #define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
294 #endif
295 
302 #if !defined(CH_CFG_USE_EVENTS)
303 #define CH_CFG_USE_EVENTS TRUE
304 #endif
305 
314 #if !defined(CH_CFG_USE_EVENTS_TIMEOUT)
315 #define CH_CFG_USE_EVENTS_TIMEOUT TRUE
316 #endif
317 
325 #if !defined(CH_CFG_USE_MESSAGES)
326 #define CH_CFG_USE_MESSAGES TRUE
327 #endif
328 
338 #if !defined(CH_CFG_USE_MESSAGES_PRIORITY)
339 #define CH_CFG_USE_MESSAGES_PRIORITY FALSE
340 #endif
341 
351 #if !defined(CH_CFG_USE_DYNAMIC)
352 #define CH_CFG_USE_DYNAMIC TRUE
353 #endif
354 
357 /*===========================================================================*/
362 /*===========================================================================*/
363 
372 #if !defined(CH_CFG_USE_MAILBOXES)
373 #define CH_CFG_USE_MAILBOXES TRUE
374 #endif
375 
382 #if !defined(CH_CFG_USE_MEMCHECKS)
383 #define CH_CFG_USE_MEMCHECKS TRUE
384 #endif
385 
393 #if !defined(CH_CFG_USE_MEMCORE)
394 #define CH_CFG_USE_MEMCORE TRUE
395 #endif
396 
408 #if !defined(CH_CFG_MEMCORE_SIZE)
409 #define CH_CFG_MEMCORE_SIZE 0
410 #endif
411 
422 #if !defined(CH_CFG_USE_HEAP)
423 #define CH_CFG_USE_HEAP TRUE
424 #endif
425 
433 #if !defined(CH_CFG_USE_MEMPOOLS)
434 #define CH_CFG_USE_MEMPOOLS TRUE
435 #endif
436 
444 #if !defined(CH_CFG_USE_OBJ_FIFOS)
445 #define CH_CFG_USE_OBJ_FIFOS TRUE
446 #endif
447 
455 #if !defined(CH_CFG_USE_PIPES)
456 #define CH_CFG_USE_PIPES TRUE
457 #endif
458 
466 #if !defined(CH_CFG_USE_OBJ_CACHES)
467 #define CH_CFG_USE_OBJ_CACHES TRUE
468 #endif
469 
477 #if !defined(CH_CFG_USE_DELEGATES)
478 #define CH_CFG_USE_DELEGATES TRUE
479 #endif
480 
488 #if !defined(CH_CFG_USE_JOBS)
489 #define CH_CFG_USE_JOBS TRUE
490 #endif
491 
494 /*===========================================================================*/
499 /*===========================================================================*/
500 
508 #if !defined(CH_CFG_USE_FACTORY)
509 #define CH_CFG_USE_FACTORY TRUE
510 #endif
511 
517 #if !defined(CH_CFG_FACTORY_MAX_NAMES_LENGTH)
518 #define CH_CFG_FACTORY_MAX_NAMES_LENGTH 8
519 #endif
520 
524 #if !defined(CH_CFG_FACTORY_OBJECTS_REGISTRY)
525 #define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE
526 #endif
527 
531 #if !defined(CH_CFG_FACTORY_GENERIC_BUFFERS)
532 #define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE
533 #endif
534 
538 #if !defined(CH_CFG_FACTORY_SEMAPHORES)
539 #define CH_CFG_FACTORY_SEMAPHORES TRUE
540 #endif
541 
545 #if !defined(CH_CFG_FACTORY_MAILBOXES)
546 #define CH_CFG_FACTORY_MAILBOXES TRUE
547 #endif
548 
552 #if !defined(CH_CFG_FACTORY_OBJ_FIFOS)
553 #define CH_CFG_FACTORY_OBJ_FIFOS TRUE
554 #endif
555 
559 #if !defined(CH_CFG_FACTORY_PIPES) || defined(__DOXYGEN__)
560 #define CH_CFG_FACTORY_PIPES TRUE
561 #endif
562 
565 /*===========================================================================*/
570 /*===========================================================================*/
571 
577 #if !defined(CH_DBG_STATISTICS)
578 #define CH_DBG_STATISTICS FALSE
579 #endif
580 
588 #if !defined(CH_DBG_SYSTEM_STATE_CHECK)
589 #define CH_DBG_SYSTEM_STATE_CHECK FALSE
590 #endif
591 
599 #if !defined(CH_DBG_ENABLE_CHECKS)
600 #define CH_DBG_ENABLE_CHECKS FALSE
601 #endif
602 
611 #if !defined(CH_DBG_ENABLE_ASSERTS)
612 #define CH_DBG_ENABLE_ASSERTS FALSE
613 #endif
614 
621 #if !defined(CH_DBG_TRACE_MASK)
622 #define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
623 #endif
624 
630 #if !defined(CH_DBG_TRACE_BUFFER_SIZE)
631 #define CH_DBG_TRACE_BUFFER_SIZE 128
632 #endif
633 
644 #if !defined(CH_DBG_ENABLE_STACK_CHECK)
645 #define CH_DBG_ENABLE_STACK_CHECK FALSE
646 #endif
647 
656 #if !defined(CH_DBG_FILL_THREADS)
657 #define CH_DBG_FILL_THREADS FALSE
658 #endif
659 
669 #if !defined(CH_DBG_THREADS_PROFILING)
670 #define CH_DBG_THREADS_PROFILING FALSE
671 #endif
672 
675 /*===========================================================================*/
680 /*===========================================================================*/
681 
686 #define CH_CFG_SYSTEM_EXTRA_FIELDS \
687  /* Add system custom fields here.*/
688 
694 #define CH_CFG_SYSTEM_INIT_HOOK() { \
695  /* Add system initialization code here.*/ \
696 }
697 
702 #define CH_CFG_OS_INSTANCE_EXTRA_FIELDS \
703  /* Add OS instance custom fields here.*/
704 
710 #define CH_CFG_OS_INSTANCE_INIT_HOOK(oip) { \
711  /* Add OS instance initialization code here.*/ \
712 }
713 
718 #define CH_CFG_THREAD_EXTRA_FIELDS \
719  /* Add threads custom fields here.*/
720 
730 #define CH_CFG_THREAD_INIT_HOOK(tp) { \
731  /* Add threads initialization code here.*/ \
732 }
733 
740 #define CH_CFG_THREAD_EXIT_HOOK(tp) { \
741  /* Add threads finalization code here.*/ \
742 }
743 
751 #define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
752  /* Context switch code here.*/ \
753 }
754 
758 #define CH_CFG_IRQ_PROLOGUE_HOOK() { \
759  /* IRQ prologue code here.*/ \
760 }
761 
765 #define CH_CFG_IRQ_EPILOGUE_HOOK() { \
766  /* IRQ epilogue code here.*/ \
767 }
768 
775 #define CH_CFG_IDLE_ENTER_HOOK() { \
776  /* Idle-enter code here.*/ \
777 }
778 
785 #define CH_CFG_IDLE_LEAVE_HOOK() { \
786  /* Idle-leave code here.*/ \
787 }
788 
793 #define CH_CFG_IDLE_LOOP_HOOK() { \
794  /* Idle loop code here.*/ \
795 }
796 
802 #define CH_CFG_SYSTEM_TICK_HOOK() { \
803  /* System tick event code here.*/ \
804 }
805 
811 #define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
812  /* System halt code here.*/ \
813 }
814 
820 #define CH_CFG_TRACE_HOOK(tep) { \
821  /* Trace code here.*/ \
822 }
823 
828 #define CH_CFG_RUNTIME_FAULTS_HOOK(mask) { \
829  /* Faults handling code here.*/ \
830 }
831 
834 /*===========================================================================*/
835 /* Port-specific settings (override port settings defaulted in chcore.h). */
836 /*===========================================================================*/
837 
838 // allow float for the ChibiOS print function (used with logger)
839 #define CHPRINTF_USE_FLOAT 1
840 
841 #endif /* CHCONF_H */
842