www.freertos.org

Dependents:   mbed_freeRTOS_send

Fork of FreeRTOS by Rohit Grover

Committer:
rgrover1
Date:
Fri Jan 24 14:56:04 2014 +0000
Revision:
0:8e57f3e9cc89
Making FreeRTOS available as a library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rgrover1 0:8e57f3e9cc89 1 /*
rgrover1 0:8e57f3e9cc89 2 FreeRTOS V7.6.0 - Copyright (C) 2013 Real Time Engineers Ltd.
rgrover1 0:8e57f3e9cc89 3 All rights reserved
rgrover1 0:8e57f3e9cc89 4
rgrover1 0:8e57f3e9cc89 5 VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
rgrover1 0:8e57f3e9cc89 6
rgrover1 0:8e57f3e9cc89 7 ***************************************************************************
rgrover1 0:8e57f3e9cc89 8 * *
rgrover1 0:8e57f3e9cc89 9 * FreeRTOS provides completely free yet professionally developed, *
rgrover1 0:8e57f3e9cc89 10 * robust, strictly quality controlled, supported, and cross *
rgrover1 0:8e57f3e9cc89 11 * platform software that has become a de facto standard. *
rgrover1 0:8e57f3e9cc89 12 * *
rgrover1 0:8e57f3e9cc89 13 * Help yourself get started quickly and support the FreeRTOS *
rgrover1 0:8e57f3e9cc89 14 * project by purchasing a FreeRTOS tutorial book, reference *
rgrover1 0:8e57f3e9cc89 15 * manual, or both from: http://www.FreeRTOS.org/Documentation *
rgrover1 0:8e57f3e9cc89 16 * *
rgrover1 0:8e57f3e9cc89 17 * Thank you! *
rgrover1 0:8e57f3e9cc89 18 * *
rgrover1 0:8e57f3e9cc89 19 ***************************************************************************
rgrover1 0:8e57f3e9cc89 20
rgrover1 0:8e57f3e9cc89 21 This file is part of the FreeRTOS distribution.
rgrover1 0:8e57f3e9cc89 22
rgrover1 0:8e57f3e9cc89 23 FreeRTOS is free software; you can redistribute it and/or modify it under
rgrover1 0:8e57f3e9cc89 24 the terms of the GNU General Public License (version 2) as published by the
rgrover1 0:8e57f3e9cc89 25 Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
rgrover1 0:8e57f3e9cc89 26
rgrover1 0:8e57f3e9cc89 27 >>! NOTE: The modification to the GPL is included to allow you to distribute
rgrover1 0:8e57f3e9cc89 28 >>! a combined work that includes FreeRTOS without being obliged to provide
rgrover1 0:8e57f3e9cc89 29 >>! the source code for proprietary components outside of the FreeRTOS
rgrover1 0:8e57f3e9cc89 30 >>! kernel.
rgrover1 0:8e57f3e9cc89 31
rgrover1 0:8e57f3e9cc89 32 FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
rgrover1 0:8e57f3e9cc89 33 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
rgrover1 0:8e57f3e9cc89 34 FOR A PARTICULAR PURPOSE. Full license text is available from the following
rgrover1 0:8e57f3e9cc89 35 link: http://www.freertos.org/a00114.html
rgrover1 0:8e57f3e9cc89 36
rgrover1 0:8e57f3e9cc89 37 1 tab == 4 spaces!
rgrover1 0:8e57f3e9cc89 38
rgrover1 0:8e57f3e9cc89 39 ***************************************************************************
rgrover1 0:8e57f3e9cc89 40 * *
rgrover1 0:8e57f3e9cc89 41 * Having a problem? Start by reading the FAQ "My application does *
rgrover1 0:8e57f3e9cc89 42 * not run, what could be wrong?" *
rgrover1 0:8e57f3e9cc89 43 * *
rgrover1 0:8e57f3e9cc89 44 * http://www.FreeRTOS.org/FAQHelp.html *
rgrover1 0:8e57f3e9cc89 45 * *
rgrover1 0:8e57f3e9cc89 46 ***************************************************************************
rgrover1 0:8e57f3e9cc89 47
rgrover1 0:8e57f3e9cc89 48 http://www.FreeRTOS.org - Documentation, books, training, latest versions,
rgrover1 0:8e57f3e9cc89 49 license and Real Time Engineers Ltd. contact details.
rgrover1 0:8e57f3e9cc89 50
rgrover1 0:8e57f3e9cc89 51 http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
rgrover1 0:8e57f3e9cc89 52 including FreeRTOS+Trace - an indispensable productivity tool, a DOS
rgrover1 0:8e57f3e9cc89 53 compatible FAT file system, and our tiny thread aware UDP/IP stack.
rgrover1 0:8e57f3e9cc89 54
rgrover1 0:8e57f3e9cc89 55 http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
rgrover1 0:8e57f3e9cc89 56 Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS
rgrover1 0:8e57f3e9cc89 57 licenses offer ticketed support, indemnification and middleware.
rgrover1 0:8e57f3e9cc89 58
rgrover1 0:8e57f3e9cc89 59 http://www.SafeRTOS.com - High Integrity Systems also provide a safety
rgrover1 0:8e57f3e9cc89 60 engineered and independently SIL3 certified version for use in safety and
rgrover1 0:8e57f3e9cc89 61 mission critical applications that require provable dependability.
rgrover1 0:8e57f3e9cc89 62
rgrover1 0:8e57f3e9cc89 63 1 tab == 4 spaces!
rgrover1 0:8e57f3e9cc89 64 */
rgrover1 0:8e57f3e9cc89 65
rgrover1 0:8e57f3e9cc89 66 #ifndef INC_FREERTOS_H
rgrover1 0:8e57f3e9cc89 67 #define INC_FREERTOS_H
rgrover1 0:8e57f3e9cc89 68
rgrover1 0:8e57f3e9cc89 69
rgrover1 0:8e57f3e9cc89 70 /*
rgrover1 0:8e57f3e9cc89 71 * Include the generic headers required for the FreeRTOS port being used.
rgrover1 0:8e57f3e9cc89 72 */
rgrover1 0:8e57f3e9cc89 73 #include <stddef.h>
rgrover1 0:8e57f3e9cc89 74
rgrover1 0:8e57f3e9cc89 75 /* Basic FreeRTOS definitions. */
rgrover1 0:8e57f3e9cc89 76 #include "projdefs.h"
rgrover1 0:8e57f3e9cc89 77
rgrover1 0:8e57f3e9cc89 78 /* Application specific configuration options. */
rgrover1 0:8e57f3e9cc89 79 #include "FreeRTOSConfig.h"
rgrover1 0:8e57f3e9cc89 80
rgrover1 0:8e57f3e9cc89 81 /* configUSE_PORT_OPTIMISED_TASK_SELECTION must be defined before portable.h
rgrover1 0:8e57f3e9cc89 82 is included as it is used by the port layer. */
rgrover1 0:8e57f3e9cc89 83 #ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION
rgrover1 0:8e57f3e9cc89 84 #define configUSE_PORT_OPTIMISED_TASK_SELECTION 0
rgrover1 0:8e57f3e9cc89 85 #endif
rgrover1 0:8e57f3e9cc89 86
rgrover1 0:8e57f3e9cc89 87 /* Definitions specific to the port being used. */
rgrover1 0:8e57f3e9cc89 88 #include "portable.h"
rgrover1 0:8e57f3e9cc89 89
rgrover1 0:8e57f3e9cc89 90
rgrover1 0:8e57f3e9cc89 91 /* Defines the prototype to which the application task hook function must
rgrover1 0:8e57f3e9cc89 92 conform. */
rgrover1 0:8e57f3e9cc89 93 typedef portBASE_TYPE (*pdTASK_HOOK_CODE)( void * );
rgrover1 0:8e57f3e9cc89 94
rgrover1 0:8e57f3e9cc89 95
rgrover1 0:8e57f3e9cc89 96
rgrover1 0:8e57f3e9cc89 97
rgrover1 0:8e57f3e9cc89 98
rgrover1 0:8e57f3e9cc89 99 /*
rgrover1 0:8e57f3e9cc89 100 * Check all the required application specific macros have been defined.
rgrover1 0:8e57f3e9cc89 101 * These macros are application specific and (as downloaded) are defined
rgrover1 0:8e57f3e9cc89 102 * within FreeRTOSConfig.h.
rgrover1 0:8e57f3e9cc89 103 */
rgrover1 0:8e57f3e9cc89 104
rgrover1 0:8e57f3e9cc89 105 #ifndef configUSE_PREEMPTION
rgrover1 0:8e57f3e9cc89 106 #error Missing definition: configUSE_PREEMPTION should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
rgrover1 0:8e57f3e9cc89 107 #endif
rgrover1 0:8e57f3e9cc89 108
rgrover1 0:8e57f3e9cc89 109 #ifndef configUSE_IDLE_HOOK
rgrover1 0:8e57f3e9cc89 110 #error Missing definition: configUSE_IDLE_HOOK should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
rgrover1 0:8e57f3e9cc89 111 #endif
rgrover1 0:8e57f3e9cc89 112
rgrover1 0:8e57f3e9cc89 113 #ifndef configUSE_TICK_HOOK
rgrover1 0:8e57f3e9cc89 114 #error Missing definition: configUSE_TICK_HOOK should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
rgrover1 0:8e57f3e9cc89 115 #endif
rgrover1 0:8e57f3e9cc89 116
rgrover1 0:8e57f3e9cc89 117 #ifndef configUSE_CO_ROUTINES
rgrover1 0:8e57f3e9cc89 118 #error Missing definition: configUSE_CO_ROUTINES should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
rgrover1 0:8e57f3e9cc89 119 #endif
rgrover1 0:8e57f3e9cc89 120
rgrover1 0:8e57f3e9cc89 121 #ifndef INCLUDE_vTaskPrioritySet
rgrover1 0:8e57f3e9cc89 122 #error Missing definition: INCLUDE_vTaskPrioritySet should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
rgrover1 0:8e57f3e9cc89 123 #endif
rgrover1 0:8e57f3e9cc89 124
rgrover1 0:8e57f3e9cc89 125 #ifndef INCLUDE_uxTaskPriorityGet
rgrover1 0:8e57f3e9cc89 126 #error Missing definition: INCLUDE_uxTaskPriorityGet should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
rgrover1 0:8e57f3e9cc89 127 #endif
rgrover1 0:8e57f3e9cc89 128
rgrover1 0:8e57f3e9cc89 129 #ifndef INCLUDE_vTaskDelete
rgrover1 0:8e57f3e9cc89 130 #error Missing definition: INCLUDE_vTaskDelete should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
rgrover1 0:8e57f3e9cc89 131 #endif
rgrover1 0:8e57f3e9cc89 132
rgrover1 0:8e57f3e9cc89 133 #ifndef INCLUDE_vTaskSuspend
rgrover1 0:8e57f3e9cc89 134 #error Missing definition: INCLUDE_vTaskSuspend should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
rgrover1 0:8e57f3e9cc89 135 #endif
rgrover1 0:8e57f3e9cc89 136
rgrover1 0:8e57f3e9cc89 137 #ifndef INCLUDE_vTaskDelayUntil
rgrover1 0:8e57f3e9cc89 138 #error Missing definition: INCLUDE_vTaskDelayUntil should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
rgrover1 0:8e57f3e9cc89 139 #endif
rgrover1 0:8e57f3e9cc89 140
rgrover1 0:8e57f3e9cc89 141 #ifndef INCLUDE_vTaskDelay
rgrover1 0:8e57f3e9cc89 142 #error Missing definition: INCLUDE_vTaskDelay should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
rgrover1 0:8e57f3e9cc89 143 #endif
rgrover1 0:8e57f3e9cc89 144
rgrover1 0:8e57f3e9cc89 145 #ifndef configUSE_16_BIT_TICKS
rgrover1 0:8e57f3e9cc89 146 #error Missing definition: configUSE_16_BIT_TICKS should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
rgrover1 0:8e57f3e9cc89 147 #endif
rgrover1 0:8e57f3e9cc89 148
rgrover1 0:8e57f3e9cc89 149 #ifndef INCLUDE_xTaskGetIdleTaskHandle
rgrover1 0:8e57f3e9cc89 150 #define INCLUDE_xTaskGetIdleTaskHandle 0
rgrover1 0:8e57f3e9cc89 151 #endif
rgrover1 0:8e57f3e9cc89 152
rgrover1 0:8e57f3e9cc89 153 #ifndef INCLUDE_xTimerGetTimerDaemonTaskHandle
rgrover1 0:8e57f3e9cc89 154 #define INCLUDE_xTimerGetTimerDaemonTaskHandle 0
rgrover1 0:8e57f3e9cc89 155 #endif
rgrover1 0:8e57f3e9cc89 156
rgrover1 0:8e57f3e9cc89 157 #ifndef INCLUDE_xQueueGetMutexHolder
rgrover1 0:8e57f3e9cc89 158 #define INCLUDE_xQueueGetMutexHolder 0
rgrover1 0:8e57f3e9cc89 159 #endif
rgrover1 0:8e57f3e9cc89 160
rgrover1 0:8e57f3e9cc89 161 #ifndef INCLUDE_xSemaphoreGetMutexHolder
rgrover1 0:8e57f3e9cc89 162 #define INCLUDE_xSemaphoreGetMutexHolder INCLUDE_xQueueGetMutexHolder
rgrover1 0:8e57f3e9cc89 163 #endif
rgrover1 0:8e57f3e9cc89 164
rgrover1 0:8e57f3e9cc89 165 #ifndef INCLUDE_pcTaskGetTaskName
rgrover1 0:8e57f3e9cc89 166 #define INCLUDE_pcTaskGetTaskName 0
rgrover1 0:8e57f3e9cc89 167 #endif
rgrover1 0:8e57f3e9cc89 168
rgrover1 0:8e57f3e9cc89 169 #ifndef configUSE_APPLICATION_TASK_TAG
rgrover1 0:8e57f3e9cc89 170 #define configUSE_APPLICATION_TASK_TAG 0
rgrover1 0:8e57f3e9cc89 171 #endif
rgrover1 0:8e57f3e9cc89 172
rgrover1 0:8e57f3e9cc89 173 #ifndef INCLUDE_uxTaskGetStackHighWaterMark
rgrover1 0:8e57f3e9cc89 174 #define INCLUDE_uxTaskGetStackHighWaterMark 0
rgrover1 0:8e57f3e9cc89 175 #endif
rgrover1 0:8e57f3e9cc89 176
rgrover1 0:8e57f3e9cc89 177 #ifndef INCLUDE_eTaskGetState
rgrover1 0:8e57f3e9cc89 178 #define INCLUDE_eTaskGetState 0
rgrover1 0:8e57f3e9cc89 179 #endif
rgrover1 0:8e57f3e9cc89 180
rgrover1 0:8e57f3e9cc89 181 #ifndef configUSE_RECURSIVE_MUTEXES
rgrover1 0:8e57f3e9cc89 182 #define configUSE_RECURSIVE_MUTEXES 0
rgrover1 0:8e57f3e9cc89 183 #endif
rgrover1 0:8e57f3e9cc89 184
rgrover1 0:8e57f3e9cc89 185 #ifndef configUSE_MUTEXES
rgrover1 0:8e57f3e9cc89 186 #define configUSE_MUTEXES 0
rgrover1 0:8e57f3e9cc89 187 #endif
rgrover1 0:8e57f3e9cc89 188
rgrover1 0:8e57f3e9cc89 189 #ifndef configUSE_TIMERS
rgrover1 0:8e57f3e9cc89 190 #define configUSE_TIMERS 0
rgrover1 0:8e57f3e9cc89 191 #endif
rgrover1 0:8e57f3e9cc89 192
rgrover1 0:8e57f3e9cc89 193 #ifndef configUSE_COUNTING_SEMAPHORES
rgrover1 0:8e57f3e9cc89 194 #define configUSE_COUNTING_SEMAPHORES 0
rgrover1 0:8e57f3e9cc89 195 #endif
rgrover1 0:8e57f3e9cc89 196
rgrover1 0:8e57f3e9cc89 197 #ifndef configUSE_ALTERNATIVE_API
rgrover1 0:8e57f3e9cc89 198 #define configUSE_ALTERNATIVE_API 0
rgrover1 0:8e57f3e9cc89 199 #endif
rgrover1 0:8e57f3e9cc89 200
rgrover1 0:8e57f3e9cc89 201 #ifndef portCRITICAL_NESTING_IN_TCB
rgrover1 0:8e57f3e9cc89 202 #define portCRITICAL_NESTING_IN_TCB 0
rgrover1 0:8e57f3e9cc89 203 #endif
rgrover1 0:8e57f3e9cc89 204
rgrover1 0:8e57f3e9cc89 205 #ifndef configMAX_TASK_NAME_LEN
rgrover1 0:8e57f3e9cc89 206 #define configMAX_TASK_NAME_LEN 16
rgrover1 0:8e57f3e9cc89 207 #endif
rgrover1 0:8e57f3e9cc89 208
rgrover1 0:8e57f3e9cc89 209 #ifndef configIDLE_SHOULD_YIELD
rgrover1 0:8e57f3e9cc89 210 #define configIDLE_SHOULD_YIELD 1
rgrover1 0:8e57f3e9cc89 211 #endif
rgrover1 0:8e57f3e9cc89 212
rgrover1 0:8e57f3e9cc89 213 #if configMAX_TASK_NAME_LEN < 1
rgrover1 0:8e57f3e9cc89 214 #error configMAX_TASK_NAME_LEN must be set to a minimum of 1 in FreeRTOSConfig.h
rgrover1 0:8e57f3e9cc89 215 #endif
rgrover1 0:8e57f3e9cc89 216
rgrover1 0:8e57f3e9cc89 217 #ifndef INCLUDE_xTaskResumeFromISR
rgrover1 0:8e57f3e9cc89 218 #define INCLUDE_xTaskResumeFromISR 1
rgrover1 0:8e57f3e9cc89 219 #endif
rgrover1 0:8e57f3e9cc89 220
rgrover1 0:8e57f3e9cc89 221 #ifndef configASSERT
rgrover1 0:8e57f3e9cc89 222 #define configASSERT( x )
rgrover1 0:8e57f3e9cc89 223 #define configASSERT_DEFINED 0
rgrover1 0:8e57f3e9cc89 224 #else
rgrover1 0:8e57f3e9cc89 225 #define configASSERT_DEFINED 1
rgrover1 0:8e57f3e9cc89 226 #endif
rgrover1 0:8e57f3e9cc89 227
rgrover1 0:8e57f3e9cc89 228 /* The timers module relies on xTaskGetSchedulerState(). */
rgrover1 0:8e57f3e9cc89 229 #if configUSE_TIMERS == 1
rgrover1 0:8e57f3e9cc89 230
rgrover1 0:8e57f3e9cc89 231 #ifndef configTIMER_TASK_PRIORITY
rgrover1 0:8e57f3e9cc89 232 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_PRIORITY must also be defined.
rgrover1 0:8e57f3e9cc89 233 #endif /* configTIMER_TASK_PRIORITY */
rgrover1 0:8e57f3e9cc89 234
rgrover1 0:8e57f3e9cc89 235 #ifndef configTIMER_QUEUE_LENGTH
rgrover1 0:8e57f3e9cc89 236 #error If configUSE_TIMERS is set to 1 then configTIMER_QUEUE_LENGTH must also be defined.
rgrover1 0:8e57f3e9cc89 237 #endif /* configTIMER_QUEUE_LENGTH */
rgrover1 0:8e57f3e9cc89 238
rgrover1 0:8e57f3e9cc89 239 #ifndef configTIMER_TASK_STACK_DEPTH
rgrover1 0:8e57f3e9cc89 240 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_STACK_DEPTH must also be defined.
rgrover1 0:8e57f3e9cc89 241 #endif /* configTIMER_TASK_STACK_DEPTH */
rgrover1 0:8e57f3e9cc89 242
rgrover1 0:8e57f3e9cc89 243 #endif /* configUSE_TIMERS */
rgrover1 0:8e57f3e9cc89 244
rgrover1 0:8e57f3e9cc89 245 #ifndef INCLUDE_xTaskGetSchedulerState
rgrover1 0:8e57f3e9cc89 246 #define INCLUDE_xTaskGetSchedulerState 0
rgrover1 0:8e57f3e9cc89 247 #endif
rgrover1 0:8e57f3e9cc89 248
rgrover1 0:8e57f3e9cc89 249 #ifndef INCLUDE_xTaskGetCurrentTaskHandle
rgrover1 0:8e57f3e9cc89 250 #define INCLUDE_xTaskGetCurrentTaskHandle 0
rgrover1 0:8e57f3e9cc89 251 #endif
rgrover1 0:8e57f3e9cc89 252
rgrover1 0:8e57f3e9cc89 253
rgrover1 0:8e57f3e9cc89 254 #ifndef portSET_INTERRUPT_MASK_FROM_ISR
rgrover1 0:8e57f3e9cc89 255 #define portSET_INTERRUPT_MASK_FROM_ISR() 0
rgrover1 0:8e57f3e9cc89 256 #endif
rgrover1 0:8e57f3e9cc89 257
rgrover1 0:8e57f3e9cc89 258 #ifndef portCLEAR_INTERRUPT_MASK_FROM_ISR
rgrover1 0:8e57f3e9cc89 259 #define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusValue ) ( void ) uxSavedStatusValue
rgrover1 0:8e57f3e9cc89 260 #endif
rgrover1 0:8e57f3e9cc89 261
rgrover1 0:8e57f3e9cc89 262 #ifndef portCLEAN_UP_TCB
rgrover1 0:8e57f3e9cc89 263 #define portCLEAN_UP_TCB( pxTCB ) ( void ) pxTCB
rgrover1 0:8e57f3e9cc89 264 #endif
rgrover1 0:8e57f3e9cc89 265
rgrover1 0:8e57f3e9cc89 266 #ifndef portSETUP_TCB
rgrover1 0:8e57f3e9cc89 267 #define portSETUP_TCB( pxTCB ) ( void ) pxTCB
rgrover1 0:8e57f3e9cc89 268 #endif
rgrover1 0:8e57f3e9cc89 269
rgrover1 0:8e57f3e9cc89 270 #ifndef configQUEUE_REGISTRY_SIZE
rgrover1 0:8e57f3e9cc89 271 #define configQUEUE_REGISTRY_SIZE 0U
rgrover1 0:8e57f3e9cc89 272 #endif
rgrover1 0:8e57f3e9cc89 273
rgrover1 0:8e57f3e9cc89 274 #if ( configQUEUE_REGISTRY_SIZE < 1 )
rgrover1 0:8e57f3e9cc89 275 #define vQueueAddToRegistry( xQueue, pcName )
rgrover1 0:8e57f3e9cc89 276 #define vQueueUnregisterQueue( xQueue )
rgrover1 0:8e57f3e9cc89 277 #endif
rgrover1 0:8e57f3e9cc89 278
rgrover1 0:8e57f3e9cc89 279 #ifndef portPOINTER_SIZE_TYPE
rgrover1 0:8e57f3e9cc89 280 #define portPOINTER_SIZE_TYPE unsigned long
rgrover1 0:8e57f3e9cc89 281 #endif
rgrover1 0:8e57f3e9cc89 282
rgrover1 0:8e57f3e9cc89 283 /* Remove any unused trace macros. */
rgrover1 0:8e57f3e9cc89 284 #ifndef traceSTART
rgrover1 0:8e57f3e9cc89 285 /* Used to perform any necessary initialisation - for example, open a file
rgrover1 0:8e57f3e9cc89 286 into which trace is to be written. */
rgrover1 0:8e57f3e9cc89 287 #define traceSTART()
rgrover1 0:8e57f3e9cc89 288 #endif
rgrover1 0:8e57f3e9cc89 289
rgrover1 0:8e57f3e9cc89 290 #ifndef traceEND
rgrover1 0:8e57f3e9cc89 291 /* Use to close a trace, for example close a file into which trace has been
rgrover1 0:8e57f3e9cc89 292 written. */
rgrover1 0:8e57f3e9cc89 293 #define traceEND()
rgrover1 0:8e57f3e9cc89 294 #endif
rgrover1 0:8e57f3e9cc89 295
rgrover1 0:8e57f3e9cc89 296 #ifndef traceTASK_SWITCHED_IN
rgrover1 0:8e57f3e9cc89 297 /* Called after a task has been selected to run. pxCurrentTCB holds a pointer
rgrover1 0:8e57f3e9cc89 298 to the task control block of the selected task. */
rgrover1 0:8e57f3e9cc89 299 #define traceTASK_SWITCHED_IN()
rgrover1 0:8e57f3e9cc89 300 #endif
rgrover1 0:8e57f3e9cc89 301
rgrover1 0:8e57f3e9cc89 302 #ifndef traceINCREASE_TICK_COUNT
rgrover1 0:8e57f3e9cc89 303 /* Called before stepping the tick count after waking from tickless idle
rgrover1 0:8e57f3e9cc89 304 sleep. */
rgrover1 0:8e57f3e9cc89 305 #define traceINCREASE_TICK_COUNT( x )
rgrover1 0:8e57f3e9cc89 306 #endif
rgrover1 0:8e57f3e9cc89 307
rgrover1 0:8e57f3e9cc89 308 #ifndef traceLOW_POWER_IDLE_BEGIN
rgrover1 0:8e57f3e9cc89 309 /* Called immediately before entering tickless idle. */
rgrover1 0:8e57f3e9cc89 310 #define traceLOW_POWER_IDLE_BEGIN()
rgrover1 0:8e57f3e9cc89 311 #endif
rgrover1 0:8e57f3e9cc89 312
rgrover1 0:8e57f3e9cc89 313 #ifndef traceLOW_POWER_IDLE_END
rgrover1 0:8e57f3e9cc89 314 /* Called when returning to the Idle task after a tickless idle. */
rgrover1 0:8e57f3e9cc89 315 #define traceLOW_POWER_IDLE_END()
rgrover1 0:8e57f3e9cc89 316 #endif
rgrover1 0:8e57f3e9cc89 317
rgrover1 0:8e57f3e9cc89 318 #ifndef traceTASK_SWITCHED_OUT
rgrover1 0:8e57f3e9cc89 319 /* Called before a task has been selected to run. pxCurrentTCB holds a pointer
rgrover1 0:8e57f3e9cc89 320 to the task control block of the task being switched out. */
rgrover1 0:8e57f3e9cc89 321 #define traceTASK_SWITCHED_OUT()
rgrover1 0:8e57f3e9cc89 322 #endif
rgrover1 0:8e57f3e9cc89 323
rgrover1 0:8e57f3e9cc89 324 #ifndef traceTASK_PRIORITY_INHERIT
rgrover1 0:8e57f3e9cc89 325 /* Called when a task attempts to take a mutex that is already held by a
rgrover1 0:8e57f3e9cc89 326 lower priority task. pxTCBOfMutexHolder is a pointer to the TCB of the task
rgrover1 0:8e57f3e9cc89 327 that holds the mutex. uxInheritedPriority is the priority the mutex holder
rgrover1 0:8e57f3e9cc89 328 will inherit (the priority of the task that is attempting to obtain the
rgrover1 0:8e57f3e9cc89 329 muted. */
rgrover1 0:8e57f3e9cc89 330 #define traceTASK_PRIORITY_INHERIT( pxTCBOfMutexHolder, uxInheritedPriority )
rgrover1 0:8e57f3e9cc89 331 #endif
rgrover1 0:8e57f3e9cc89 332
rgrover1 0:8e57f3e9cc89 333 #ifndef traceTASK_PRIORITY_DISINHERIT
rgrover1 0:8e57f3e9cc89 334 /* Called when a task releases a mutex, the holding of which had resulted in
rgrover1 0:8e57f3e9cc89 335 the task inheriting the priority of a higher priority task.
rgrover1 0:8e57f3e9cc89 336 pxTCBOfMutexHolder is a pointer to the TCB of the task that is releasing the
rgrover1 0:8e57f3e9cc89 337 mutex. uxOriginalPriority is the task's configured (base) priority. */
rgrover1 0:8e57f3e9cc89 338 #define traceTASK_PRIORITY_DISINHERIT( pxTCBOfMutexHolder, uxOriginalPriority )
rgrover1 0:8e57f3e9cc89 339 #endif
rgrover1 0:8e57f3e9cc89 340
rgrover1 0:8e57f3e9cc89 341 #ifndef traceBLOCKING_ON_QUEUE_RECEIVE
rgrover1 0:8e57f3e9cc89 342 /* Task is about to block because it cannot read from a
rgrover1 0:8e57f3e9cc89 343 queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore
rgrover1 0:8e57f3e9cc89 344 upon which the read was attempted. pxCurrentTCB points to the TCB of the
rgrover1 0:8e57f3e9cc89 345 task that attempted the read. */
rgrover1 0:8e57f3e9cc89 346 #define traceBLOCKING_ON_QUEUE_RECEIVE( pxQueue )
rgrover1 0:8e57f3e9cc89 347 #endif
rgrover1 0:8e57f3e9cc89 348
rgrover1 0:8e57f3e9cc89 349 #ifndef traceBLOCKING_ON_QUEUE_SEND
rgrover1 0:8e57f3e9cc89 350 /* Task is about to block because it cannot write to a
rgrover1 0:8e57f3e9cc89 351 queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore
rgrover1 0:8e57f3e9cc89 352 upon which the write was attempted. pxCurrentTCB points to the TCB of the
rgrover1 0:8e57f3e9cc89 353 task that attempted the write. */
rgrover1 0:8e57f3e9cc89 354 #define traceBLOCKING_ON_QUEUE_SEND( pxQueue )
rgrover1 0:8e57f3e9cc89 355 #endif
rgrover1 0:8e57f3e9cc89 356
rgrover1 0:8e57f3e9cc89 357 #ifndef configCHECK_FOR_STACK_OVERFLOW
rgrover1 0:8e57f3e9cc89 358 #define configCHECK_FOR_STACK_OVERFLOW 0
rgrover1 0:8e57f3e9cc89 359 #endif
rgrover1 0:8e57f3e9cc89 360
rgrover1 0:8e57f3e9cc89 361 /* The following event macros are embedded in the kernel API calls. */
rgrover1 0:8e57f3e9cc89 362
rgrover1 0:8e57f3e9cc89 363 #ifndef traceMOVED_TASK_TO_READY_STATE
rgrover1 0:8e57f3e9cc89 364 #define traceMOVED_TASK_TO_READY_STATE( pxTCB )
rgrover1 0:8e57f3e9cc89 365 #endif
rgrover1 0:8e57f3e9cc89 366
rgrover1 0:8e57f3e9cc89 367 #ifndef traceQUEUE_CREATE
rgrover1 0:8e57f3e9cc89 368 #define traceQUEUE_CREATE( pxNewQueue )
rgrover1 0:8e57f3e9cc89 369 #endif
rgrover1 0:8e57f3e9cc89 370
rgrover1 0:8e57f3e9cc89 371 #ifndef traceQUEUE_CREATE_FAILED
rgrover1 0:8e57f3e9cc89 372 #define traceQUEUE_CREATE_FAILED( ucQueueType )
rgrover1 0:8e57f3e9cc89 373 #endif
rgrover1 0:8e57f3e9cc89 374
rgrover1 0:8e57f3e9cc89 375 #ifndef traceCREATE_MUTEX
rgrover1 0:8e57f3e9cc89 376 #define traceCREATE_MUTEX( pxNewQueue )
rgrover1 0:8e57f3e9cc89 377 #endif
rgrover1 0:8e57f3e9cc89 378
rgrover1 0:8e57f3e9cc89 379 #ifndef traceCREATE_MUTEX_FAILED
rgrover1 0:8e57f3e9cc89 380 #define traceCREATE_MUTEX_FAILED()
rgrover1 0:8e57f3e9cc89 381 #endif
rgrover1 0:8e57f3e9cc89 382
rgrover1 0:8e57f3e9cc89 383 #ifndef traceGIVE_MUTEX_RECURSIVE
rgrover1 0:8e57f3e9cc89 384 #define traceGIVE_MUTEX_RECURSIVE( pxMutex )
rgrover1 0:8e57f3e9cc89 385 #endif
rgrover1 0:8e57f3e9cc89 386
rgrover1 0:8e57f3e9cc89 387 #ifndef traceGIVE_MUTEX_RECURSIVE_FAILED
rgrover1 0:8e57f3e9cc89 388 #define traceGIVE_MUTEX_RECURSIVE_FAILED( pxMutex )
rgrover1 0:8e57f3e9cc89 389 #endif
rgrover1 0:8e57f3e9cc89 390
rgrover1 0:8e57f3e9cc89 391 #ifndef traceTAKE_MUTEX_RECURSIVE
rgrover1 0:8e57f3e9cc89 392 #define traceTAKE_MUTEX_RECURSIVE( pxMutex )
rgrover1 0:8e57f3e9cc89 393 #endif
rgrover1 0:8e57f3e9cc89 394
rgrover1 0:8e57f3e9cc89 395 #ifndef traceTAKE_MUTEX_RECURSIVE_FAILED
rgrover1 0:8e57f3e9cc89 396 #define traceTAKE_MUTEX_RECURSIVE_FAILED( pxMutex )
rgrover1 0:8e57f3e9cc89 397 #endif
rgrover1 0:8e57f3e9cc89 398
rgrover1 0:8e57f3e9cc89 399 #ifndef traceCREATE_COUNTING_SEMAPHORE
rgrover1 0:8e57f3e9cc89 400 #define traceCREATE_COUNTING_SEMAPHORE()
rgrover1 0:8e57f3e9cc89 401 #endif
rgrover1 0:8e57f3e9cc89 402
rgrover1 0:8e57f3e9cc89 403 #ifndef traceCREATE_COUNTING_SEMAPHORE_FAILED
rgrover1 0:8e57f3e9cc89 404 #define traceCREATE_COUNTING_SEMAPHORE_FAILED()
rgrover1 0:8e57f3e9cc89 405 #endif
rgrover1 0:8e57f3e9cc89 406
rgrover1 0:8e57f3e9cc89 407 #ifndef traceQUEUE_SEND
rgrover1 0:8e57f3e9cc89 408 #define traceQUEUE_SEND( pxQueue )
rgrover1 0:8e57f3e9cc89 409 #endif
rgrover1 0:8e57f3e9cc89 410
rgrover1 0:8e57f3e9cc89 411 #ifndef traceQUEUE_SEND_FAILED
rgrover1 0:8e57f3e9cc89 412 #define traceQUEUE_SEND_FAILED( pxQueue )
rgrover1 0:8e57f3e9cc89 413 #endif
rgrover1 0:8e57f3e9cc89 414
rgrover1 0:8e57f3e9cc89 415 #ifndef traceQUEUE_RECEIVE
rgrover1 0:8e57f3e9cc89 416 #define traceQUEUE_RECEIVE( pxQueue )
rgrover1 0:8e57f3e9cc89 417 #endif
rgrover1 0:8e57f3e9cc89 418
rgrover1 0:8e57f3e9cc89 419 #ifndef traceQUEUE_PEEK
rgrover1 0:8e57f3e9cc89 420 #define traceQUEUE_PEEK( pxQueue )
rgrover1 0:8e57f3e9cc89 421 #endif
rgrover1 0:8e57f3e9cc89 422
rgrover1 0:8e57f3e9cc89 423 #ifndef traceQUEUE_PEEK_FROM_ISR
rgrover1 0:8e57f3e9cc89 424 #define traceQUEUE_PEEK_FROM_ISR( pxQueue )
rgrover1 0:8e57f3e9cc89 425 #endif
rgrover1 0:8e57f3e9cc89 426
rgrover1 0:8e57f3e9cc89 427 #ifndef traceQUEUE_RECEIVE_FAILED
rgrover1 0:8e57f3e9cc89 428 #define traceQUEUE_RECEIVE_FAILED( pxQueue )
rgrover1 0:8e57f3e9cc89 429 #endif
rgrover1 0:8e57f3e9cc89 430
rgrover1 0:8e57f3e9cc89 431 #ifndef traceQUEUE_SEND_FROM_ISR
rgrover1 0:8e57f3e9cc89 432 #define traceQUEUE_SEND_FROM_ISR( pxQueue )
rgrover1 0:8e57f3e9cc89 433 #endif
rgrover1 0:8e57f3e9cc89 434
rgrover1 0:8e57f3e9cc89 435 #ifndef traceQUEUE_SEND_FROM_ISR_FAILED
rgrover1 0:8e57f3e9cc89 436 #define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue )
rgrover1 0:8e57f3e9cc89 437 #endif
rgrover1 0:8e57f3e9cc89 438
rgrover1 0:8e57f3e9cc89 439 #ifndef traceQUEUE_RECEIVE_FROM_ISR
rgrover1 0:8e57f3e9cc89 440 #define traceQUEUE_RECEIVE_FROM_ISR( pxQueue )
rgrover1 0:8e57f3e9cc89 441 #endif
rgrover1 0:8e57f3e9cc89 442
rgrover1 0:8e57f3e9cc89 443 #ifndef traceQUEUE_RECEIVE_FROM_ISR_FAILED
rgrover1 0:8e57f3e9cc89 444 #define traceQUEUE_RECEIVE_FROM_ISR_FAILED( pxQueue )
rgrover1 0:8e57f3e9cc89 445 #endif
rgrover1 0:8e57f3e9cc89 446
rgrover1 0:8e57f3e9cc89 447 #ifndef traceQUEUE_PEEK_FROM_ISR_FAILED
rgrover1 0:8e57f3e9cc89 448 #define traceQUEUE_PEEK_FROM_ISR_FAILED( pxQueue )
rgrover1 0:8e57f3e9cc89 449 #endif
rgrover1 0:8e57f3e9cc89 450
rgrover1 0:8e57f3e9cc89 451 #ifndef traceQUEUE_DELETE
rgrover1 0:8e57f3e9cc89 452 #define traceQUEUE_DELETE( pxQueue )
rgrover1 0:8e57f3e9cc89 453 #endif
rgrover1 0:8e57f3e9cc89 454
rgrover1 0:8e57f3e9cc89 455 #ifndef traceTASK_CREATE
rgrover1 0:8e57f3e9cc89 456 #define traceTASK_CREATE( pxNewTCB )
rgrover1 0:8e57f3e9cc89 457 #endif
rgrover1 0:8e57f3e9cc89 458
rgrover1 0:8e57f3e9cc89 459 #ifndef traceTASK_CREATE_FAILED
rgrover1 0:8e57f3e9cc89 460 #define traceTASK_CREATE_FAILED()
rgrover1 0:8e57f3e9cc89 461 #endif
rgrover1 0:8e57f3e9cc89 462
rgrover1 0:8e57f3e9cc89 463 #ifndef traceTASK_DELETE
rgrover1 0:8e57f3e9cc89 464 #define traceTASK_DELETE( pxTaskToDelete )
rgrover1 0:8e57f3e9cc89 465 #endif
rgrover1 0:8e57f3e9cc89 466
rgrover1 0:8e57f3e9cc89 467 #ifndef traceTASK_DELAY_UNTIL
rgrover1 0:8e57f3e9cc89 468 #define traceTASK_DELAY_UNTIL()
rgrover1 0:8e57f3e9cc89 469 #endif
rgrover1 0:8e57f3e9cc89 470
rgrover1 0:8e57f3e9cc89 471 #ifndef traceTASK_DELAY
rgrover1 0:8e57f3e9cc89 472 #define traceTASK_DELAY()
rgrover1 0:8e57f3e9cc89 473 #endif
rgrover1 0:8e57f3e9cc89 474
rgrover1 0:8e57f3e9cc89 475 #ifndef traceTASK_PRIORITY_SET
rgrover1 0:8e57f3e9cc89 476 #define traceTASK_PRIORITY_SET( pxTask, uxNewPriority )
rgrover1 0:8e57f3e9cc89 477 #endif
rgrover1 0:8e57f3e9cc89 478
rgrover1 0:8e57f3e9cc89 479 #ifndef traceTASK_SUSPEND
rgrover1 0:8e57f3e9cc89 480 #define traceTASK_SUSPEND( pxTaskToSuspend )
rgrover1 0:8e57f3e9cc89 481 #endif
rgrover1 0:8e57f3e9cc89 482
rgrover1 0:8e57f3e9cc89 483 #ifndef traceTASK_RESUME
rgrover1 0:8e57f3e9cc89 484 #define traceTASK_RESUME( pxTaskToResume )
rgrover1 0:8e57f3e9cc89 485 #endif
rgrover1 0:8e57f3e9cc89 486
rgrover1 0:8e57f3e9cc89 487 #ifndef traceTASK_RESUME_FROM_ISR
rgrover1 0:8e57f3e9cc89 488 #define traceTASK_RESUME_FROM_ISR( pxTaskToResume )
rgrover1 0:8e57f3e9cc89 489 #endif
rgrover1 0:8e57f3e9cc89 490
rgrover1 0:8e57f3e9cc89 491 #ifndef traceTASK_INCREMENT_TICK
rgrover1 0:8e57f3e9cc89 492 #define traceTASK_INCREMENT_TICK( xTickCount )
rgrover1 0:8e57f3e9cc89 493 #endif
rgrover1 0:8e57f3e9cc89 494
rgrover1 0:8e57f3e9cc89 495 #ifndef traceTIMER_CREATE
rgrover1 0:8e57f3e9cc89 496 #define traceTIMER_CREATE( pxNewTimer )
rgrover1 0:8e57f3e9cc89 497 #endif
rgrover1 0:8e57f3e9cc89 498
rgrover1 0:8e57f3e9cc89 499 #ifndef traceTIMER_CREATE_FAILED
rgrover1 0:8e57f3e9cc89 500 #define traceTIMER_CREATE_FAILED()
rgrover1 0:8e57f3e9cc89 501 #endif
rgrover1 0:8e57f3e9cc89 502
rgrover1 0:8e57f3e9cc89 503 #ifndef traceTIMER_COMMAND_SEND
rgrover1 0:8e57f3e9cc89 504 #define traceTIMER_COMMAND_SEND( xTimer, xMessageID, xMessageValueValue, xReturn )
rgrover1 0:8e57f3e9cc89 505 #endif
rgrover1 0:8e57f3e9cc89 506
rgrover1 0:8e57f3e9cc89 507 #ifndef traceTIMER_EXPIRED
rgrover1 0:8e57f3e9cc89 508 #define traceTIMER_EXPIRED( pxTimer )
rgrover1 0:8e57f3e9cc89 509 #endif
rgrover1 0:8e57f3e9cc89 510
rgrover1 0:8e57f3e9cc89 511 #ifndef traceTIMER_COMMAND_RECEIVED
rgrover1 0:8e57f3e9cc89 512 #define traceTIMER_COMMAND_RECEIVED( pxTimer, xMessageID, xMessageValue )
rgrover1 0:8e57f3e9cc89 513 #endif
rgrover1 0:8e57f3e9cc89 514
rgrover1 0:8e57f3e9cc89 515 #ifndef traceMALLOC
rgrover1 0:8e57f3e9cc89 516 #define traceMALLOC( pvAddress, uiSize )
rgrover1 0:8e57f3e9cc89 517 #endif
rgrover1 0:8e57f3e9cc89 518
rgrover1 0:8e57f3e9cc89 519 #ifndef traceFREE
rgrover1 0:8e57f3e9cc89 520 #define traceFREE( pvAddress, uiSize )
rgrover1 0:8e57f3e9cc89 521 #endif
rgrover1 0:8e57f3e9cc89 522
rgrover1 0:8e57f3e9cc89 523 #ifndef configGENERATE_RUN_TIME_STATS
rgrover1 0:8e57f3e9cc89 524 #define configGENERATE_RUN_TIME_STATS 0
rgrover1 0:8e57f3e9cc89 525 #endif
rgrover1 0:8e57f3e9cc89 526
rgrover1 0:8e57f3e9cc89 527 #if ( configGENERATE_RUN_TIME_STATS == 1 )
rgrover1 0:8e57f3e9cc89 528
rgrover1 0:8e57f3e9cc89 529 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS
rgrover1 0:8e57f3e9cc89 530 #error If configGENERATE_RUN_TIME_STATS is defined then portCONFIGURE_TIMER_FOR_RUN_TIME_STATS must also be defined. portCONFIGURE_TIMER_FOR_RUN_TIME_STATS should call a port layer function to setup a peripheral timer/counter that can then be used as the run time counter time base.
rgrover1 0:8e57f3e9cc89 531 #endif /* portCONFIGURE_TIMER_FOR_RUN_TIME_STATS */
rgrover1 0:8e57f3e9cc89 532
rgrover1 0:8e57f3e9cc89 533 #ifndef portGET_RUN_TIME_COUNTER_VALUE
rgrover1 0:8e57f3e9cc89 534 #ifndef portALT_GET_RUN_TIME_COUNTER_VALUE
rgrover1 0:8e57f3e9cc89 535 #error If configGENERATE_RUN_TIME_STATS is defined then either portGET_RUN_TIME_COUNTER_VALUE or portALT_GET_RUN_TIME_COUNTER_VALUE must also be defined. See the examples provided and the FreeRTOS web site for more information.
rgrover1 0:8e57f3e9cc89 536 #endif /* portALT_GET_RUN_TIME_COUNTER_VALUE */
rgrover1 0:8e57f3e9cc89 537 #endif /* portGET_RUN_TIME_COUNTER_VALUE */
rgrover1 0:8e57f3e9cc89 538
rgrover1 0:8e57f3e9cc89 539 #endif /* configGENERATE_RUN_TIME_STATS */
rgrover1 0:8e57f3e9cc89 540
rgrover1 0:8e57f3e9cc89 541 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS
rgrover1 0:8e57f3e9cc89 542 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()
rgrover1 0:8e57f3e9cc89 543 #endif
rgrover1 0:8e57f3e9cc89 544
rgrover1 0:8e57f3e9cc89 545 #ifndef configUSE_MALLOC_FAILED_HOOK
rgrover1 0:8e57f3e9cc89 546 #define configUSE_MALLOC_FAILED_HOOK 0
rgrover1 0:8e57f3e9cc89 547 #endif
rgrover1 0:8e57f3e9cc89 548
rgrover1 0:8e57f3e9cc89 549 #ifndef portPRIVILEGE_BIT
rgrover1 0:8e57f3e9cc89 550 #define portPRIVILEGE_BIT ( ( unsigned portBASE_TYPE ) 0x00 )
rgrover1 0:8e57f3e9cc89 551 #endif
rgrover1 0:8e57f3e9cc89 552
rgrover1 0:8e57f3e9cc89 553 #ifndef portYIELD_WITHIN_API
rgrover1 0:8e57f3e9cc89 554 #define portYIELD_WITHIN_API portYIELD
rgrover1 0:8e57f3e9cc89 555 #endif
rgrover1 0:8e57f3e9cc89 556
rgrover1 0:8e57f3e9cc89 557 #ifndef pvPortMallocAligned
rgrover1 0:8e57f3e9cc89 558 #define pvPortMallocAligned( x, puxStackBuffer ) ( ( ( puxStackBuffer ) == NULL ) ? ( pvPortMalloc( ( x ) ) ) : ( puxStackBuffer ) )
rgrover1 0:8e57f3e9cc89 559 #endif
rgrover1 0:8e57f3e9cc89 560
rgrover1 0:8e57f3e9cc89 561 #ifndef vPortFreeAligned
rgrover1 0:8e57f3e9cc89 562 #define vPortFreeAligned( pvBlockToFree ) vPortFree( pvBlockToFree )
rgrover1 0:8e57f3e9cc89 563 #endif
rgrover1 0:8e57f3e9cc89 564
rgrover1 0:8e57f3e9cc89 565 #ifndef portSUPPRESS_TICKS_AND_SLEEP
rgrover1 0:8e57f3e9cc89 566 #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime )
rgrover1 0:8e57f3e9cc89 567 #endif
rgrover1 0:8e57f3e9cc89 568
rgrover1 0:8e57f3e9cc89 569 #ifndef configEXPECTED_IDLE_TIME_BEFORE_SLEEP
rgrover1 0:8e57f3e9cc89 570 #define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 2
rgrover1 0:8e57f3e9cc89 571 #endif
rgrover1 0:8e57f3e9cc89 572
rgrover1 0:8e57f3e9cc89 573 #if configEXPECTED_IDLE_TIME_BEFORE_SLEEP < 2
rgrover1 0:8e57f3e9cc89 574 #error configEXPECTED_IDLE_TIME_BEFORE_SLEEP must not be less than 2
rgrover1 0:8e57f3e9cc89 575 #endif
rgrover1 0:8e57f3e9cc89 576
rgrover1 0:8e57f3e9cc89 577 #ifndef configUSE_TICKLESS_IDLE
rgrover1 0:8e57f3e9cc89 578 #define configUSE_TICKLESS_IDLE 0
rgrover1 0:8e57f3e9cc89 579 #endif
rgrover1 0:8e57f3e9cc89 580
rgrover1 0:8e57f3e9cc89 581 #ifndef configPRE_SLEEP_PROCESSING
rgrover1 0:8e57f3e9cc89 582 #define configPRE_SLEEP_PROCESSING( x )
rgrover1 0:8e57f3e9cc89 583 #endif
rgrover1 0:8e57f3e9cc89 584
rgrover1 0:8e57f3e9cc89 585 #ifndef configPOST_SLEEP_PROCESSING
rgrover1 0:8e57f3e9cc89 586 #define configPOST_SLEEP_PROCESSING( x )
rgrover1 0:8e57f3e9cc89 587 #endif
rgrover1 0:8e57f3e9cc89 588
rgrover1 0:8e57f3e9cc89 589 #ifndef configUSE_QUEUE_SETS
rgrover1 0:8e57f3e9cc89 590 #define configUSE_QUEUE_SETS 0
rgrover1 0:8e57f3e9cc89 591 #endif
rgrover1 0:8e57f3e9cc89 592
rgrover1 0:8e57f3e9cc89 593 #ifndef portTASK_USES_FLOATING_POINT
rgrover1 0:8e57f3e9cc89 594 #define portTASK_USES_FLOATING_POINT()
rgrover1 0:8e57f3e9cc89 595 #endif
rgrover1 0:8e57f3e9cc89 596
rgrover1 0:8e57f3e9cc89 597 #ifndef configUSE_TIME_SLICING
rgrover1 0:8e57f3e9cc89 598 #define configUSE_TIME_SLICING 1
rgrover1 0:8e57f3e9cc89 599 #endif
rgrover1 0:8e57f3e9cc89 600
rgrover1 0:8e57f3e9cc89 601 #ifndef configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS
rgrover1 0:8e57f3e9cc89 602 #define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS 0
rgrover1 0:8e57f3e9cc89 603 #endif
rgrover1 0:8e57f3e9cc89 604
rgrover1 0:8e57f3e9cc89 605 #ifndef configUSE_NEWLIB_REENTRANT
rgrover1 0:8e57f3e9cc89 606 #define configUSE_NEWLIB_REENTRANT 0
rgrover1 0:8e57f3e9cc89 607 #endif
rgrover1 0:8e57f3e9cc89 608
rgrover1 0:8e57f3e9cc89 609 #ifndef configUSE_STATS_FORMATTING_FUNCTIONS
rgrover1 0:8e57f3e9cc89 610 #define configUSE_STATS_FORMATTING_FUNCTIONS 0
rgrover1 0:8e57f3e9cc89 611 #endif
rgrover1 0:8e57f3e9cc89 612
rgrover1 0:8e57f3e9cc89 613 #ifndef portASSERT_IF_INTERRUPT_PRIORITY_INVALID
rgrover1 0:8e57f3e9cc89 614 #define portASSERT_IF_INTERRUPT_PRIORITY_INVALID()
rgrover1 0:8e57f3e9cc89 615 #endif
rgrover1 0:8e57f3e9cc89 616
rgrover1 0:8e57f3e9cc89 617 /* For backward compatability. */
rgrover1 0:8e57f3e9cc89 618 #define eTaskStateGet eTaskGetState
rgrover1 0:8e57f3e9cc89 619
rgrover1 0:8e57f3e9cc89 620 #endif /* INC_FREERTOS_H */
rgrover1 0:8e57f3e9cc89 621