Update revision to use TI's mqtt and Freertos.

Dependencies:   mbed client server

Fork of cc3100_Test_mqtt_CM3 by David Fletcher

Committer:
dflet
Date:
Thu Sep 03 14:02:37 2015 +0000
Revision:
3:a8c249046181
SPI Mode change 1 to 0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dflet 3:a8c249046181 1 /*
dflet 3:a8c249046181 2 FreeRTOS V8.2.1 - Copyright (C) 2015 Real Time Engineers Ltd.
dflet 3:a8c249046181 3 All rights reserved
dflet 3:a8c249046181 4
dflet 3:a8c249046181 5 VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
dflet 3:a8c249046181 6
dflet 3:a8c249046181 7 This file is part of the FreeRTOS distribution.
dflet 3:a8c249046181 8
dflet 3:a8c249046181 9 FreeRTOS is free software; you can redistribute it and/or modify it under
dflet 3:a8c249046181 10 the terms of the GNU General Public License (version 2) as published by the
dflet 3:a8c249046181 11 Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
dflet 3:a8c249046181 12
dflet 3:a8c249046181 13 ***************************************************************************
dflet 3:a8c249046181 14 >>! NOTE: The modification to the GPL is included to allow you to !<<
dflet 3:a8c249046181 15 >>! distribute a combined work that includes FreeRTOS without being !<<
dflet 3:a8c249046181 16 >>! obliged to provide the source code for proprietary components !<<
dflet 3:a8c249046181 17 >>! outside of the FreeRTOS kernel. !<<
dflet 3:a8c249046181 18 ***************************************************************************
dflet 3:a8c249046181 19
dflet 3:a8c249046181 20 FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
dflet 3:a8c249046181 21 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
dflet 3:a8c249046181 22 FOR A PARTICULAR PURPOSE. Full license text is available on the following
dflet 3:a8c249046181 23 link: http://www.freertos.org/a00114.html
dflet 3:a8c249046181 24
dflet 3:a8c249046181 25 ***************************************************************************
dflet 3:a8c249046181 26 * *
dflet 3:a8c249046181 27 * FreeRTOS provides completely free yet professionally developed, *
dflet 3:a8c249046181 28 * robust, strictly quality controlled, supported, and cross *
dflet 3:a8c249046181 29 * platform software that is more than just the market leader, it *
dflet 3:a8c249046181 30 * is the industry's de facto standard. *
dflet 3:a8c249046181 31 * *
dflet 3:a8c249046181 32 * Help yourself get started quickly while simultaneously helping *
dflet 3:a8c249046181 33 * to support the FreeRTOS project by purchasing a FreeRTOS *
dflet 3:a8c249046181 34 * tutorial book, reference manual, or both: *
dflet 3:a8c249046181 35 * http://www.FreeRTOS.org/Documentation *
dflet 3:a8c249046181 36 * *
dflet 3:a8c249046181 37 ***************************************************************************
dflet 3:a8c249046181 38
dflet 3:a8c249046181 39 http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
dflet 3:a8c249046181 40 the FAQ page "My application does not run, what could be wrong?". Have you
dflet 3:a8c249046181 41 defined configASSERT()?
dflet 3:a8c249046181 42
dflet 3:a8c249046181 43 http://www.FreeRTOS.org/support - In return for receiving this top quality
dflet 3:a8c249046181 44 embedded software for free we request you assist our global community by
dflet 3:a8c249046181 45 participating in the support forum.
dflet 3:a8c249046181 46
dflet 3:a8c249046181 47 http://www.FreeRTOS.org/training - Investing in training allows your team to
dflet 3:a8c249046181 48 be as productive as possible as early as possible. Now you can receive
dflet 3:a8c249046181 49 FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
dflet 3:a8c249046181 50 Ltd, and the world's leading authority on the world's leading RTOS.
dflet 3:a8c249046181 51
dflet 3:a8c249046181 52 http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
dflet 3:a8c249046181 53 including FreeRTOS+Trace - an indispensable productivity tool, a DOS
dflet 3:a8c249046181 54 compatible FAT file system, and our tiny thread aware UDP/IP stack.
dflet 3:a8c249046181 55
dflet 3:a8c249046181 56 http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
dflet 3:a8c249046181 57 Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
dflet 3:a8c249046181 58
dflet 3:a8c249046181 59 http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
dflet 3:a8c249046181 60 Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
dflet 3:a8c249046181 61 licenses offer ticketed support, indemnification and commercial middleware.
dflet 3:a8c249046181 62
dflet 3:a8c249046181 63 http://www.SafeRTOS.com - High Integrity Systems also provide a safety
dflet 3:a8c249046181 64 engineered and independently SIL3 certified version for use in safety and
dflet 3:a8c249046181 65 mission critical applications that require provable dependability.
dflet 3:a8c249046181 66
dflet 3:a8c249046181 67 1 tab == 4 spaces!
dflet 3:a8c249046181 68 */
dflet 3:a8c249046181 69
dflet 3:a8c249046181 70 #ifndef INC_FREERTOS_H
dflet 3:a8c249046181 71 #define INC_FREERTOS_H
dflet 3:a8c249046181 72
dflet 3:a8c249046181 73 /*
dflet 3:a8c249046181 74 * Include the generic headers required for the FreeRTOS port being used.
dflet 3:a8c249046181 75 */
dflet 3:a8c249046181 76 #include <stddef.h>
dflet 3:a8c249046181 77
dflet 3:a8c249046181 78 /*
dflet 3:a8c249046181 79 * If stdint.h cannot be located then:
dflet 3:a8c249046181 80 * + If using GCC ensure the -nostdint options is *not* being used.
dflet 3:a8c249046181 81 * + Ensure the project's include path includes the directory in which your
dflet 3:a8c249046181 82 * compiler stores stdint.h.
dflet 3:a8c249046181 83 * + Set any compiler options necessary for it to support C99, as technically
dflet 3:a8c249046181 84 * stdint.h is only mandatory with C99 (FreeRTOS does not require C99 in any
dflet 3:a8c249046181 85 * other way).
dflet 3:a8c249046181 86 * + The FreeRTOS download includes a simple stdint.h definition that can be
dflet 3:a8c249046181 87 * used in cases where none is provided by the compiler. The files only
dflet 3:a8c249046181 88 * contains the typedefs required to build FreeRTOS. Read the instructions
dflet 3:a8c249046181 89 * in FreeRTOS/source/stdint.readme for more information.
dflet 3:a8c249046181 90 */
dflet 3:a8c249046181 91 #include <stdint.h> /* READ COMMENT ABOVE. */
dflet 3:a8c249046181 92
dflet 3:a8c249046181 93 #ifdef __cplusplus
dflet 3:a8c249046181 94 extern "C" {
dflet 3:a8c249046181 95 #endif
dflet 3:a8c249046181 96
dflet 3:a8c249046181 97 /* Application specific configuration options. */
dflet 3:a8c249046181 98 #include "FreeRTOSConfig.h"
dflet 3:a8c249046181 99
dflet 3:a8c249046181 100 /* Basic FreeRTOS definitions. */
dflet 3:a8c249046181 101 #include "projdefs.h"
dflet 3:a8c249046181 102
dflet 3:a8c249046181 103 /* Definitions specific to the port being used. */
dflet 3:a8c249046181 104 #include "portable.h"
dflet 3:a8c249046181 105
dflet 3:a8c249046181 106 /*
dflet 3:a8c249046181 107 * Check all the required application specific macros have been defined.
dflet 3:a8c249046181 108 * These macros are application specific and (as downloaded) are defined
dflet 3:a8c249046181 109 * within FreeRTOSConfig.h.
dflet 3:a8c249046181 110 */
dflet 3:a8c249046181 111
dflet 3:a8c249046181 112 #ifndef configMINIMAL_STACK_SIZE
dflet 3:a8c249046181 113 #error Missing definition: configMINIMAL_STACK_SIZE must be defined in FreeRTOSConfig.h. configMINIMAL_STACK_SIZE defines the size (in words) of the stack allocated to the idle task. Refer to the demo project provided for your port for a suitable value.
dflet 3:a8c249046181 114 #endif
dflet 3:a8c249046181 115
dflet 3:a8c249046181 116 #ifndef configMAX_PRIORITIES
dflet 3:a8c249046181 117 #error Missing definition: configMAX_PRIORITIES must be defined in FreeRTOSConfig.h. See the Configuration section of the FreeRTOS API documentation for details.
dflet 3:a8c249046181 118 #endif
dflet 3:a8c249046181 119
dflet 3:a8c249046181 120 #ifndef configUSE_PREEMPTION
dflet 3:a8c249046181 121 #error Missing definition: configUSE_PREEMPTION must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
dflet 3:a8c249046181 122 #endif
dflet 3:a8c249046181 123
dflet 3:a8c249046181 124 #ifndef configUSE_IDLE_HOOK
dflet 3:a8c249046181 125 #error Missing definition: configUSE_IDLE_HOOK must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
dflet 3:a8c249046181 126 #endif
dflet 3:a8c249046181 127
dflet 3:a8c249046181 128 #ifndef configUSE_TICK_HOOK
dflet 3:a8c249046181 129 #error Missing definition: configUSE_TICK_HOOK must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
dflet 3:a8c249046181 130 #endif
dflet 3:a8c249046181 131
dflet 3:a8c249046181 132 #ifndef INCLUDE_vTaskPrioritySet
dflet 3:a8c249046181 133 #error Missing definition: INCLUDE_vTaskPrioritySet must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
dflet 3:a8c249046181 134 #endif
dflet 3:a8c249046181 135
dflet 3:a8c249046181 136 #ifndef INCLUDE_uxTaskPriorityGet
dflet 3:a8c249046181 137 #error Missing definition: INCLUDE_uxTaskPriorityGet must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
dflet 3:a8c249046181 138 #endif
dflet 3:a8c249046181 139
dflet 3:a8c249046181 140 #ifndef INCLUDE_vTaskDelete
dflet 3:a8c249046181 141 #error Missing definition: INCLUDE_vTaskDelete must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
dflet 3:a8c249046181 142 #endif
dflet 3:a8c249046181 143
dflet 3:a8c249046181 144 #ifndef INCLUDE_vTaskSuspend
dflet 3:a8c249046181 145 #error Missing definition: INCLUDE_vTaskSuspend must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
dflet 3:a8c249046181 146 #endif
dflet 3:a8c249046181 147
dflet 3:a8c249046181 148 #ifndef INCLUDE_vTaskDelayUntil
dflet 3:a8c249046181 149 #error Missing definition: INCLUDE_vTaskDelayUntil must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
dflet 3:a8c249046181 150 #endif
dflet 3:a8c249046181 151
dflet 3:a8c249046181 152 #ifndef INCLUDE_vTaskDelay
dflet 3:a8c249046181 153 #error Missing definition: INCLUDE_vTaskDelay must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
dflet 3:a8c249046181 154 #endif
dflet 3:a8c249046181 155
dflet 3:a8c249046181 156 #ifndef configUSE_16_BIT_TICKS
dflet 3:a8c249046181 157 #error Missing definition: configUSE_16_BIT_TICKS must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
dflet 3:a8c249046181 158 #endif
dflet 3:a8c249046181 159
dflet 3:a8c249046181 160 #ifndef configMAX_PRIORITIES
dflet 3:a8c249046181 161 #error configMAX_PRIORITIES must be defined to be greater than or equal to 1.
dflet 3:a8c249046181 162 #endif
dflet 3:a8c249046181 163
dflet 3:a8c249046181 164 #ifndef configUSE_CO_ROUTINES
dflet 3:a8c249046181 165 #define configUSE_CO_ROUTINES 0
dflet 3:a8c249046181 166 #endif
dflet 3:a8c249046181 167
dflet 3:a8c249046181 168 #if configUSE_CO_ROUTINES != 0
dflet 3:a8c249046181 169 #ifndef configMAX_CO_ROUTINE_PRIORITIES
dflet 3:a8c249046181 170 #error configMAX_CO_ROUTINE_PRIORITIES must be greater than or equal to 1.
dflet 3:a8c249046181 171 #endif
dflet 3:a8c249046181 172 #endif
dflet 3:a8c249046181 173
dflet 3:a8c249046181 174 #ifndef INCLUDE_xTaskGetIdleTaskHandle
dflet 3:a8c249046181 175 #define INCLUDE_xTaskGetIdleTaskHandle 0
dflet 3:a8c249046181 176 #endif
dflet 3:a8c249046181 177
dflet 3:a8c249046181 178 #ifndef INCLUDE_xTimerGetTimerDaemonTaskHandle
dflet 3:a8c249046181 179 #define INCLUDE_xTimerGetTimerDaemonTaskHandle 0
dflet 3:a8c249046181 180 #endif
dflet 3:a8c249046181 181
dflet 3:a8c249046181 182 #ifndef INCLUDE_xQueueGetMutexHolder
dflet 3:a8c249046181 183 #define INCLUDE_xQueueGetMutexHolder 0
dflet 3:a8c249046181 184 #endif
dflet 3:a8c249046181 185
dflet 3:a8c249046181 186 #ifndef INCLUDE_xSemaphoreGetMutexHolder
dflet 3:a8c249046181 187 #define INCLUDE_xSemaphoreGetMutexHolder INCLUDE_xQueueGetMutexHolder
dflet 3:a8c249046181 188 #endif
dflet 3:a8c249046181 189
dflet 3:a8c249046181 190 #ifndef INCLUDE_pcTaskGetTaskName
dflet 3:a8c249046181 191 #define INCLUDE_pcTaskGetTaskName 0
dflet 3:a8c249046181 192 #endif
dflet 3:a8c249046181 193
dflet 3:a8c249046181 194 #ifndef configUSE_APPLICATION_TASK_TAG
dflet 3:a8c249046181 195 #define configUSE_APPLICATION_TASK_TAG 0
dflet 3:a8c249046181 196 #endif
dflet 3:a8c249046181 197
dflet 3:a8c249046181 198 #ifndef configNUM_THREAD_LOCAL_STORAGE_POINTERS
dflet 3:a8c249046181 199 #define configNUM_THREAD_LOCAL_STORAGE_POINTERS 0
dflet 3:a8c249046181 200 #endif
dflet 3:a8c249046181 201
dflet 3:a8c249046181 202 #ifndef INCLUDE_uxTaskGetStackHighWaterMark
dflet 3:a8c249046181 203 #define INCLUDE_uxTaskGetStackHighWaterMark 0
dflet 3:a8c249046181 204 #endif
dflet 3:a8c249046181 205
dflet 3:a8c249046181 206 #ifndef INCLUDE_eTaskGetState
dflet 3:a8c249046181 207 #define INCLUDE_eTaskGetState 0
dflet 3:a8c249046181 208 #endif
dflet 3:a8c249046181 209
dflet 3:a8c249046181 210 #ifndef configUSE_RECURSIVE_MUTEXES
dflet 3:a8c249046181 211 #define configUSE_RECURSIVE_MUTEXES 0
dflet 3:a8c249046181 212 #endif
dflet 3:a8c249046181 213
dflet 3:a8c249046181 214 #ifndef configUSE_MUTEXES
dflet 3:a8c249046181 215 #define configUSE_MUTEXES 0
dflet 3:a8c249046181 216 #endif
dflet 3:a8c249046181 217
dflet 3:a8c249046181 218 #ifndef configUSE_TIMERS
dflet 3:a8c249046181 219 #define configUSE_TIMERS 0
dflet 3:a8c249046181 220 #endif
dflet 3:a8c249046181 221
dflet 3:a8c249046181 222 #ifndef configUSE_COUNTING_SEMAPHORES
dflet 3:a8c249046181 223 #define configUSE_COUNTING_SEMAPHORES 0
dflet 3:a8c249046181 224 #endif
dflet 3:a8c249046181 225
dflet 3:a8c249046181 226 #ifndef configUSE_ALTERNATIVE_API
dflet 3:a8c249046181 227 #define configUSE_ALTERNATIVE_API 0
dflet 3:a8c249046181 228 #endif
dflet 3:a8c249046181 229
dflet 3:a8c249046181 230 #ifndef portCRITICAL_NESTING_IN_TCB
dflet 3:a8c249046181 231 #define portCRITICAL_NESTING_IN_TCB 0
dflet 3:a8c249046181 232 #endif
dflet 3:a8c249046181 233
dflet 3:a8c249046181 234 #ifndef configMAX_TASK_NAME_LEN
dflet 3:a8c249046181 235 #define configMAX_TASK_NAME_LEN 16
dflet 3:a8c249046181 236 #endif
dflet 3:a8c249046181 237
dflet 3:a8c249046181 238 #ifndef configIDLE_SHOULD_YIELD
dflet 3:a8c249046181 239 #define configIDLE_SHOULD_YIELD 1
dflet 3:a8c249046181 240 #endif
dflet 3:a8c249046181 241
dflet 3:a8c249046181 242 #if configMAX_TASK_NAME_LEN < 1
dflet 3:a8c249046181 243 #error configMAX_TASK_NAME_LEN must be set to a minimum of 1 in FreeRTOSConfig.h
dflet 3:a8c249046181 244 #endif
dflet 3:a8c249046181 245
dflet 3:a8c249046181 246 #ifndef INCLUDE_xTaskResumeFromISR
dflet 3:a8c249046181 247 #define INCLUDE_xTaskResumeFromISR 1
dflet 3:a8c249046181 248 #endif
dflet 3:a8c249046181 249
dflet 3:a8c249046181 250 #ifndef INCLUDE_xEventGroupSetBitFromISR
dflet 3:a8c249046181 251 #define INCLUDE_xEventGroupSetBitFromISR 0
dflet 3:a8c249046181 252 #endif
dflet 3:a8c249046181 253
dflet 3:a8c249046181 254 #ifndef INCLUDE_xTimerPendFunctionCall
dflet 3:a8c249046181 255 #define INCLUDE_xTimerPendFunctionCall 0
dflet 3:a8c249046181 256 #endif
dflet 3:a8c249046181 257
dflet 3:a8c249046181 258 #ifndef configASSERT
dflet 3:a8c249046181 259 #define configASSERT( x )
dflet 3:a8c249046181 260 #define configASSERT_DEFINED 0
dflet 3:a8c249046181 261 #else
dflet 3:a8c249046181 262 #define configASSERT_DEFINED 1
dflet 3:a8c249046181 263 #endif
dflet 3:a8c249046181 264
dflet 3:a8c249046181 265 /* The timers module relies on xTaskGetSchedulerState(). */
dflet 3:a8c249046181 266 #if configUSE_TIMERS == 1
dflet 3:a8c249046181 267
dflet 3:a8c249046181 268 #ifndef configTIMER_TASK_PRIORITY
dflet 3:a8c249046181 269 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_PRIORITY must also be defined.
dflet 3:a8c249046181 270 #endif /* configTIMER_TASK_PRIORITY */
dflet 3:a8c249046181 271
dflet 3:a8c249046181 272 #ifndef configTIMER_QUEUE_LENGTH
dflet 3:a8c249046181 273 #error If configUSE_TIMERS is set to 1 then configTIMER_QUEUE_LENGTH must also be defined.
dflet 3:a8c249046181 274 #endif /* configTIMER_QUEUE_LENGTH */
dflet 3:a8c249046181 275
dflet 3:a8c249046181 276 #ifndef configTIMER_TASK_STACK_DEPTH
dflet 3:a8c249046181 277 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_STACK_DEPTH must also be defined.
dflet 3:a8c249046181 278 #endif /* configTIMER_TASK_STACK_DEPTH */
dflet 3:a8c249046181 279
dflet 3:a8c249046181 280 #endif /* configUSE_TIMERS */
dflet 3:a8c249046181 281
dflet 3:a8c249046181 282 #ifndef INCLUDE_xTaskGetSchedulerState
dflet 3:a8c249046181 283 #define INCLUDE_xTaskGetSchedulerState 0
dflet 3:a8c249046181 284 #endif
dflet 3:a8c249046181 285
dflet 3:a8c249046181 286 #ifndef INCLUDE_xTaskGetCurrentTaskHandle
dflet 3:a8c249046181 287 #define INCLUDE_xTaskGetCurrentTaskHandle 0
dflet 3:a8c249046181 288 #endif
dflet 3:a8c249046181 289
dflet 3:a8c249046181 290
dflet 3:a8c249046181 291 #ifndef portSET_INTERRUPT_MASK_FROM_ISR
dflet 3:a8c249046181 292 #define portSET_INTERRUPT_MASK_FROM_ISR() 0
dflet 3:a8c249046181 293 #endif
dflet 3:a8c249046181 294
dflet 3:a8c249046181 295 #ifndef portCLEAR_INTERRUPT_MASK_FROM_ISR
dflet 3:a8c249046181 296 #define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusValue ) ( void ) uxSavedStatusValue
dflet 3:a8c249046181 297 #endif
dflet 3:a8c249046181 298
dflet 3:a8c249046181 299 #ifndef portCLEAN_UP_TCB
dflet 3:a8c249046181 300 #define portCLEAN_UP_TCB( pxTCB ) ( void ) pxTCB
dflet 3:a8c249046181 301 #endif
dflet 3:a8c249046181 302
dflet 3:a8c249046181 303 #ifndef portPRE_TASK_DELETE_HOOK
dflet 3:a8c249046181 304 #define portPRE_TASK_DELETE_HOOK( pvTaskToDelete, pxYieldPending )
dflet 3:a8c249046181 305 #endif
dflet 3:a8c249046181 306
dflet 3:a8c249046181 307 #ifndef portSETUP_TCB
dflet 3:a8c249046181 308 #define portSETUP_TCB( pxTCB ) ( void ) pxTCB
dflet 3:a8c249046181 309 #endif
dflet 3:a8c249046181 310
dflet 3:a8c249046181 311 #ifndef configQUEUE_REGISTRY_SIZE
dflet 3:a8c249046181 312 #define configQUEUE_REGISTRY_SIZE 0U
dflet 3:a8c249046181 313 #endif
dflet 3:a8c249046181 314
dflet 3:a8c249046181 315 #if ( configQUEUE_REGISTRY_SIZE < 1 )
dflet 3:a8c249046181 316 #define vQueueAddToRegistry( xQueue, pcName )
dflet 3:a8c249046181 317 #define vQueueUnregisterQueue( xQueue )
dflet 3:a8c249046181 318 #endif
dflet 3:a8c249046181 319
dflet 3:a8c249046181 320 #ifndef portPOINTER_SIZE_TYPE
dflet 3:a8c249046181 321 #define portPOINTER_SIZE_TYPE uint32_t
dflet 3:a8c249046181 322 #endif
dflet 3:a8c249046181 323
dflet 3:a8c249046181 324 /* Remove any unused trace macros. */
dflet 3:a8c249046181 325 #ifndef traceSTART
dflet 3:a8c249046181 326 /* Used to perform any necessary initialisation - for example, open a file
dflet 3:a8c249046181 327 into which trace is to be written. */
dflet 3:a8c249046181 328 #define traceSTART()
dflet 3:a8c249046181 329 #endif
dflet 3:a8c249046181 330
dflet 3:a8c249046181 331 #ifndef traceEND
dflet 3:a8c249046181 332 /* Use to close a trace, for example close a file into which trace has been
dflet 3:a8c249046181 333 written. */
dflet 3:a8c249046181 334 #define traceEND()
dflet 3:a8c249046181 335 #endif
dflet 3:a8c249046181 336
dflet 3:a8c249046181 337 #ifndef traceTASK_SWITCHED_IN
dflet 3:a8c249046181 338 /* Called after a task has been selected to run. pxCurrentTCB holds a pointer
dflet 3:a8c249046181 339 to the task control block of the selected task. */
dflet 3:a8c249046181 340 #define traceTASK_SWITCHED_IN()
dflet 3:a8c249046181 341 #endif
dflet 3:a8c249046181 342
dflet 3:a8c249046181 343 #ifndef traceINCREASE_TICK_COUNT
dflet 3:a8c249046181 344 /* Called before stepping the tick count after waking from tickless idle
dflet 3:a8c249046181 345 sleep. */
dflet 3:a8c249046181 346 #define traceINCREASE_TICK_COUNT( x )
dflet 3:a8c249046181 347 #endif
dflet 3:a8c249046181 348
dflet 3:a8c249046181 349 #ifndef traceLOW_POWER_IDLE_BEGIN
dflet 3:a8c249046181 350 /* Called immediately before entering tickless idle. */
dflet 3:a8c249046181 351 #define traceLOW_POWER_IDLE_BEGIN()
dflet 3:a8c249046181 352 #endif
dflet 3:a8c249046181 353
dflet 3:a8c249046181 354 #ifndef traceLOW_POWER_IDLE_END
dflet 3:a8c249046181 355 /* Called when returning to the Idle task after a tickless idle. */
dflet 3:a8c249046181 356 #define traceLOW_POWER_IDLE_END()
dflet 3:a8c249046181 357 #endif
dflet 3:a8c249046181 358
dflet 3:a8c249046181 359 #ifndef traceTASK_SWITCHED_OUT
dflet 3:a8c249046181 360 /* Called before a task has been selected to run. pxCurrentTCB holds a pointer
dflet 3:a8c249046181 361 to the task control block of the task being switched out. */
dflet 3:a8c249046181 362 #define traceTASK_SWITCHED_OUT()
dflet 3:a8c249046181 363 #endif
dflet 3:a8c249046181 364
dflet 3:a8c249046181 365 #ifndef traceTASK_PRIORITY_INHERIT
dflet 3:a8c249046181 366 /* Called when a task attempts to take a mutex that is already held by a
dflet 3:a8c249046181 367 lower priority task. pxTCBOfMutexHolder is a pointer to the TCB of the task
dflet 3:a8c249046181 368 that holds the mutex. uxInheritedPriority is the priority the mutex holder
dflet 3:a8c249046181 369 will inherit (the priority of the task that is attempting to obtain the
dflet 3:a8c249046181 370 muted. */
dflet 3:a8c249046181 371 #define traceTASK_PRIORITY_INHERIT( pxTCBOfMutexHolder, uxInheritedPriority )
dflet 3:a8c249046181 372 #endif
dflet 3:a8c249046181 373
dflet 3:a8c249046181 374 #ifndef traceTASK_PRIORITY_DISINHERIT
dflet 3:a8c249046181 375 /* Called when a task releases a mutex, the holding of which had resulted in
dflet 3:a8c249046181 376 the task inheriting the priority of a higher priority task.
dflet 3:a8c249046181 377 pxTCBOfMutexHolder is a pointer to the TCB of the task that is releasing the
dflet 3:a8c249046181 378 mutex. uxOriginalPriority is the task's configured (base) priority. */
dflet 3:a8c249046181 379 #define traceTASK_PRIORITY_DISINHERIT( pxTCBOfMutexHolder, uxOriginalPriority )
dflet 3:a8c249046181 380 #endif
dflet 3:a8c249046181 381
dflet 3:a8c249046181 382 #ifndef traceBLOCKING_ON_QUEUE_RECEIVE
dflet 3:a8c249046181 383 /* Task is about to block because it cannot read from a
dflet 3:a8c249046181 384 queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore
dflet 3:a8c249046181 385 upon which the read was attempted. pxCurrentTCB points to the TCB of the
dflet 3:a8c249046181 386 task that attempted the read. */
dflet 3:a8c249046181 387 #define traceBLOCKING_ON_QUEUE_RECEIVE( pxQueue )
dflet 3:a8c249046181 388 #endif
dflet 3:a8c249046181 389
dflet 3:a8c249046181 390 #ifndef traceBLOCKING_ON_QUEUE_SEND
dflet 3:a8c249046181 391 /* Task is about to block because it cannot write to a
dflet 3:a8c249046181 392 queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore
dflet 3:a8c249046181 393 upon which the write was attempted. pxCurrentTCB points to the TCB of the
dflet 3:a8c249046181 394 task that attempted the write. */
dflet 3:a8c249046181 395 #define traceBLOCKING_ON_QUEUE_SEND( pxQueue )
dflet 3:a8c249046181 396 #endif
dflet 3:a8c249046181 397
dflet 3:a8c249046181 398 #ifndef configCHECK_FOR_STACK_OVERFLOW
dflet 3:a8c249046181 399 #define configCHECK_FOR_STACK_OVERFLOW 0
dflet 3:a8c249046181 400 #endif
dflet 3:a8c249046181 401
dflet 3:a8c249046181 402 /* The following event macros are embedded in the kernel API calls. */
dflet 3:a8c249046181 403
dflet 3:a8c249046181 404 #ifndef traceMOVED_TASK_TO_READY_STATE
dflet 3:a8c249046181 405 #define traceMOVED_TASK_TO_READY_STATE( pxTCB )
dflet 3:a8c249046181 406 #endif
dflet 3:a8c249046181 407
dflet 3:a8c249046181 408 #ifndef traceQUEUE_CREATE
dflet 3:a8c249046181 409 #define traceQUEUE_CREATE( pxNewQueue )
dflet 3:a8c249046181 410 #endif
dflet 3:a8c249046181 411
dflet 3:a8c249046181 412 #ifndef traceQUEUE_CREATE_FAILED
dflet 3:a8c249046181 413 #define traceQUEUE_CREATE_FAILED( ucQueueType )
dflet 3:a8c249046181 414 #endif
dflet 3:a8c249046181 415
dflet 3:a8c249046181 416 #ifndef traceCREATE_MUTEX
dflet 3:a8c249046181 417 #define traceCREATE_MUTEX( pxNewQueue )
dflet 3:a8c249046181 418 #endif
dflet 3:a8c249046181 419
dflet 3:a8c249046181 420 #ifndef traceCREATE_MUTEX_FAILED
dflet 3:a8c249046181 421 #define traceCREATE_MUTEX_FAILED()
dflet 3:a8c249046181 422 #endif
dflet 3:a8c249046181 423
dflet 3:a8c249046181 424 #ifndef traceGIVE_MUTEX_RECURSIVE
dflet 3:a8c249046181 425 #define traceGIVE_MUTEX_RECURSIVE( pxMutex )
dflet 3:a8c249046181 426 #endif
dflet 3:a8c249046181 427
dflet 3:a8c249046181 428 #ifndef traceGIVE_MUTEX_RECURSIVE_FAILED
dflet 3:a8c249046181 429 #define traceGIVE_MUTEX_RECURSIVE_FAILED( pxMutex )
dflet 3:a8c249046181 430 #endif
dflet 3:a8c249046181 431
dflet 3:a8c249046181 432 #ifndef traceTAKE_MUTEX_RECURSIVE
dflet 3:a8c249046181 433 #define traceTAKE_MUTEX_RECURSIVE( pxMutex )
dflet 3:a8c249046181 434 #endif
dflet 3:a8c249046181 435
dflet 3:a8c249046181 436 #ifndef traceTAKE_MUTEX_RECURSIVE_FAILED
dflet 3:a8c249046181 437 #define traceTAKE_MUTEX_RECURSIVE_FAILED( pxMutex )
dflet 3:a8c249046181 438 #endif
dflet 3:a8c249046181 439
dflet 3:a8c249046181 440 #ifndef traceCREATE_COUNTING_SEMAPHORE
dflet 3:a8c249046181 441 #define traceCREATE_COUNTING_SEMAPHORE()
dflet 3:a8c249046181 442 #endif
dflet 3:a8c249046181 443
dflet 3:a8c249046181 444 #ifndef traceCREATE_COUNTING_SEMAPHORE_FAILED
dflet 3:a8c249046181 445 #define traceCREATE_COUNTING_SEMAPHORE_FAILED()
dflet 3:a8c249046181 446 #endif
dflet 3:a8c249046181 447
dflet 3:a8c249046181 448 #ifndef traceQUEUE_SEND
dflet 3:a8c249046181 449 #define traceQUEUE_SEND( pxQueue )
dflet 3:a8c249046181 450 #endif
dflet 3:a8c249046181 451
dflet 3:a8c249046181 452 #ifndef traceQUEUE_SEND_FAILED
dflet 3:a8c249046181 453 #define traceQUEUE_SEND_FAILED( pxQueue )
dflet 3:a8c249046181 454 #endif
dflet 3:a8c249046181 455
dflet 3:a8c249046181 456 #ifndef traceQUEUE_RECEIVE
dflet 3:a8c249046181 457 #define traceQUEUE_RECEIVE( pxQueue )
dflet 3:a8c249046181 458 #endif
dflet 3:a8c249046181 459
dflet 3:a8c249046181 460 #ifndef traceQUEUE_PEEK
dflet 3:a8c249046181 461 #define traceQUEUE_PEEK( pxQueue )
dflet 3:a8c249046181 462 #endif
dflet 3:a8c249046181 463
dflet 3:a8c249046181 464 #ifndef traceQUEUE_PEEK_FROM_ISR
dflet 3:a8c249046181 465 #define traceQUEUE_PEEK_FROM_ISR( pxQueue )
dflet 3:a8c249046181 466 #endif
dflet 3:a8c249046181 467
dflet 3:a8c249046181 468 #ifndef traceQUEUE_RECEIVE_FAILED
dflet 3:a8c249046181 469 #define traceQUEUE_RECEIVE_FAILED( pxQueue )
dflet 3:a8c249046181 470 #endif
dflet 3:a8c249046181 471
dflet 3:a8c249046181 472 #ifndef traceQUEUE_SEND_FROM_ISR
dflet 3:a8c249046181 473 #define traceQUEUE_SEND_FROM_ISR( pxQueue )
dflet 3:a8c249046181 474 #endif
dflet 3:a8c249046181 475
dflet 3:a8c249046181 476 #ifndef traceQUEUE_SEND_FROM_ISR_FAILED
dflet 3:a8c249046181 477 #define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue )
dflet 3:a8c249046181 478 #endif
dflet 3:a8c249046181 479
dflet 3:a8c249046181 480 #ifndef traceQUEUE_RECEIVE_FROM_ISR
dflet 3:a8c249046181 481 #define traceQUEUE_RECEIVE_FROM_ISR( pxQueue )
dflet 3:a8c249046181 482 #endif
dflet 3:a8c249046181 483
dflet 3:a8c249046181 484 #ifndef traceQUEUE_RECEIVE_FROM_ISR_FAILED
dflet 3:a8c249046181 485 #define traceQUEUE_RECEIVE_FROM_ISR_FAILED( pxQueue )
dflet 3:a8c249046181 486 #endif
dflet 3:a8c249046181 487
dflet 3:a8c249046181 488 #ifndef traceQUEUE_PEEK_FROM_ISR_FAILED
dflet 3:a8c249046181 489 #define traceQUEUE_PEEK_FROM_ISR_FAILED( pxQueue )
dflet 3:a8c249046181 490 #endif
dflet 3:a8c249046181 491
dflet 3:a8c249046181 492 #ifndef traceQUEUE_DELETE
dflet 3:a8c249046181 493 #define traceQUEUE_DELETE( pxQueue )
dflet 3:a8c249046181 494 #endif
dflet 3:a8c249046181 495
dflet 3:a8c249046181 496 #ifndef traceTASK_CREATE
dflet 3:a8c249046181 497 #define traceTASK_CREATE( pxNewTCB )
dflet 3:a8c249046181 498 #endif
dflet 3:a8c249046181 499
dflet 3:a8c249046181 500 #ifndef traceTASK_CREATE_FAILED
dflet 3:a8c249046181 501 #define traceTASK_CREATE_FAILED()
dflet 3:a8c249046181 502 #endif
dflet 3:a8c249046181 503
dflet 3:a8c249046181 504 #ifndef traceTASK_DELETE
dflet 3:a8c249046181 505 #define traceTASK_DELETE( pxTaskToDelete )
dflet 3:a8c249046181 506 #endif
dflet 3:a8c249046181 507
dflet 3:a8c249046181 508 #ifndef traceTASK_DELAY_UNTIL
dflet 3:a8c249046181 509 #define traceTASK_DELAY_UNTIL()
dflet 3:a8c249046181 510 #endif
dflet 3:a8c249046181 511
dflet 3:a8c249046181 512 #ifndef traceTASK_DELAY
dflet 3:a8c249046181 513 #define traceTASK_DELAY()
dflet 3:a8c249046181 514 #endif
dflet 3:a8c249046181 515
dflet 3:a8c249046181 516 #ifndef traceTASK_PRIORITY_SET
dflet 3:a8c249046181 517 #define traceTASK_PRIORITY_SET( pxTask, uxNewPriority )
dflet 3:a8c249046181 518 #endif
dflet 3:a8c249046181 519
dflet 3:a8c249046181 520 #ifndef traceTASK_SUSPEND
dflet 3:a8c249046181 521 #define traceTASK_SUSPEND( pxTaskToSuspend )
dflet 3:a8c249046181 522 #endif
dflet 3:a8c249046181 523
dflet 3:a8c249046181 524 #ifndef traceTASK_RESUME
dflet 3:a8c249046181 525 #define traceTASK_RESUME( pxTaskToResume )
dflet 3:a8c249046181 526 #endif
dflet 3:a8c249046181 527
dflet 3:a8c249046181 528 #ifndef traceTASK_RESUME_FROM_ISR
dflet 3:a8c249046181 529 #define traceTASK_RESUME_FROM_ISR( pxTaskToResume )
dflet 3:a8c249046181 530 #endif
dflet 3:a8c249046181 531
dflet 3:a8c249046181 532 #ifndef traceTASK_INCREMENT_TICK
dflet 3:a8c249046181 533 #define traceTASK_INCREMENT_TICK( xTickCount )
dflet 3:a8c249046181 534 #endif
dflet 3:a8c249046181 535
dflet 3:a8c249046181 536 #ifndef traceTIMER_CREATE
dflet 3:a8c249046181 537 #define traceTIMER_CREATE( pxNewTimer )
dflet 3:a8c249046181 538 #endif
dflet 3:a8c249046181 539
dflet 3:a8c249046181 540 #ifndef traceTIMER_CREATE_FAILED
dflet 3:a8c249046181 541 #define traceTIMER_CREATE_FAILED()
dflet 3:a8c249046181 542 #endif
dflet 3:a8c249046181 543
dflet 3:a8c249046181 544 #ifndef traceTIMER_COMMAND_SEND
dflet 3:a8c249046181 545 #define traceTIMER_COMMAND_SEND( xTimer, xMessageID, xMessageValueValue, xReturn )
dflet 3:a8c249046181 546 #endif
dflet 3:a8c249046181 547
dflet 3:a8c249046181 548 #ifndef traceTIMER_EXPIRED
dflet 3:a8c249046181 549 #define traceTIMER_EXPIRED( pxTimer )
dflet 3:a8c249046181 550 #endif
dflet 3:a8c249046181 551
dflet 3:a8c249046181 552 #ifndef traceTIMER_COMMAND_RECEIVED
dflet 3:a8c249046181 553 #define traceTIMER_COMMAND_RECEIVED( pxTimer, xMessageID, xMessageValue )
dflet 3:a8c249046181 554 #endif
dflet 3:a8c249046181 555
dflet 3:a8c249046181 556 #ifndef traceMALLOC
dflet 3:a8c249046181 557 #define traceMALLOC( pvAddress, uiSize )
dflet 3:a8c249046181 558 #endif
dflet 3:a8c249046181 559
dflet 3:a8c249046181 560 #ifndef traceFREE
dflet 3:a8c249046181 561 #define traceFREE( pvAddress, uiSize )
dflet 3:a8c249046181 562 #endif
dflet 3:a8c249046181 563
dflet 3:a8c249046181 564 #ifndef traceEVENT_GROUP_CREATE
dflet 3:a8c249046181 565 #define traceEVENT_GROUP_CREATE( xEventGroup )
dflet 3:a8c249046181 566 #endif
dflet 3:a8c249046181 567
dflet 3:a8c249046181 568 #ifndef traceEVENT_GROUP_CREATE_FAILED
dflet 3:a8c249046181 569 #define traceEVENT_GROUP_CREATE_FAILED()
dflet 3:a8c249046181 570 #endif
dflet 3:a8c249046181 571
dflet 3:a8c249046181 572 #ifndef traceEVENT_GROUP_SYNC_BLOCK
dflet 3:a8c249046181 573 #define traceEVENT_GROUP_SYNC_BLOCK( xEventGroup, uxBitsToSet, uxBitsToWaitFor )
dflet 3:a8c249046181 574 #endif
dflet 3:a8c249046181 575
dflet 3:a8c249046181 576 #ifndef traceEVENT_GROUP_SYNC_END
dflet 3:a8c249046181 577 #define traceEVENT_GROUP_SYNC_END( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTimeoutOccurred ) ( void ) xTimeoutOccurred
dflet 3:a8c249046181 578 #endif
dflet 3:a8c249046181 579
dflet 3:a8c249046181 580 #ifndef traceEVENT_GROUP_WAIT_BITS_BLOCK
dflet 3:a8c249046181 581 #define traceEVENT_GROUP_WAIT_BITS_BLOCK( xEventGroup, uxBitsToWaitFor )
dflet 3:a8c249046181 582 #endif
dflet 3:a8c249046181 583
dflet 3:a8c249046181 584 #ifndef traceEVENT_GROUP_WAIT_BITS_END
dflet 3:a8c249046181 585 #define traceEVENT_GROUP_WAIT_BITS_END( xEventGroup, uxBitsToWaitFor, xTimeoutOccurred ) ( void ) xTimeoutOccurred
dflet 3:a8c249046181 586 #endif
dflet 3:a8c249046181 587
dflet 3:a8c249046181 588 #ifndef traceEVENT_GROUP_CLEAR_BITS
dflet 3:a8c249046181 589 #define traceEVENT_GROUP_CLEAR_BITS( xEventGroup, uxBitsToClear )
dflet 3:a8c249046181 590 #endif
dflet 3:a8c249046181 591
dflet 3:a8c249046181 592 #ifndef traceEVENT_GROUP_CLEAR_BITS_FROM_ISR
dflet 3:a8c249046181 593 #define traceEVENT_GROUP_CLEAR_BITS_FROM_ISR( xEventGroup, uxBitsToClear )
dflet 3:a8c249046181 594 #endif
dflet 3:a8c249046181 595
dflet 3:a8c249046181 596 #ifndef traceEVENT_GROUP_SET_BITS
dflet 3:a8c249046181 597 #define traceEVENT_GROUP_SET_BITS( xEventGroup, uxBitsToSet )
dflet 3:a8c249046181 598 #endif
dflet 3:a8c249046181 599
dflet 3:a8c249046181 600 #ifndef traceEVENT_GROUP_SET_BITS_FROM_ISR
dflet 3:a8c249046181 601 #define traceEVENT_GROUP_SET_BITS_FROM_ISR( xEventGroup, uxBitsToSet )
dflet 3:a8c249046181 602 #endif
dflet 3:a8c249046181 603
dflet 3:a8c249046181 604 #ifndef traceEVENT_GROUP_DELETE
dflet 3:a8c249046181 605 #define traceEVENT_GROUP_DELETE( xEventGroup )
dflet 3:a8c249046181 606 #endif
dflet 3:a8c249046181 607
dflet 3:a8c249046181 608 #ifndef tracePEND_FUNC_CALL
dflet 3:a8c249046181 609 #define tracePEND_FUNC_CALL(xFunctionToPend, pvParameter1, ulParameter2, ret)
dflet 3:a8c249046181 610 #endif
dflet 3:a8c249046181 611
dflet 3:a8c249046181 612 #ifndef tracePEND_FUNC_CALL_FROM_ISR
dflet 3:a8c249046181 613 #define tracePEND_FUNC_CALL_FROM_ISR(xFunctionToPend, pvParameter1, ulParameter2, ret)
dflet 3:a8c249046181 614 #endif
dflet 3:a8c249046181 615
dflet 3:a8c249046181 616 #ifndef traceQUEUE_REGISTRY_ADD
dflet 3:a8c249046181 617 #define traceQUEUE_REGISTRY_ADD(xQueue, pcQueueName)
dflet 3:a8c249046181 618 #endif
dflet 3:a8c249046181 619
dflet 3:a8c249046181 620 #ifndef configGENERATE_RUN_TIME_STATS
dflet 3:a8c249046181 621 #define configGENERATE_RUN_TIME_STATS 0
dflet 3:a8c249046181 622 #endif
dflet 3:a8c249046181 623
dflet 3:a8c249046181 624 #if ( configGENERATE_RUN_TIME_STATS == 1 )
dflet 3:a8c249046181 625
dflet 3:a8c249046181 626 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS
dflet 3:a8c249046181 627 #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.
dflet 3:a8c249046181 628 #endif /* portCONFIGURE_TIMER_FOR_RUN_TIME_STATS */
dflet 3:a8c249046181 629
dflet 3:a8c249046181 630 #ifndef portGET_RUN_TIME_COUNTER_VALUE
dflet 3:a8c249046181 631 #ifndef portALT_GET_RUN_TIME_COUNTER_VALUE
dflet 3:a8c249046181 632 #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.
dflet 3:a8c249046181 633 #endif /* portALT_GET_RUN_TIME_COUNTER_VALUE */
dflet 3:a8c249046181 634 #endif /* portGET_RUN_TIME_COUNTER_VALUE */
dflet 3:a8c249046181 635
dflet 3:a8c249046181 636 #endif /* configGENERATE_RUN_TIME_STATS */
dflet 3:a8c249046181 637
dflet 3:a8c249046181 638 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS
dflet 3:a8c249046181 639 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()
dflet 3:a8c249046181 640 #endif
dflet 3:a8c249046181 641
dflet 3:a8c249046181 642 #ifndef configUSE_MALLOC_FAILED_HOOK
dflet 3:a8c249046181 643 #define configUSE_MALLOC_FAILED_HOOK 0
dflet 3:a8c249046181 644 #endif
dflet 3:a8c249046181 645
dflet 3:a8c249046181 646 #ifndef portPRIVILEGE_BIT
dflet 3:a8c249046181 647 #define portPRIVILEGE_BIT ( ( UBaseType_t ) 0x00 )
dflet 3:a8c249046181 648 #endif
dflet 3:a8c249046181 649
dflet 3:a8c249046181 650 #ifndef portYIELD_WITHIN_API
dflet 3:a8c249046181 651 #define portYIELD_WITHIN_API portYIELD
dflet 3:a8c249046181 652 #endif
dflet 3:a8c249046181 653
dflet 3:a8c249046181 654 #ifndef pvPortMallocAligned
dflet 3:a8c249046181 655 #define pvPortMallocAligned( x, puxStackBuffer ) ( ( ( puxStackBuffer ) == NULL ) ? ( pvPortMalloc( ( x ) ) ) : ( puxStackBuffer ) )
dflet 3:a8c249046181 656 #endif
dflet 3:a8c249046181 657
dflet 3:a8c249046181 658 #ifndef vPortFreeAligned
dflet 3:a8c249046181 659 #define vPortFreeAligned( pvBlockToFree ) vPortFree( pvBlockToFree )
dflet 3:a8c249046181 660 #endif
dflet 3:a8c249046181 661
dflet 3:a8c249046181 662 #ifndef portSUPPRESS_TICKS_AND_SLEEP
dflet 3:a8c249046181 663 #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime )
dflet 3:a8c249046181 664 #endif
dflet 3:a8c249046181 665
dflet 3:a8c249046181 666 #ifndef configEXPECTED_IDLE_TIME_BEFORE_SLEEP
dflet 3:a8c249046181 667 #define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 2
dflet 3:a8c249046181 668 #endif
dflet 3:a8c249046181 669
dflet 3:a8c249046181 670 #if configEXPECTED_IDLE_TIME_BEFORE_SLEEP < 2
dflet 3:a8c249046181 671 #error configEXPECTED_IDLE_TIME_BEFORE_SLEEP must not be less than 2
dflet 3:a8c249046181 672 #endif
dflet 3:a8c249046181 673
dflet 3:a8c249046181 674 #ifndef configUSE_TICKLESS_IDLE
dflet 3:a8c249046181 675 #define configUSE_TICKLESS_IDLE 0
dflet 3:a8c249046181 676 #endif
dflet 3:a8c249046181 677
dflet 3:a8c249046181 678 #ifndef configPRE_SLEEP_PROCESSING
dflet 3:a8c249046181 679 #define configPRE_SLEEP_PROCESSING( x )
dflet 3:a8c249046181 680 #endif
dflet 3:a8c249046181 681
dflet 3:a8c249046181 682 #ifndef configPOST_SLEEP_PROCESSING
dflet 3:a8c249046181 683 #define configPOST_SLEEP_PROCESSING( x )
dflet 3:a8c249046181 684 #endif
dflet 3:a8c249046181 685
dflet 3:a8c249046181 686 #ifndef configUSE_QUEUE_SETS
dflet 3:a8c249046181 687 #define configUSE_QUEUE_SETS 0
dflet 3:a8c249046181 688 #endif
dflet 3:a8c249046181 689
dflet 3:a8c249046181 690 #ifndef portTASK_USES_FLOATING_POINT
dflet 3:a8c249046181 691 #define portTASK_USES_FLOATING_POINT()
dflet 3:a8c249046181 692 #endif
dflet 3:a8c249046181 693
dflet 3:a8c249046181 694 #ifndef configUSE_TIME_SLICING
dflet 3:a8c249046181 695 #define configUSE_TIME_SLICING 1
dflet 3:a8c249046181 696 #endif
dflet 3:a8c249046181 697
dflet 3:a8c249046181 698 #ifndef configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS
dflet 3:a8c249046181 699 #define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS 0
dflet 3:a8c249046181 700 #endif
dflet 3:a8c249046181 701
dflet 3:a8c249046181 702 #ifndef configUSE_NEWLIB_REENTRANT
dflet 3:a8c249046181 703 #define configUSE_NEWLIB_REENTRANT 0
dflet 3:a8c249046181 704 #endif
dflet 3:a8c249046181 705
dflet 3:a8c249046181 706 #ifndef configUSE_STATS_FORMATTING_FUNCTIONS
dflet 3:a8c249046181 707 #define configUSE_STATS_FORMATTING_FUNCTIONS 0
dflet 3:a8c249046181 708 #endif
dflet 3:a8c249046181 709
dflet 3:a8c249046181 710 #ifndef portASSERT_IF_INTERRUPT_PRIORITY_INVALID
dflet 3:a8c249046181 711 #define portASSERT_IF_INTERRUPT_PRIORITY_INVALID()
dflet 3:a8c249046181 712 #endif
dflet 3:a8c249046181 713
dflet 3:a8c249046181 714 #ifndef configUSE_TRACE_FACILITY
dflet 3:a8c249046181 715 #define configUSE_TRACE_FACILITY 0
dflet 3:a8c249046181 716 #endif
dflet 3:a8c249046181 717
dflet 3:a8c249046181 718 #ifndef mtCOVERAGE_TEST_MARKER
dflet 3:a8c249046181 719 #define mtCOVERAGE_TEST_MARKER()
dflet 3:a8c249046181 720 #endif
dflet 3:a8c249046181 721
dflet 3:a8c249046181 722 #ifndef mtCOVERAGE_TEST_DELAY
dflet 3:a8c249046181 723 #define mtCOVERAGE_TEST_DELAY()
dflet 3:a8c249046181 724 #endif
dflet 3:a8c249046181 725
dflet 3:a8c249046181 726 #ifndef portASSERT_IF_IN_ISR
dflet 3:a8c249046181 727 #define portASSERT_IF_IN_ISR()
dflet 3:a8c249046181 728 #endif
dflet 3:a8c249046181 729
dflet 3:a8c249046181 730 #ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION
dflet 3:a8c249046181 731 #define configUSE_PORT_OPTIMISED_TASK_SELECTION 0
dflet 3:a8c249046181 732 #endif
dflet 3:a8c249046181 733
dflet 3:a8c249046181 734 #ifndef configAPPLICATION_ALLOCATED_HEAP
dflet 3:a8c249046181 735 #define configAPPLICATION_ALLOCATED_HEAP 0
dflet 3:a8c249046181 736 #endif
dflet 3:a8c249046181 737
dflet 3:a8c249046181 738 #ifndef configUSE_TASK_NOTIFICATIONS
dflet 3:a8c249046181 739 #define configUSE_TASK_NOTIFICATIONS 1
dflet 3:a8c249046181 740 #endif
dflet 3:a8c249046181 741
dflet 3:a8c249046181 742 #ifndef portTICK_TYPE_IS_ATOMIC
dflet 3:a8c249046181 743 #define portTICK_TYPE_IS_ATOMIC 0
dflet 3:a8c249046181 744 #endif
dflet 3:a8c249046181 745
dflet 3:a8c249046181 746 #if( portTICK_TYPE_IS_ATOMIC == 0 )
dflet 3:a8c249046181 747 /* Either variables of tick type cannot be read atomically, or
dflet 3:a8c249046181 748 portTICK_TYPE_IS_ATOMIC was not set - map the critical sections used when
dflet 3:a8c249046181 749 the tick count is returned to the standard critical section macros. */
dflet 3:a8c249046181 750 #define portTICK_TYPE_ENTER_CRITICAL() portENTER_CRITICAL()
dflet 3:a8c249046181 751 #define portTICK_TYPE_EXIT_CRITICAL() portEXIT_CRITICAL()
dflet 3:a8c249046181 752 #define portTICK_TYPE_SET_INTERRUPT_MASK_FROM_ISR() portSET_INTERRUPT_MASK_FROM_ISR()
dflet 3:a8c249046181 753 #define portTICK_TYPE_CLEAR_INTERRUPT_MASK_FROM_ISR( x ) portCLEAR_INTERRUPT_MASK_FROM_ISR( ( x ) )
dflet 3:a8c249046181 754 #else
dflet 3:a8c249046181 755 /* The tick type can be read atomically, so critical sections used when the
dflet 3:a8c249046181 756 tick count is returned can be defined away. */
dflet 3:a8c249046181 757 #define portTICK_TYPE_ENTER_CRITICAL()
dflet 3:a8c249046181 758 #define portTICK_TYPE_EXIT_CRITICAL()
dflet 3:a8c249046181 759 #define portTICK_TYPE_SET_INTERRUPT_MASK_FROM_ISR() 0
dflet 3:a8c249046181 760 #define portTICK_TYPE_CLEAR_INTERRUPT_MASK_FROM_ISR( x ) ( void ) x
dflet 3:a8c249046181 761 #endif
dflet 3:a8c249046181 762
dflet 3:a8c249046181 763 /* Definitions to allow backward compatibility with FreeRTOS versions prior to
dflet 3:a8c249046181 764 V8 if desired. */
dflet 3:a8c249046181 765 #ifndef configENABLE_BACKWARD_COMPATIBILITY
dflet 3:a8c249046181 766 #define configENABLE_BACKWARD_COMPATIBILITY 1
dflet 3:a8c249046181 767 #endif
dflet 3:a8c249046181 768
dflet 3:a8c249046181 769 #if configENABLE_BACKWARD_COMPATIBILITY == 1
dflet 3:a8c249046181 770 #define eTaskStateGet eTaskGetState
dflet 3:a8c249046181 771 #define portTickType TickType_t
dflet 3:a8c249046181 772 #define xTaskHandle TaskHandle_t
dflet 3:a8c249046181 773 #define xQueueHandle QueueHandle_t
dflet 3:a8c249046181 774 #define xSemaphoreHandle SemaphoreHandle_t
dflet 3:a8c249046181 775 #define xQueueSetHandle QueueSetHandle_t
dflet 3:a8c249046181 776 #define xQueueSetMemberHandle QueueSetMemberHandle_t
dflet 3:a8c249046181 777 #define xTimeOutType TimeOut_t
dflet 3:a8c249046181 778 #define xMemoryRegion MemoryRegion_t
dflet 3:a8c249046181 779 #define xTaskParameters TaskParameters_t
dflet 3:a8c249046181 780 #define xTaskStatusType TaskStatus_t
dflet 3:a8c249046181 781 #define xTimerHandle TimerHandle_t
dflet 3:a8c249046181 782 #define xCoRoutineHandle CoRoutineHandle_t
dflet 3:a8c249046181 783 #define pdTASK_HOOK_CODE TaskHookFunction_t
dflet 3:a8c249046181 784 #define portTICK_RATE_MS portTICK_PERIOD_MS
dflet 3:a8c249046181 785
dflet 3:a8c249046181 786 /* Backward compatibility within the scheduler code only - these definitions
dflet 3:a8c249046181 787 are not really required but are included for completeness. */
dflet 3:a8c249046181 788 #define tmrTIMER_CALLBACK TimerCallbackFunction_t
dflet 3:a8c249046181 789 #define pdTASK_CODE TaskFunction_t
dflet 3:a8c249046181 790 #define xListItem ListItem_t
dflet 3:a8c249046181 791 #define xList List_t
dflet 3:a8c249046181 792 #endif /* configENABLE_BACKWARD_COMPATIBILITY */
dflet 3:a8c249046181 793
dflet 3:a8c249046181 794 #ifdef __cplusplus
dflet 3:a8c249046181 795 }
dflet 3:a8c249046181 796 #endif
dflet 3:a8c249046181 797
dflet 3:a8c249046181 798 #endif /* INC_FREERTOS_H */
dflet 3:a8c249046181 799
dflet 3:a8c249046181 800