Merged in f5soh/librepilot/update_credits (pull request #529)
[librepilot.git] / flight / targets / boards / gpsplatinum / firmware / inc / FreeRTOSConfig.h
blob1fbc08e78a060eebc424579aab827ff667cc2f76
1 /*
2 FreeRTOS V8.0.0 - Copyright (C) 2014 Real Time Engineers Ltd.
3 All rights reserved
5 VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
7 ***************************************************************************
8 * *
9 * FreeRTOS provides completely free yet professionally developed, *
10 * robust, strictly quality controlled, supported, and cross *
11 * platform software that has become a de facto standard. *
12 * *
13 * Help yourself get started quickly and support the FreeRTOS *
14 * project by purchasing a FreeRTOS tutorial book, reference *
15 * manual, or both from: http://www.FreeRTOS.org/Documentation *
16 * *
17 * Thank you! *
18 * *
19 ***************************************************************************
21 This file is part of the FreeRTOS distribution.
23 FreeRTOS is free software; you can redistribute it and/or modify it under
24 the terms of the GNU General Public License (version 2) as published by the
25 Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
27 >>! NOTE: The modification to the GPL is included to allow you to distribute
28 >>! a combined work that includes FreeRTOS without being obliged to provide
29 >>! the source code for proprietary components outside of the FreeRTOS
30 >>! kernel.
32 FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
33 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
34 FOR A PARTICULAR PURPOSE. Full license text is available from the following
35 link: http://www.freertos.org/a00114.html
37 1 tab == 4 spaces!
39 ***************************************************************************
40 * *
41 * Having a problem? Start by reading the FAQ "My application does *
42 * not run, what could be wrong?" *
43 * *
44 * http://www.FreeRTOS.org/FAQHelp.html *
45 * *
46 ***************************************************************************
48 http://www.FreeRTOS.org - Documentation, books, training, latest versions,
49 license and Real Time Engineers Ltd. contact details.
51 http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
52 including FreeRTOS+Trace - an indispensable productivity tool, a DOS
53 compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
56 Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS
57 licenses offer ticketed support, indemnification and middleware.
59 http://www.SafeRTOS.com - High Integrity Systems also provide a safety
60 engineered and independently SIL3 certified version for use in safety and
61 mission critical applications that require provable dependability.
63 1 tab == 4 spaces!
67 #ifndef FREERTOS_CONFIG_H
68 #define FREERTOS_CONFIG_H
70 /*-----------------------------------------------------------
71 * Application specific definitions.
73 * These definitions should be adjusted for your particular hardware and
74 * application requirements.
76 * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
77 * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
79 * See http://www.freertos.org/a00110.html.
80 *----------------------------------------------------------*/
82 /**
83 * @addtogroup PIOS PIOS
84 * @{
85 * @addtogroup FreeRTOS FreeRTOS
86 * @{
89 /* Notes: We use 5 task priorities */
90 #define configUSE_PREEMPTION 1
91 #define configUSE_IDLE_HOOK 1
92 #define configUSE_TICK_HOOK 0
93 #define configCPU_CLOCK_HZ (48000000)
94 #define configTICK_RATE_HZ ((TickType_t)1000)
95 #define configMAX_PRIORITIES (5)
96 #define configMINIMAL_STACK_SIZE ((unsigned short)40)
97 #define configTOTAL_HEAP_SIZE ((size_t)(2048))
98 #define configMAX_TASK_NAME_LEN (5)
99 #define configUSE_TRACE_FACILITY 0
100 #define configUSE_16_BIT_TICKS 0
101 #define configIDLE_SHOULD_YIELD 1
102 #define configUSE_MUTEXES 1
103 #define configQUEUE_REGISTRY_SIZE 0
104 #define configCHECK_FOR_STACK_OVERFLOW 2
105 #define configUSE_RECURSIVE_MUTEXES 1
106 #define configUSE_MALLOC_FAILED_HOOK 1
107 #define configUSE_APPLICATION_TASK_TAG 0
108 #define configUSE_COUNTING_SEMAPHORES 1
109 #define configGENERATE_RUN_TIME_STATS 0
111 /* Co-routine definitions. */
112 #define configUSE_CO_ROUTINES 0
113 #define configMAX_CO_ROUTINE_PRIORITIES (2)
115 /* Software timer definitions. */
116 #define configUSE_TIMERS 0
117 #define configTIMER_TASK_PRIORITY (2)
118 #define configTIMER_QUEUE_LENGTH 5
119 #define configTIMER_TASK_STACK_DEPTH (80)
121 /* Set the following definitions to 1 to include the API function, or zero
122 to exclude the API function. */
124 #define INCLUDE_vTaskPrioritySet 1
125 #define INCLUDE_uxTaskPriorityGet 1
126 #define INCLUDE_vTaskDelete 1
127 #define INCLUDE_vTaskCleanUpResources 0
128 #define INCLUDE_vTaskSuspend 1
129 #define INCLUDE_vTaskDelayUntil 1
130 #define INCLUDE_vTaskDelay 1
131 #define INCLUDE_xTaskGetSchedulerState 1
132 #define INCLUDE_xTaskGetCurrentTaskHandle 1
133 #define INCLUDE_uxTaskGetStackHighWaterMark 1
135 /* This is the raw value as per the Cortex-M3 NVIC. Values can be 255
136 (lowest) to 1 (highest maskable) to 0 (highest non-maskable). */
137 #define configKERNEL_INTERRUPT_PRIORITY 15 << 4 /* equivalent to NVIC priority 15 */
138 #define configMAX_SYSCALL_INTERRUPT_PRIORITY 3 << 4 /* equivalent to NVIC priority 3 */
140 /* This is the value being used as per the ST library which permits 16
141 priority values, 0 to 15. This must correspond to the
142 configKERNEL_INTERRUPT_PRIORITY setting. Here 15 corresponds to the lowest
143 NVIC value of 255. */
144 #define configLIBRARY_KERNEL_INTERRUPT_PRIORITY 15
147 /* Enable run time stats collection */
148 #define configGENERATE_RUN_TIME_STATS 0
149 #define INCLUDE_uxTaskGetRunTime 0
150 #define INCLUDE_xTaskGetIdleTaskHandle 1
153 /* Normal assert() semantics without relying on the provision of an assert.h
154 header file. */
155 #define configASSERT(x) \
156 if ((x) == 0) { taskDISABLE_INTERRUPTS(); for (;;) {; } \
159 /* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS
160 standard names - or at least those used in the unmodified vector table. */
161 #define vPortSVCHandler SVC_Handler
162 #define xPortPendSVHandler PendSV_Handler
163 #define xPortSysTickHandler SysTick_Handler
166 * @}
169 #endif /* FREERTOS_CONFIG_H */