Update revision to use TI's mqtt and Freertos.
Dependencies: mbed client server
Fork of cc3100_Test_mqtt_CM3 by
FreeRTOS.h
00001 /* 00002 FreeRTOS V8.2.1 - Copyright (C) 2015 Real Time Engineers Ltd. 00003 All rights reserved 00004 00005 VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. 00006 00007 This file is part of the FreeRTOS distribution. 00008 00009 FreeRTOS is free software; you can redistribute it and/or modify it under 00010 the terms of the GNU General Public License (version 2) as published by the 00011 Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception. 00012 00013 *************************************************************************** 00014 >>! NOTE: The modification to the GPL is included to allow you to !<< 00015 >>! distribute a combined work that includes FreeRTOS without being !<< 00016 >>! obliged to provide the source code for proprietary components !<< 00017 >>! outside of the FreeRTOS kernel. !<< 00018 *************************************************************************** 00019 00020 FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY 00021 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00022 FOR A PARTICULAR PURPOSE. Full license text is available on the following 00023 link: http://www.freertos.org/a00114.html 00024 00025 *************************************************************************** 00026 * * 00027 * FreeRTOS provides completely free yet professionally developed, * 00028 * robust, strictly quality controlled, supported, and cross * 00029 * platform software that is more than just the market leader, it * 00030 * is the industry's de facto standard. * 00031 * * 00032 * Help yourself get started quickly while simultaneously helping * 00033 * to support the FreeRTOS project by purchasing a FreeRTOS * 00034 * tutorial book, reference manual, or both: * 00035 * http://www.FreeRTOS.org/Documentation * 00036 * * 00037 *************************************************************************** 00038 00039 http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading 00040 the FAQ page "My application does not run, what could be wrong?". Have you 00041 defined configASSERT()? 00042 00043 http://www.FreeRTOS.org/support - In return for receiving this top quality 00044 embedded software for free we request you assist our global community by 00045 participating in the support forum. 00046 00047 http://www.FreeRTOS.org/training - Investing in training allows your team to 00048 be as productive as possible as early as possible. Now you can receive 00049 FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers 00050 Ltd, and the world's leading authority on the world's leading RTOS. 00051 00052 http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, 00053 including FreeRTOS+Trace - an indispensable productivity tool, a DOS 00054 compatible FAT file system, and our tiny thread aware UDP/IP stack. 00055 00056 http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate. 00057 Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS. 00058 00059 http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High 00060 Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS 00061 licenses offer ticketed support, indemnification and commercial middleware. 00062 00063 http://www.SafeRTOS.com - High Integrity Systems also provide a safety 00064 engineered and independently SIL3 certified version for use in safety and 00065 mission critical applications that require provable dependability. 00066 00067 1 tab == 4 spaces! 00068 */ 00069 00070 #ifndef INC_FREERTOS_H 00071 #define INC_FREERTOS_H 00072 00073 /* 00074 * Include the generic headers required for the FreeRTOS port being used. 00075 */ 00076 #include <stddef.h> 00077 00078 /* 00079 * If stdint.h cannot be located then: 00080 * + If using GCC ensure the -nostdint options is *not* being used. 00081 * + Ensure the project's include path includes the directory in which your 00082 * compiler stores stdint.h. 00083 * + Set any compiler options necessary for it to support C99, as technically 00084 * stdint.h is only mandatory with C99 (FreeRTOS does not require C99 in any 00085 * other way). 00086 * + The FreeRTOS download includes a simple stdint.h definition that can be 00087 * used in cases where none is provided by the compiler. The files only 00088 * contains the typedefs required to build FreeRTOS. Read the instructions 00089 * in FreeRTOS/source/stdint.readme for more information. 00090 */ 00091 #include <stdint.h> /* READ COMMENT ABOVE. */ 00092 00093 #ifdef __cplusplus 00094 extern "C" { 00095 #endif 00096 00097 /* Application specific configuration options. */ 00098 #include "FreeRTOSConfig.h" 00099 00100 /* Basic FreeRTOS definitions. */ 00101 #include "projdefs.h" 00102 00103 /* Definitions specific to the port being used. */ 00104 #include "portable.h" 00105 00106 /* 00107 * Check all the required application specific macros have been defined. 00108 * These macros are application specific and (as downloaded) are defined 00109 * within FreeRTOSConfig.h. 00110 */ 00111 00112 #ifndef configMINIMAL_STACK_SIZE 00113 #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. 00114 #endif 00115 00116 #ifndef configMAX_PRIORITIES 00117 #error Missing definition: configMAX_PRIORITIES must be defined in FreeRTOSConfig.h. See the Configuration section of the FreeRTOS API documentation for details. 00118 #endif 00119 00120 #ifndef configUSE_PREEMPTION 00121 #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. 00122 #endif 00123 00124 #ifndef configUSE_IDLE_HOOK 00125 #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. 00126 #endif 00127 00128 #ifndef configUSE_TICK_HOOK 00129 #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. 00130 #endif 00131 00132 #ifndef INCLUDE_vTaskPrioritySet 00133 #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. 00134 #endif 00135 00136 #ifndef INCLUDE_uxTaskPriorityGet 00137 #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. 00138 #endif 00139 00140 #ifndef INCLUDE_vTaskDelete 00141 #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. 00142 #endif 00143 00144 #ifndef INCLUDE_vTaskSuspend 00145 #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. 00146 #endif 00147 00148 #ifndef INCLUDE_vTaskDelayUntil 00149 #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. 00150 #endif 00151 00152 #ifndef INCLUDE_vTaskDelay 00153 #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. 00154 #endif 00155 00156 #ifndef configUSE_16_BIT_TICKS 00157 #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. 00158 #endif 00159 00160 #ifndef configMAX_PRIORITIES 00161 #error configMAX_PRIORITIES must be defined to be greater than or equal to 1. 00162 #endif 00163 00164 #ifndef configUSE_CO_ROUTINES 00165 #define configUSE_CO_ROUTINES 0 00166 #endif 00167 00168 #if configUSE_CO_ROUTINES != 0 00169 #ifndef configMAX_CO_ROUTINE_PRIORITIES 00170 #error configMAX_CO_ROUTINE_PRIORITIES must be greater than or equal to 1. 00171 #endif 00172 #endif 00173 00174 #ifndef INCLUDE_xTaskGetIdleTaskHandle 00175 #define INCLUDE_xTaskGetIdleTaskHandle 0 00176 #endif 00177 00178 #ifndef INCLUDE_xTimerGetTimerDaemonTaskHandle 00179 #define INCLUDE_xTimerGetTimerDaemonTaskHandle 0 00180 #endif 00181 00182 #ifndef INCLUDE_xQueueGetMutexHolder 00183 #define INCLUDE_xQueueGetMutexHolder 0 00184 #endif 00185 00186 #ifndef INCLUDE_xSemaphoreGetMutexHolder 00187 #define INCLUDE_xSemaphoreGetMutexHolder INCLUDE_xQueueGetMutexHolder 00188 #endif 00189 00190 #ifndef INCLUDE_pcTaskGetTaskName 00191 #define INCLUDE_pcTaskGetTaskName 0 00192 #endif 00193 00194 #ifndef configUSE_APPLICATION_TASK_TAG 00195 #define configUSE_APPLICATION_TASK_TAG 0 00196 #endif 00197 00198 #ifndef configNUM_THREAD_LOCAL_STORAGE_POINTERS 00199 #define configNUM_THREAD_LOCAL_STORAGE_POINTERS 0 00200 #endif 00201 00202 #ifndef INCLUDE_uxTaskGetStackHighWaterMark 00203 #define INCLUDE_uxTaskGetStackHighWaterMark 0 00204 #endif 00205 00206 #ifndef INCLUDE_eTaskGetState 00207 #define INCLUDE_eTaskGetState 0 00208 #endif 00209 00210 #ifndef configUSE_RECURSIVE_MUTEXES 00211 #define configUSE_RECURSIVE_MUTEXES 0 00212 #endif 00213 00214 #ifndef configUSE_MUTEXES 00215 #define configUSE_MUTEXES 0 00216 #endif 00217 00218 #ifndef configUSE_TIMERS 00219 #define configUSE_TIMERS 0 00220 #endif 00221 00222 #ifndef configUSE_COUNTING_SEMAPHORES 00223 #define configUSE_COUNTING_SEMAPHORES 0 00224 #endif 00225 00226 #ifndef configUSE_ALTERNATIVE_API 00227 #define configUSE_ALTERNATIVE_API 0 00228 #endif 00229 00230 #ifndef portCRITICAL_NESTING_IN_TCB 00231 #define portCRITICAL_NESTING_IN_TCB 0 00232 #endif 00233 00234 #ifndef configMAX_TASK_NAME_LEN 00235 #define configMAX_TASK_NAME_LEN 16 00236 #endif 00237 00238 #ifndef configIDLE_SHOULD_YIELD 00239 #define configIDLE_SHOULD_YIELD 1 00240 #endif 00241 00242 #if configMAX_TASK_NAME_LEN < 1 00243 #error configMAX_TASK_NAME_LEN must be set to a minimum of 1 in FreeRTOSConfig.h 00244 #endif 00245 00246 #ifndef INCLUDE_xTaskResumeFromISR 00247 #define INCLUDE_xTaskResumeFromISR 1 00248 #endif 00249 00250 #ifndef INCLUDE_xEventGroupSetBitFromISR 00251 #define INCLUDE_xEventGroupSetBitFromISR 0 00252 #endif 00253 00254 #ifndef INCLUDE_xTimerPendFunctionCall 00255 #define INCLUDE_xTimerPendFunctionCall 0 00256 #endif 00257 00258 #ifndef configASSERT 00259 #define configASSERT( x ) 00260 #define configASSERT_DEFINED 0 00261 #else 00262 #define configASSERT_DEFINED 1 00263 #endif 00264 00265 /* The timers module relies on xTaskGetSchedulerState(). */ 00266 #if configUSE_TIMERS == 1 00267 00268 #ifndef configTIMER_TASK_PRIORITY 00269 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_PRIORITY must also be defined. 00270 #endif /* configTIMER_TASK_PRIORITY */ 00271 00272 #ifndef configTIMER_QUEUE_LENGTH 00273 #error If configUSE_TIMERS is set to 1 then configTIMER_QUEUE_LENGTH must also be defined. 00274 #endif /* configTIMER_QUEUE_LENGTH */ 00275 00276 #ifndef configTIMER_TASK_STACK_DEPTH 00277 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_STACK_DEPTH must also be defined. 00278 #endif /* configTIMER_TASK_STACK_DEPTH */ 00279 00280 #endif /* configUSE_TIMERS */ 00281 00282 #ifndef INCLUDE_xTaskGetSchedulerState 00283 #define INCLUDE_xTaskGetSchedulerState 0 00284 #endif 00285 00286 #ifndef INCLUDE_xTaskGetCurrentTaskHandle 00287 #define INCLUDE_xTaskGetCurrentTaskHandle 0 00288 #endif 00289 00290 00291 #ifndef portSET_INTERRUPT_MASK_FROM_ISR 00292 #define portSET_INTERRUPT_MASK_FROM_ISR() 0 00293 #endif 00294 00295 #ifndef portCLEAR_INTERRUPT_MASK_FROM_ISR 00296 #define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusValue ) ( void ) uxSavedStatusValue 00297 #endif 00298 00299 #ifndef portCLEAN_UP_TCB 00300 #define portCLEAN_UP_TCB( pxTCB ) ( void ) pxTCB 00301 #endif 00302 00303 #ifndef portPRE_TASK_DELETE_HOOK 00304 #define portPRE_TASK_DELETE_HOOK( pvTaskToDelete, pxYieldPending ) 00305 #endif 00306 00307 #ifndef portSETUP_TCB 00308 #define portSETUP_TCB( pxTCB ) ( void ) pxTCB 00309 #endif 00310 00311 #ifndef configQUEUE_REGISTRY_SIZE 00312 #define configQUEUE_REGISTRY_SIZE 0U 00313 #endif 00314 00315 #if ( configQUEUE_REGISTRY_SIZE < 1 ) 00316 #define vQueueAddToRegistry( xQueue, pcName ) 00317 #define vQueueUnregisterQueue( xQueue ) 00318 #endif 00319 00320 #ifndef portPOINTER_SIZE_TYPE 00321 #define portPOINTER_SIZE_TYPE uint32_t 00322 #endif 00323 00324 /* Remove any unused trace macros. */ 00325 #ifndef traceSTART 00326 /* Used to perform any necessary initialisation - for example, open a file 00327 into which trace is to be written. */ 00328 #define traceSTART() 00329 #endif 00330 00331 #ifndef traceEND 00332 /* Use to close a trace, for example close a file into which trace has been 00333 written. */ 00334 #define traceEND() 00335 #endif 00336 00337 #ifndef traceTASK_SWITCHED_IN 00338 /* Called after a task has been selected to run. pxCurrentTCB holds a pointer 00339 to the task control block of the selected task. */ 00340 #define traceTASK_SWITCHED_IN() 00341 #endif 00342 00343 #ifndef traceINCREASE_TICK_COUNT 00344 /* Called before stepping the tick count after waking from tickless idle 00345 sleep. */ 00346 #define traceINCREASE_TICK_COUNT( x ) 00347 #endif 00348 00349 #ifndef traceLOW_POWER_IDLE_BEGIN 00350 /* Called immediately before entering tickless idle. */ 00351 #define traceLOW_POWER_IDLE_BEGIN() 00352 #endif 00353 00354 #ifndef traceLOW_POWER_IDLE_END 00355 /* Called when returning to the Idle task after a tickless idle. */ 00356 #define traceLOW_POWER_IDLE_END() 00357 #endif 00358 00359 #ifndef traceTASK_SWITCHED_OUT 00360 /* Called before a task has been selected to run. pxCurrentTCB holds a pointer 00361 to the task control block of the task being switched out. */ 00362 #define traceTASK_SWITCHED_OUT() 00363 #endif 00364 00365 #ifndef traceTASK_PRIORITY_INHERIT 00366 /* Called when a task attempts to take a mutex that is already held by a 00367 lower priority task. pxTCBOfMutexHolder is a pointer to the TCB of the task 00368 that holds the mutex. uxInheritedPriority is the priority the mutex holder 00369 will inherit (the priority of the task that is attempting to obtain the 00370 muted. */ 00371 #define traceTASK_PRIORITY_INHERIT( pxTCBOfMutexHolder, uxInheritedPriority ) 00372 #endif 00373 00374 #ifndef traceTASK_PRIORITY_DISINHERIT 00375 /* Called when a task releases a mutex, the holding of which had resulted in 00376 the task inheriting the priority of a higher priority task. 00377 pxTCBOfMutexHolder is a pointer to the TCB of the task that is releasing the 00378 mutex. uxOriginalPriority is the task's configured (base) priority. */ 00379 #define traceTASK_PRIORITY_DISINHERIT( pxTCBOfMutexHolder, uxOriginalPriority ) 00380 #endif 00381 00382 #ifndef traceBLOCKING_ON_QUEUE_RECEIVE 00383 /* Task is about to block because it cannot read from a 00384 queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore 00385 upon which the read was attempted. pxCurrentTCB points to the TCB of the 00386 task that attempted the read. */ 00387 #define traceBLOCKING_ON_QUEUE_RECEIVE( pxQueue ) 00388 #endif 00389 00390 #ifndef traceBLOCKING_ON_QUEUE_SEND 00391 /* Task is about to block because it cannot write to a 00392 queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore 00393 upon which the write was attempted. pxCurrentTCB points to the TCB of the 00394 task that attempted the write. */ 00395 #define traceBLOCKING_ON_QUEUE_SEND( pxQueue ) 00396 #endif 00397 00398 #ifndef configCHECK_FOR_STACK_OVERFLOW 00399 #define configCHECK_FOR_STACK_OVERFLOW 0 00400 #endif 00401 00402 /* The following event macros are embedded in the kernel API calls. */ 00403 00404 #ifndef traceMOVED_TASK_TO_READY_STATE 00405 #define traceMOVED_TASK_TO_READY_STATE( pxTCB ) 00406 #endif 00407 00408 #ifndef traceQUEUE_CREATE 00409 #define traceQUEUE_CREATE( pxNewQueue ) 00410 #endif 00411 00412 #ifndef traceQUEUE_CREATE_FAILED 00413 #define traceQUEUE_CREATE_FAILED( ucQueueType ) 00414 #endif 00415 00416 #ifndef traceCREATE_MUTEX 00417 #define traceCREATE_MUTEX( pxNewQueue ) 00418 #endif 00419 00420 #ifndef traceCREATE_MUTEX_FAILED 00421 #define traceCREATE_MUTEX_FAILED() 00422 #endif 00423 00424 #ifndef traceGIVE_MUTEX_RECURSIVE 00425 #define traceGIVE_MUTEX_RECURSIVE( pxMutex ) 00426 #endif 00427 00428 #ifndef traceGIVE_MUTEX_RECURSIVE_FAILED 00429 #define traceGIVE_MUTEX_RECURSIVE_FAILED( pxMutex ) 00430 #endif 00431 00432 #ifndef traceTAKE_MUTEX_RECURSIVE 00433 #define traceTAKE_MUTEX_RECURSIVE( pxMutex ) 00434 #endif 00435 00436 #ifndef traceTAKE_MUTEX_RECURSIVE_FAILED 00437 #define traceTAKE_MUTEX_RECURSIVE_FAILED( pxMutex ) 00438 #endif 00439 00440 #ifndef traceCREATE_COUNTING_SEMAPHORE 00441 #define traceCREATE_COUNTING_SEMAPHORE() 00442 #endif 00443 00444 #ifndef traceCREATE_COUNTING_SEMAPHORE_FAILED 00445 #define traceCREATE_COUNTING_SEMAPHORE_FAILED() 00446 #endif 00447 00448 #ifndef traceQUEUE_SEND 00449 #define traceQUEUE_SEND( pxQueue ) 00450 #endif 00451 00452 #ifndef traceQUEUE_SEND_FAILED 00453 #define traceQUEUE_SEND_FAILED( pxQueue ) 00454 #endif 00455 00456 #ifndef traceQUEUE_RECEIVE 00457 #define traceQUEUE_RECEIVE( pxQueue ) 00458 #endif 00459 00460 #ifndef traceQUEUE_PEEK 00461 #define traceQUEUE_PEEK( pxQueue ) 00462 #endif 00463 00464 #ifndef traceQUEUE_PEEK_FROM_ISR 00465 #define traceQUEUE_PEEK_FROM_ISR( pxQueue ) 00466 #endif 00467 00468 #ifndef traceQUEUE_RECEIVE_FAILED 00469 #define traceQUEUE_RECEIVE_FAILED( pxQueue ) 00470 #endif 00471 00472 #ifndef traceQUEUE_SEND_FROM_ISR 00473 #define traceQUEUE_SEND_FROM_ISR( pxQueue ) 00474 #endif 00475 00476 #ifndef traceQUEUE_SEND_FROM_ISR_FAILED 00477 #define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue ) 00478 #endif 00479 00480 #ifndef traceQUEUE_RECEIVE_FROM_ISR 00481 #define traceQUEUE_RECEIVE_FROM_ISR( pxQueue ) 00482 #endif 00483 00484 #ifndef traceQUEUE_RECEIVE_FROM_ISR_FAILED 00485 #define traceQUEUE_RECEIVE_FROM_ISR_FAILED( pxQueue ) 00486 #endif 00487 00488 #ifndef traceQUEUE_PEEK_FROM_ISR_FAILED 00489 #define traceQUEUE_PEEK_FROM_ISR_FAILED( pxQueue ) 00490 #endif 00491 00492 #ifndef traceQUEUE_DELETE 00493 #define traceQUEUE_DELETE( pxQueue ) 00494 #endif 00495 00496 #ifndef traceTASK_CREATE 00497 #define traceTASK_CREATE( pxNewTCB ) 00498 #endif 00499 00500 #ifndef traceTASK_CREATE_FAILED 00501 #define traceTASK_CREATE_FAILED() 00502 #endif 00503 00504 #ifndef traceTASK_DELETE 00505 #define traceTASK_DELETE( pxTaskToDelete ) 00506 #endif 00507 00508 #ifndef traceTASK_DELAY_UNTIL 00509 #define traceTASK_DELAY_UNTIL() 00510 #endif 00511 00512 #ifndef traceTASK_DELAY 00513 #define traceTASK_DELAY() 00514 #endif 00515 00516 #ifndef traceTASK_PRIORITY_SET 00517 #define traceTASK_PRIORITY_SET( pxTask, uxNewPriority ) 00518 #endif 00519 00520 #ifndef traceTASK_SUSPEND 00521 #define traceTASK_SUSPEND( pxTaskToSuspend ) 00522 #endif 00523 00524 #ifndef traceTASK_RESUME 00525 #define traceTASK_RESUME( pxTaskToResume ) 00526 #endif 00527 00528 #ifndef traceTASK_RESUME_FROM_ISR 00529 #define traceTASK_RESUME_FROM_ISR( pxTaskToResume ) 00530 #endif 00531 00532 #ifndef traceTASK_INCREMENT_TICK 00533 #define traceTASK_INCREMENT_TICK( xTickCount ) 00534 #endif 00535 00536 #ifndef traceTIMER_CREATE 00537 #define traceTIMER_CREATE( pxNewTimer ) 00538 #endif 00539 00540 #ifndef traceTIMER_CREATE_FAILED 00541 #define traceTIMER_CREATE_FAILED() 00542 #endif 00543 00544 #ifndef traceTIMER_COMMAND_SEND 00545 #define traceTIMER_COMMAND_SEND( xTimer, xMessageID, xMessageValueValue, xReturn ) 00546 #endif 00547 00548 #ifndef traceTIMER_EXPIRED 00549 #define traceTIMER_EXPIRED( pxTimer ) 00550 #endif 00551 00552 #ifndef traceTIMER_COMMAND_RECEIVED 00553 #define traceTIMER_COMMAND_RECEIVED( pxTimer, xMessageID, xMessageValue ) 00554 #endif 00555 00556 #ifndef traceMALLOC 00557 #define traceMALLOC( pvAddress, uiSize ) 00558 #endif 00559 00560 #ifndef traceFREE 00561 #define traceFREE( pvAddress, uiSize ) 00562 #endif 00563 00564 #ifndef traceEVENT_GROUP_CREATE 00565 #define traceEVENT_GROUP_CREATE( xEventGroup ) 00566 #endif 00567 00568 #ifndef traceEVENT_GROUP_CREATE_FAILED 00569 #define traceEVENT_GROUP_CREATE_FAILED() 00570 #endif 00571 00572 #ifndef traceEVENT_GROUP_SYNC_BLOCK 00573 #define traceEVENT_GROUP_SYNC_BLOCK( xEventGroup, uxBitsToSet, uxBitsToWaitFor ) 00574 #endif 00575 00576 #ifndef traceEVENT_GROUP_SYNC_END 00577 #define traceEVENT_GROUP_SYNC_END( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTimeoutOccurred ) ( void ) xTimeoutOccurred 00578 #endif 00579 00580 #ifndef traceEVENT_GROUP_WAIT_BITS_BLOCK 00581 #define traceEVENT_GROUP_WAIT_BITS_BLOCK( xEventGroup, uxBitsToWaitFor ) 00582 #endif 00583 00584 #ifndef traceEVENT_GROUP_WAIT_BITS_END 00585 #define traceEVENT_GROUP_WAIT_BITS_END( xEventGroup, uxBitsToWaitFor, xTimeoutOccurred ) ( void ) xTimeoutOccurred 00586 #endif 00587 00588 #ifndef traceEVENT_GROUP_CLEAR_BITS 00589 #define traceEVENT_GROUP_CLEAR_BITS( xEventGroup, uxBitsToClear ) 00590 #endif 00591 00592 #ifndef traceEVENT_GROUP_CLEAR_BITS_FROM_ISR 00593 #define traceEVENT_GROUP_CLEAR_BITS_FROM_ISR( xEventGroup, uxBitsToClear ) 00594 #endif 00595 00596 #ifndef traceEVENT_GROUP_SET_BITS 00597 #define traceEVENT_GROUP_SET_BITS( xEventGroup, uxBitsToSet ) 00598 #endif 00599 00600 #ifndef traceEVENT_GROUP_SET_BITS_FROM_ISR 00601 #define traceEVENT_GROUP_SET_BITS_FROM_ISR( xEventGroup, uxBitsToSet ) 00602 #endif 00603 00604 #ifndef traceEVENT_GROUP_DELETE 00605 #define traceEVENT_GROUP_DELETE( xEventGroup ) 00606 #endif 00607 00608 #ifndef tracePEND_FUNC_CALL 00609 #define tracePEND_FUNC_CALL(xFunctionToPend, pvParameter1, ulParameter2, ret) 00610 #endif 00611 00612 #ifndef tracePEND_FUNC_CALL_FROM_ISR 00613 #define tracePEND_FUNC_CALL_FROM_ISR(xFunctionToPend, pvParameter1, ulParameter2, ret) 00614 #endif 00615 00616 #ifndef traceQUEUE_REGISTRY_ADD 00617 #define traceQUEUE_REGISTRY_ADD(xQueue, pcQueueName) 00618 #endif 00619 00620 #ifndef configGENERATE_RUN_TIME_STATS 00621 #define configGENERATE_RUN_TIME_STATS 0 00622 #endif 00623 00624 #if ( configGENERATE_RUN_TIME_STATS == 1 ) 00625 00626 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS 00627 #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. 00628 #endif /* portCONFIGURE_TIMER_FOR_RUN_TIME_STATS */ 00629 00630 #ifndef portGET_RUN_TIME_COUNTER_VALUE 00631 #ifndef portALT_GET_RUN_TIME_COUNTER_VALUE 00632 #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. 00633 #endif /* portALT_GET_RUN_TIME_COUNTER_VALUE */ 00634 #endif /* portGET_RUN_TIME_COUNTER_VALUE */ 00635 00636 #endif /* configGENERATE_RUN_TIME_STATS */ 00637 00638 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS 00639 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() 00640 #endif 00641 00642 #ifndef configUSE_MALLOC_FAILED_HOOK 00643 #define configUSE_MALLOC_FAILED_HOOK 0 00644 #endif 00645 00646 #ifndef portPRIVILEGE_BIT 00647 #define portPRIVILEGE_BIT ( ( UBaseType_t ) 0x00 ) 00648 #endif 00649 00650 #ifndef portYIELD_WITHIN_API 00651 #define portYIELD_WITHIN_API portYIELD 00652 #endif 00653 00654 #ifndef pvPortMallocAligned 00655 #define pvPortMallocAligned( x, puxStackBuffer ) ( ( ( puxStackBuffer ) == NULL ) ? ( pvPortMalloc( ( x ) ) ) : ( puxStackBuffer ) ) 00656 #endif 00657 00658 #ifndef vPortFreeAligned 00659 #define vPortFreeAligned( pvBlockToFree ) vPortFree( pvBlockToFree ) 00660 #endif 00661 00662 #ifndef portSUPPRESS_TICKS_AND_SLEEP 00663 #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime ) 00664 #endif 00665 00666 #ifndef configEXPECTED_IDLE_TIME_BEFORE_SLEEP 00667 #define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 2 00668 #endif 00669 00670 #if configEXPECTED_IDLE_TIME_BEFORE_SLEEP < 2 00671 #error configEXPECTED_IDLE_TIME_BEFORE_SLEEP must not be less than 2 00672 #endif 00673 00674 #ifndef configUSE_TICKLESS_IDLE 00675 #define configUSE_TICKLESS_IDLE 0 00676 #endif 00677 00678 #ifndef configPRE_SLEEP_PROCESSING 00679 #define configPRE_SLEEP_PROCESSING( x ) 00680 #endif 00681 00682 #ifndef configPOST_SLEEP_PROCESSING 00683 #define configPOST_SLEEP_PROCESSING( x ) 00684 #endif 00685 00686 #ifndef configUSE_QUEUE_SETS 00687 #define configUSE_QUEUE_SETS 0 00688 #endif 00689 00690 #ifndef portTASK_USES_FLOATING_POINT 00691 #define portTASK_USES_FLOATING_POINT() 00692 #endif 00693 00694 #ifndef configUSE_TIME_SLICING 00695 #define configUSE_TIME_SLICING 1 00696 #endif 00697 00698 #ifndef configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS 00699 #define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS 0 00700 #endif 00701 00702 #ifndef configUSE_NEWLIB_REENTRANT 00703 #define configUSE_NEWLIB_REENTRANT 0 00704 #endif 00705 00706 #ifndef configUSE_STATS_FORMATTING_FUNCTIONS 00707 #define configUSE_STATS_FORMATTING_FUNCTIONS 0 00708 #endif 00709 00710 #ifndef portASSERT_IF_INTERRUPT_PRIORITY_INVALID 00711 #define portASSERT_IF_INTERRUPT_PRIORITY_INVALID() 00712 #endif 00713 00714 #ifndef configUSE_TRACE_FACILITY 00715 #define configUSE_TRACE_FACILITY 0 00716 #endif 00717 00718 #ifndef mtCOVERAGE_TEST_MARKER 00719 #define mtCOVERAGE_TEST_MARKER() 00720 #endif 00721 00722 #ifndef mtCOVERAGE_TEST_DELAY 00723 #define mtCOVERAGE_TEST_DELAY() 00724 #endif 00725 00726 #ifndef portASSERT_IF_IN_ISR 00727 #define portASSERT_IF_IN_ISR() 00728 #endif 00729 00730 #ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION 00731 #define configUSE_PORT_OPTIMISED_TASK_SELECTION 0 00732 #endif 00733 00734 #ifndef configAPPLICATION_ALLOCATED_HEAP 00735 #define configAPPLICATION_ALLOCATED_HEAP 0 00736 #endif 00737 00738 #ifndef configUSE_TASK_NOTIFICATIONS 00739 #define configUSE_TASK_NOTIFICATIONS 1 00740 #endif 00741 00742 #ifndef portTICK_TYPE_IS_ATOMIC 00743 #define portTICK_TYPE_IS_ATOMIC 0 00744 #endif 00745 00746 #if( portTICK_TYPE_IS_ATOMIC == 0 ) 00747 /* Either variables of tick type cannot be read atomically, or 00748 portTICK_TYPE_IS_ATOMIC was not set - map the critical sections used when 00749 the tick count is returned to the standard critical section macros. */ 00750 #define portTICK_TYPE_ENTER_CRITICAL() portENTER_CRITICAL() 00751 #define portTICK_TYPE_EXIT_CRITICAL() portEXIT_CRITICAL() 00752 #define portTICK_TYPE_SET_INTERRUPT_MASK_FROM_ISR() portSET_INTERRUPT_MASK_FROM_ISR() 00753 #define portTICK_TYPE_CLEAR_INTERRUPT_MASK_FROM_ISR( x ) portCLEAR_INTERRUPT_MASK_FROM_ISR( ( x ) ) 00754 #else 00755 /* The tick type can be read atomically, so critical sections used when the 00756 tick count is returned can be defined away. */ 00757 #define portTICK_TYPE_ENTER_CRITICAL() 00758 #define portTICK_TYPE_EXIT_CRITICAL() 00759 #define portTICK_TYPE_SET_INTERRUPT_MASK_FROM_ISR() 0 00760 #define portTICK_TYPE_CLEAR_INTERRUPT_MASK_FROM_ISR( x ) ( void ) x 00761 #endif 00762 00763 /* Definitions to allow backward compatibility with FreeRTOS versions prior to 00764 V8 if desired. */ 00765 #ifndef configENABLE_BACKWARD_COMPATIBILITY 00766 #define configENABLE_BACKWARD_COMPATIBILITY 1 00767 #endif 00768 00769 #if configENABLE_BACKWARD_COMPATIBILITY == 1 00770 #define eTaskStateGet eTaskGetState 00771 #define portTickType TickType_t 00772 #define xTaskHandle TaskHandle_t 00773 #define xQueueHandle QueueHandle_t 00774 #define xSemaphoreHandle SemaphoreHandle_t 00775 #define xQueueSetHandle QueueSetHandle_t 00776 #define xQueueSetMemberHandle QueueSetMemberHandle_t 00777 #define xTimeOutType TimeOut_t 00778 #define xMemoryRegion MemoryRegion_t 00779 #define xTaskParameters TaskParameters_t 00780 #define xTaskStatusType TaskStatus_t 00781 #define xTimerHandle TimerHandle_t 00782 #define xCoRoutineHandle CoRoutineHandle_t 00783 #define pdTASK_HOOK_CODE TaskHookFunction_t 00784 #define portTICK_RATE_MS portTICK_PERIOD_MS 00785 00786 /* Backward compatibility within the scheduler code only - these definitions 00787 are not really required but are included for completeness. */ 00788 #define tmrTIMER_CALLBACK TimerCallbackFunction_t 00789 #define pdTASK_CODE TaskFunction_t 00790 #define xListItem ListItem_t 00791 #define xList List_t 00792 #endif /* configENABLE_BACKWARD_COMPATIBILITY */ 00793 00794 #ifdef __cplusplus 00795 } 00796 #endif 00797 00798 #endif /* INC_FREERTOS_H */ 00799 00800
Generated on Tue Jul 12 2022 18:55:10 by 1.7.2