@@ -704,10 +704,10 @@
1
0
0
- 9
+ 0
0
- 7
- 11
+ 1
+ 1
0
..\src\main.c
main.c
@@ -1050,7 +1050,7 @@
0
31
0
- 219
+ 220
229
0
..\..\..\tinyusb\class\hid_host.c
@@ -1170,7 +1170,7 @@
0
5
0
- 43
+ 44
54
0
..\..\..\vendor\freertos\freertoslpc\FreeRTOSCommonHooks.c
diff --git a/demos/host/src/main.c b/demos/host/src/main.c
index 8fd7f7fb..492fcad9 100644
--- a/demos/host/src/main.c
+++ b/demos/host/src/main.c
@@ -121,7 +121,7 @@ int main(void)
tusb_init();
//------------- application task init -------------//
- (void) osal_task_create( OSAL_TASK_REF(led_blinking_task) );
+ if( osal_task_create( OSAL_TASK_REF(led_blinking_task) ) != TUSB_ERROR_NONE ) while(1){}
keyboard_app_init();
mouse_app_init();
diff --git a/vendor/freertos/FreeRTOSConfig_cm4f.h b/vendor/freertos/FreeRTOSConfig_cm4f.h
index 4718dd7c..8a79104d 100644
--- a/vendor/freertos/FreeRTOSConfig_cm4f.h
+++ b/vendor/freertos/FreeRTOSConfig_cm4f.h
@@ -145,7 +145,7 @@ to all Cortex-M ports, and do not rely on any particular library functions. */
/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!!
See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */
#define configMAX_SYSCALL_INTERRUPT_PRIORITY ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )
-
+
/* Normal assert() semantics without relying on the provision of an assert.h
header file. */
#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); hal_debugger_breakpoint(); }
diff --git a/vendor/freertos/freertos/Source/include/croutine.h b/vendor/freertos/freertos/Source/include/croutine.h
index a2f6f909..317dd1a7 100644
--- a/vendor/freertos/freertos/Source/include/croutine.h
+++ b/vendor/freertos/freertos/Source/include/croutine.h
@@ -1,7 +1,7 @@
/*
FreeRTOS V7.3.0 - Copyright (C) 2012 Real Time Engineers Ltd.
- FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT
+ FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT
http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
***************************************************************************
@@ -42,7 +42,7 @@
FreeRTOS WEB site.
1 tab == 4 spaces!
-
+
***************************************************************************
* *
* Having a problem? Start by reading the FAQ "My application does *
@@ -52,17 +52,17 @@
* *
***************************************************************************
-
- http://www.FreeRTOS.org - Documentation, training, latest versions, license
- and contact details.
-
+
+ http://www.FreeRTOS.org - Documentation, training, latest versions, license
+ and contact details.
+
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
including FreeRTOS+Trace - an indispensable productivity tool.
- Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
- the code with commercial support, indemnification, and middleware, under
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
- provide a safety engineered and independently SIL3 certified version under
+ provide a safety engineered and independently SIL3 certified version under
the SafeRTOS brand: http://www.SafeRTOS.com.
*/
@@ -156,7 +156,7 @@ typedef struct corCoRoutineControlBlock
{
unsigned char ucParameterToPass;
xTaskHandle xHandle;
-
+
// Create two co-routines at priority 0. The first is given index 0
// so (from the code above) toggles LED 5 every 200 ticks. The second
// is given index 1 so toggles LED 6 every 400 ticks.
diff --git a/vendor/freertos/freertos/Source/include/list.h b/vendor/freertos/freertos/Source/include/list.h
index 3b94593d..facd702c 100644
--- a/vendor/freertos/freertos/Source/include/list.h
+++ b/vendor/freertos/freertos/Source/include/list.h
@@ -1,7 +1,7 @@
/*
FreeRTOS V7.3.0 - Copyright (C) 2012 Real Time Engineers Ltd.
- FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT
+ FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT
http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
***************************************************************************
@@ -42,7 +42,7 @@
FreeRTOS WEB site.
1 tab == 4 spaces!
-
+
***************************************************************************
* *
* Having a problem? Start by reading the FAQ "My application does *
@@ -52,17 +52,17 @@
* *
***************************************************************************
-
- http://www.FreeRTOS.org - Documentation, training, latest versions, license
- and contact details.
-
+
+ http://www.FreeRTOS.org - Documentation, training, latest versions, license
+ and contact details.
+
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
including FreeRTOS+Trace - an indispensable productivity tool.
- Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
- the code with commercial support, indemnification, and middleware, under
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
- provide a safety engineered and independently SIL3 certified version under
+ provide a safety engineered and independently SIL3 certified version under
the SafeRTOS brand: http://www.SafeRTOS.com.
*/
@@ -333,7 +333,7 @@ void vListInsertEnd( xList *pxList, xListItem *pxNewListItem );
*
* @param uxListRemove The item to be removed. The item will remove itself from
* the list pointed to by it's pxContainer parameter.
- *
+ *
* @return The number of items that remain in the list after the list item has
* been removed.
*
diff --git a/vendor/freertos/freertos/Source/include/mpu_wrappers.h b/vendor/freertos/freertos/Source/include/mpu_wrappers.h
index 6d3623e2..5ea46d95 100644
--- a/vendor/freertos/freertos/Source/include/mpu_wrappers.h
+++ b/vendor/freertos/freertos/Source/include/mpu_wrappers.h
@@ -1,7 +1,7 @@
/*
FreeRTOS V7.3.0 - Copyright (C) 2012 Real Time Engineers Ltd.
- FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT
+ FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT
http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
***************************************************************************
@@ -42,7 +42,7 @@
FreeRTOS WEB site.
1 tab == 4 spaces!
-
+
***************************************************************************
* *
* Having a problem? Start by reading the FAQ "My application does *
@@ -52,17 +52,17 @@
* *
***************************************************************************
-
- http://www.FreeRTOS.org - Documentation, training, latest versions, license
- and contact details.
-
+
+ http://www.FreeRTOS.org - Documentation, training, latest versions, license
+ and contact details.
+
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
including FreeRTOS+Trace - an indispensable productivity tool.
- Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
- the code with commercial support, indemnification, and middleware, under
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
- provide a safety engineered and independently SIL3 certified version under
+ provide a safety engineered and independently SIL3 certified version under
the SafeRTOS brand: http://www.SafeRTOS.com.
*/
diff --git a/vendor/freertos/freertos/Source/include/queue.h b/vendor/freertos/freertos/Source/include/queue.h
index ef74d99e..a7e13d1e 100644
--- a/vendor/freertos/freertos/Source/include/queue.h
+++ b/vendor/freertos/freertos/Source/include/queue.h
@@ -1,7 +1,7 @@
/*
FreeRTOS V7.3.0 - Copyright (C) 2012 Real Time Engineers Ltd.
- FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT
+ FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT
http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
***************************************************************************
@@ -42,7 +42,7 @@
FreeRTOS WEB site.
1 tab == 4 spaces!
-
+
***************************************************************************
* *
* Having a problem? Start by reading the FAQ "My application does *
@@ -52,17 +52,17 @@
* *
***************************************************************************
-
- http://www.FreeRTOS.org - Documentation, training, latest versions, license
- and contact details.
-
+
+ http://www.FreeRTOS.org - Documentation, training, latest versions, license
+ and contact details.
+
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
including FreeRTOS+Trace - an indispensable productivity tool.
- Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
- the code with commercial support, indemnification, and middleware, under
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
- provide a safety engineered and independently SIL3 certified version under
+ provide a safety engineered and independently SIL3 certified version under
the SafeRTOS brand: http://www.SafeRTOS.com.
*/
@@ -1236,8 +1236,8 @@ signed portBASE_TYPE xQueueCRSend( xQueueHandle pxQueue, const void *pvItemToQue
signed portBASE_TYPE xQueueCRReceive( xQueueHandle pxQueue, void *pvBuffer, portTickType xTicksToWait );
/*
- * For internal use only. Use xSemaphoreCreateMutex(),
- * xSemaphoreCreateCounting() or xSemaphoreGetMutexHolder() instead of calling
+ * For internal use only. Use xSemaphoreCreateMutex(),
+ * xSemaphoreCreateCounting() or xSemaphoreGetMutexHolder() instead of calling
* these functions directly.
*/
xQueueHandle xQueueCreateMutex( unsigned char ucQueueType );
@@ -1284,7 +1284,7 @@ portBASE_TYPE xQueueGiveMutexRecursive( xQueueHandle pxMutex );
#endif
/*
- * Generic version of the queue creation function, which is in turn called by
+ * Generic version of the queue creation function, which is in turn called by
* any queue, semaphore or mutex creation function or macro.
*/
xQueueHandle xQueueGenericCreate( unsigned portBASE_TYPE uxQueueLength, unsigned portBASE_TYPE uxItemSize, unsigned char ucQueueType );
diff --git a/vendor/freertos/freertos/Source/include/semphr.h b/vendor/freertos/freertos/Source/include/semphr.h
index 3ca1037b..837804f6 100644
--- a/vendor/freertos/freertos/Source/include/semphr.h
+++ b/vendor/freertos/freertos/Source/include/semphr.h
@@ -1,7 +1,7 @@
/*
FreeRTOS V7.3.0 - Copyright (C) 2012 Real Time Engineers Ltd.
- FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT
+ FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT
http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
***************************************************************************
@@ -42,7 +42,7 @@
FreeRTOS WEB site.
1 tab == 4 spaces!
-
+
***************************************************************************
* *
* Having a problem? Start by reading the FAQ "My application does *
@@ -52,17 +52,17 @@
* *
***************************************************************************
-
- http://www.FreeRTOS.org - Documentation, training, latest versions, license
- and contact details.
-
+
+ http://www.FreeRTOS.org - Documentation, training, latest versions, license
+ and contact details.
+
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
including FreeRTOS+Trace - an indispensable productivity tool.
- Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
- the code with commercial support, indemnification, and middleware, under
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
- provide a safety engineered and independently SIL3 certified version under
+ provide a safety engineered and independently SIL3 certified version under
the SafeRTOS brand: http://www.SafeRTOS.com.
*/
@@ -113,7 +113,7 @@ typedef xQueueHandle xSemaphoreHandle;
if( xSemaphore != NULL )
{
// The semaphore was created successfully.
- // The semaphore can now be used.
+ // The semaphore can now be used.
}
}
@@ -131,9 +131,9 @@ typedef xQueueHandle xSemaphoreHandle;
/**
* semphr. h
- * xSemaphoreTake(
- * xSemaphoreHandle xSemaphore,
- * portTickType xBlockTime
+ * xSemaphoreTake(
+ * xSemaphoreHandle xSemaphore,
+ * portTickType xBlockTime
* )
*
* Macro to obtain a semaphore. The semaphore must have previously been
@@ -171,7 +171,7 @@ typedef xQueueHandle xSemaphoreHandle;
if( xSemaphore != NULL )
{
// See if we can obtain the semaphore. If the semaphore is not available
- // wait 10 ticks to see if it becomes free.
+ // wait 10 ticks to see if it becomes free.
if( xSemaphoreTake( xSemaphore, ( portTickType ) 10 ) == pdTRUE )
{
// We were able to obtain the semaphore and can now access the
@@ -179,7 +179,7 @@ typedef xQueueHandle xSemaphoreHandle;
// ...
- // We have finished accessing the shared resource. Release the
+ // We have finished accessing the shared resource. Release the
// semaphore.
xSemaphoreGive( xSemaphore );
}
@@ -198,24 +198,24 @@ typedef xQueueHandle xSemaphoreHandle;
/**
* semphr. h
- * xSemaphoreTakeRecursive(
- * xSemaphoreHandle xMutex,
- * portTickType xBlockTime
+ * xSemaphoreTakeRecursive(
+ * xSemaphoreHandle xMutex,
+ * portTickType xBlockTime
* )
*
- * Macro to recursively obtain, or 'take', a mutex type semaphore.
- * The mutex must have previously been created using a call to
+ * Macro to recursively obtain, or 'take', a mutex type semaphore.
+ * The mutex must have previously been created using a call to
* xSemaphoreCreateRecursiveMutex();
- *
+ *
* configUSE_RECURSIVE_MUTEXES must be set to 1 in FreeRTOSConfig.h for this
* macro to be available.
- *
+ *
* This macro must not be used on mutexes created using xSemaphoreCreateMutex().
*
- * A mutex used recursively can be 'taken' repeatedly by the owner. The mutex
- * doesn't become available again until the owner has called
- * xSemaphoreGiveRecursive() for each successful 'take' request. For example,
- * if a task successfully 'takes' the same mutex 5 times then the mutex will
+ * A mutex used recursively can be 'taken' repeatedly by the owner. The mutex
+ * doesn't become available again until the owner has called
+ * xSemaphoreGiveRecursive() for each successful 'take' request. For example,
+ * if a task successfully 'takes' the same mutex 5 times then the mutex will
* not be available to any other task until it has also 'given' the mutex back
* exactly five times.
*
@@ -226,7 +226,7 @@ typedef xQueueHandle xSemaphoreHandle;
* available. The macro portTICK_RATE_MS can be used to convert this to a
* real time. A block time of zero can be used to poll the semaphore. If
* the task already owns the semaphore then xSemaphoreTakeRecursive() will
- * return immediately no matter what the value of xBlockTime.
+ * return immediately no matter what the value of xBlockTime.
*
* @return pdTRUE if the semaphore was obtained. pdFALSE if xBlockTime
* expired without the semaphore becoming available.
@@ -250,14 +250,14 @@ typedef xQueueHandle xSemaphoreHandle;
if( xMutex != NULL )
{
// See if we can obtain the mutex. If the mutex is not available
- // wait 10 ticks to see if it becomes free.
+ // wait 10 ticks to see if it becomes free.
if( xSemaphoreTakeRecursive( xSemaphore, ( portTickType ) 10 ) == pdTRUE )
{
// We were able to obtain the mutex and can now access the
// shared resource.
// ...
- // For some reason due to the nature of the code further calls to
+ // For some reason due to the nature of the code further calls to
// xSemaphoreTakeRecursive() are made on the same mutex. In real
// code these would not be just sequential calls as this would make
// no sense. Instead the calls are likely to be buried inside
@@ -265,7 +265,7 @@ typedef xQueueHandle xSemaphoreHandle;
xSemaphoreTakeRecursive( xMutex, ( portTickType ) 10 );
xSemaphoreTakeRecursive( xMutex, ( portTickType ) 10 );
- // The mutex has now been 'taken' three times, so will not be
+ // The mutex has now been 'taken' three times, so will not be
// available to another task until it has also been given back
// three times. Again it is unlikely that real code would have
// these calls sequentially, but instead buried in a more complex
@@ -290,15 +290,15 @@ typedef xQueueHandle xSemaphoreHandle;
#define xSemaphoreTakeRecursive( xMutex, xBlockTime ) xQueueTakeMutexRecursive( ( xMutex ), ( xBlockTime ) )
-/*
+/*
* xSemaphoreAltTake() is an alternative version of xSemaphoreTake().
*
- * The source code that implements the alternative (Alt) API is much
- * simpler because it executes everything from within a critical section.
- * This is the approach taken by many other RTOSes, but FreeRTOS.org has the
- * preferred fully featured API too. The fully featured API has more
- * complex code that takes longer to execute, but makes much less use of
- * critical sections. Therefore the alternative API sacrifices interrupt
+ * The source code that implements the alternative (Alt) API is much
+ * simpler because it executes everything from within a critical section.
+ * This is the approach taken by many other RTOSes, but FreeRTOS.org has the
+ * preferred fully featured API too. The fully featured API has more
+ * complex code that takes longer to execute, but makes much less use of
+ * critical sections. Therefore the alternative API sacrifices interrupt
* responsiveness to gain execution speed, whereas the fully featured API
* sacrifices execution speed to ensure better interrupt responsiveness.
*/
@@ -315,7 +315,7 @@ typedef xQueueHandle xSemaphoreHandle;
* This macro must not be used from an ISR. See xSemaphoreGiveFromISR () for
* an alternative which can be used from an ISR.
*
- * This macro must also not be used on semaphores created using
+ * This macro must also not be used on semaphores created using
* xSemaphoreCreateRecursiveMutex().
*
* @param xSemaphore A handle to the semaphore being released. This is the
@@ -323,7 +323,7 @@ typedef xQueueHandle xSemaphoreHandle;
*
* @return pdTRUE if the semaphore was released. pdFALSE if an error occurred.
* Semaphores are implemented using queues. An error can occur if there is
- * no space on the queue to post a message - indicating that the
+ * no space on the queue to post a message - indicating that the
* semaphore was not first obtained correctly.
*
* Example usage:
@@ -372,18 +372,18 @@ typedef xQueueHandle xSemaphoreHandle;
* xSemaphoreGiveRecursive( xSemaphoreHandle xMutex )
*
* Macro to recursively release, or 'give', a mutex type semaphore.
- * The mutex must have previously been created using a call to
+ * The mutex must have previously been created using a call to
* xSemaphoreCreateRecursiveMutex();
- *
+ *
* configUSE_RECURSIVE_MUTEXES must be set to 1 in FreeRTOSConfig.h for this
* macro to be available.
*
* This macro must not be used on mutexes created using xSemaphoreCreateMutex().
- *
- * A mutex used recursively can be 'taken' repeatedly by the owner. The mutex
- * doesn't become available again until the owner has called
- * xSemaphoreGiveRecursive() for each successful 'take' request. For example,
- * if a task successfully 'takes' the same mutex 5 times then the mutex will
+ *
+ * A mutex used recursively can be 'taken' repeatedly by the owner. The mutex
+ * doesn't become available again until the owner has called
+ * xSemaphoreGiveRecursive() for each successful 'take' request. For example,
+ * if a task successfully 'takes' the same mutex 5 times then the mutex will
* not be available to any other task until it has also 'given' the mutex back
* exactly five times.
*
@@ -411,14 +411,14 @@ typedef xQueueHandle xSemaphoreHandle;
if( xMutex != NULL )
{
// See if we can obtain the mutex. If the mutex is not available
- // wait 10 ticks to see if it becomes free.
+ // wait 10 ticks to see if it becomes free.
if( xSemaphoreTakeRecursive( xMutex, ( portTickType ) 10 ) == pdTRUE )
{
// We were able to obtain the mutex and can now access the
// shared resource.
// ...
- // For some reason due to the nature of the code further calls to
+ // For some reason due to the nature of the code further calls to
// xSemaphoreTakeRecursive() are made on the same mutex. In real
// code these would not be just sequential calls as this would make
// no sense. Instead the calls are likely to be buried inside
@@ -426,7 +426,7 @@ typedef xQueueHandle xSemaphoreHandle;
xSemaphoreTakeRecursive( xMutex, ( portTickType ) 10 );
xSemaphoreTakeRecursive( xMutex, ( portTickType ) 10 );
- // The mutex has now been 'taken' three times, so will not be
+ // The mutex has now been 'taken' three times, so will not be
// available to another task until it has also been given back
// three times. Again it is unlikely that real code would have
// these calls sequentially, it would be more likely that the calls
@@ -451,15 +451,15 @@ typedef xQueueHandle xSemaphoreHandle;
*/
#define xSemaphoreGiveRecursive( xMutex ) xQueueGiveMutexRecursive( ( xMutex ) )
-/*
+/*
* xSemaphoreAltGive() is an alternative version of xSemaphoreGive().
*
- * The source code that implements the alternative (Alt) API is much
- * simpler because it executes everything from within a critical section.
- * This is the approach taken by many other RTOSes, but FreeRTOS.org has the
- * preferred fully featured API too. The fully featured API has more
- * complex code that takes longer to execute, but makes much less use of
- * critical sections. Therefore the alternative API sacrifices interrupt
+ * The source code that implements the alternative (Alt) API is much
+ * simpler because it executes everything from within a critical section.
+ * This is the approach taken by many other RTOSes, but FreeRTOS.org has the
+ * preferred fully featured API too. The fully featured API has more
+ * complex code that takes longer to execute, but makes much less use of
+ * critical sections. Therefore the alternative API sacrifices interrupt
* responsiveness to gain execution speed, whereas the fully featured API
* sacrifices execution speed to ensure better interrupt responsiveness.
*/
@@ -468,8 +468,8 @@ typedef xQueueHandle xSemaphoreHandle;
/**
* semphr. h
*
- xSemaphoreGiveFromISR(
- xSemaphoreHandle xSemaphore,
+ xSemaphoreGiveFromISR(
+ xSemaphoreHandle xSemaphore,
signed portBASE_TYPE *pxHigherPriorityTaskWoken
)
*
@@ -503,7 +503,7 @@ typedef xQueueHandle xSemaphoreHandle;
{
for( ;; )
{
- // We want this task to run every 10 ticks of a timer. The semaphore
+ // We want this task to run every 10 ticks of a timer. The semaphore
// was created before this task was started.
// Block waiting for the semaphore to become available.
@@ -514,7 +514,7 @@ typedef xQueueHandle xSemaphoreHandle;
// ...
// We have finished our task. Return to the top of the loop where
- // we will block on the semaphore until it is time to execute
+ // we will block on the semaphore until it is time to execute
// again. Note when using the semaphore for synchronisation with an
// ISR in this manner there is no need to 'give' the semaphore back.
}
@@ -559,13 +559,13 @@ typedef xQueueHandle xSemaphoreHandle;
/**
* semphr. h
*
- xSemaphoreTakeFromISR(
- xSemaphoreHandle xSemaphore,
+ xSemaphoreTakeFromISR(
+ xSemaphoreHandle xSemaphore,
signed portBASE_TYPE *pxHigherPriorityTaskWoken
)
*
- * Macro to take a semaphore from an ISR. The semaphore must have
- * previously been created with a call to vSemaphoreCreateBinary() or
+ * Macro to take a semaphore from an ISR. The semaphore must have
+ * previously been created with a call to vSemaphoreCreateBinary() or
* xSemaphoreCreateCounting().
*
* Mutex type semaphores (those created using a call to xSemaphoreCreateMutex())
@@ -585,7 +585,7 @@ typedef xQueueHandle xSemaphoreHandle;
* running task. If xSemaphoreTakeFromISR() sets this value to pdTRUE then
* a context switch should be requested before the interrupt is exited.
*
- * @return pdTRUE if the semaphore was successfully taken, otherwise
+ * @return pdTRUE if the semaphore was successfully taken, otherwise
* pdFALSE
*/
#define xSemaphoreTakeFromISR( xSemaphore, pxHigherPriorityTaskWoken ) xQueueReceiveFromISR( ( xQueueHandle ) ( xSemaphore ), NULL, ( pxHigherPriorityTaskWoken ) )
@@ -594,25 +594,25 @@ typedef xQueueHandle xSemaphoreHandle;
* semphr. h
* xSemaphoreHandle xSemaphoreCreateMutex( void )
*
- * Macro that implements a mutex semaphore by using the existing queue
+ * Macro that implements a mutex semaphore by using the existing queue
* mechanism.
*
* Mutexes created using this macro can be accessed using the xSemaphoreTake()
- * and xSemaphoreGive() macros. The xSemaphoreTakeRecursive() and
+ * and xSemaphoreGive() macros. The xSemaphoreTakeRecursive() and
* xSemaphoreGiveRecursive() macros should not be used.
- *
- * This type of semaphore uses a priority inheritance mechanism so a task
- * 'taking' a semaphore MUST ALWAYS 'give' the semaphore back once the
- * semaphore it is no longer required.
*
- * Mutex type semaphores cannot be used from within interrupt service routines.
+ * This type of semaphore uses a priority inheritance mechanism so a task
+ * 'taking' a semaphore MUST ALWAYS 'give' the semaphore back once the
+ * semaphore it is no longer required.
*
- * See vSemaphoreCreateBinary() for an alternative implementation that can be
- * used for pure synchronisation (where one task or interrupt always 'gives' the
- * semaphore and another always 'takes' the semaphore) and from within interrupt
+ * Mutex type semaphores cannot be used from within interrupt service routines.
+ *
+ * See vSemaphoreCreateBinary() for an alternative implementation that can be
+ * used for pure synchronisation (where one task or interrupt always 'gives' the
+ * semaphore and another always 'takes' the semaphore) and from within interrupt
* service routines.
*
- * @return xSemaphore Handle to the created mutex semaphore. Should be of type
+ * @return xSemaphore Handle to the created mutex semaphore. Should be of type
* xSemaphoreHandle.
*
* Example usage:
@@ -628,7 +628,7 @@ typedef xQueueHandle xSemaphoreHandle;
if( xSemaphore != NULL )
{
// The semaphore was created successfully.
- // The semaphore can now be used.
+ // The semaphore can now be used.
}
}
@@ -642,32 +642,32 @@ typedef xQueueHandle xSemaphoreHandle;
* semphr. h
* xSemaphoreHandle xSemaphoreCreateRecursiveMutex( void )
*
- * Macro that implements a recursive mutex by using the existing queue
+ * Macro that implements a recursive mutex by using the existing queue
* mechanism.
*
- * Mutexes created using this macro can be accessed using the
- * xSemaphoreTakeRecursive() and xSemaphoreGiveRecursive() macros. The
+ * Mutexes created using this macro can be accessed using the
+ * xSemaphoreTakeRecursive() and xSemaphoreGiveRecursive() macros. The
* xSemaphoreTake() and xSemaphoreGive() macros should not be used.
*
- * A mutex used recursively can be 'taken' repeatedly by the owner. The mutex
- * doesn't become available again until the owner has called
- * xSemaphoreGiveRecursive() for each successful 'take' request. For example,
- * if a task successfully 'takes' the same mutex 5 times then the mutex will
+ * A mutex used recursively can be 'taken' repeatedly by the owner. The mutex
+ * doesn't become available again until the owner has called
+ * xSemaphoreGiveRecursive() for each successful 'take' request. For example,
+ * if a task successfully 'takes' the same mutex 5 times then the mutex will
* not be available to any other task until it has also 'given' the mutex back
* exactly five times.
- *
- * This type of semaphore uses a priority inheritance mechanism so a task
- * 'taking' a semaphore MUST ALWAYS 'give' the semaphore back once the
- * semaphore it is no longer required.
*
- * Mutex type semaphores cannot be used from within interrupt service routines.
+ * This type of semaphore uses a priority inheritance mechanism so a task
+ * 'taking' a semaphore MUST ALWAYS 'give' the semaphore back once the
+ * semaphore it is no longer required.
*
- * See vSemaphoreCreateBinary() for an alternative implementation that can be
- * used for pure synchronisation (where one task or interrupt always 'gives' the
- * semaphore and another always 'takes' the semaphore) and from within interrupt
+ * Mutex type semaphores cannot be used from within interrupt service routines.
+ *
+ * See vSemaphoreCreateBinary() for an alternative implementation that can be
+ * used for pure synchronisation (where one task or interrupt always 'gives' the
+ * semaphore and another always 'takes' the semaphore) and from within interrupt
* service routines.
*
- * @return xSemaphore Handle to the created mutex semaphore. Should be of type
+ * @return xSemaphore Handle to the created mutex semaphore. Should be of type
* xSemaphoreHandle.
*
* Example usage:
@@ -683,7 +683,7 @@ typedef xQueueHandle xSemaphoreHandle;
if( xSemaphore != NULL )
{
// The semaphore was created successfully.
- // The semaphore can now be used.
+ // The semaphore can now be used.
}
}
@@ -696,32 +696,32 @@ typedef xQueueHandle xSemaphoreHandle;
* semphr. h
* xSemaphoreHandle xSemaphoreCreateCounting( unsigned portBASE_TYPE uxMaxCount, unsigned portBASE_TYPE uxInitialCount )
*
- * Macro that creates a counting semaphore by using the existing
- * queue mechanism.
+ * Macro that creates a counting semaphore by using the existing
+ * queue mechanism.
*
* Counting semaphores are typically used for two things:
*
- * 1) Counting events.
+ * 1) Counting events.
*
* In this usage scenario an event handler will 'give' a semaphore each time
- * an event occurs (incrementing the semaphore count value), and a handler
- * task will 'take' a semaphore each time it processes an event
- * (decrementing the semaphore count value). The count value is therefore
- * the difference between the number of events that have occurred and the
- * number that have been processed. In this case it is desirable for the
+ * an event occurs (incrementing the semaphore count value), and a handler
+ * task will 'take' a semaphore each time it processes an event
+ * (decrementing the semaphore count value). The count value is therefore
+ * the difference between the number of events that have occurred and the
+ * number that have been processed. In this case it is desirable for the
* initial count value to be zero.
*
* 2) Resource management.
*
* In this usage scenario the count value indicates the number of resources
- * available. To obtain control of a resource a task must first obtain a
+ * available. To obtain control of a resource a task must first obtain a
* semaphore - decrementing the semaphore count value. When the count value
* reaches zero there are no free resources. When a task finishes with the
* resource it 'gives' the semaphore back - incrementing the semaphore count
* value. In this case it is desirable for the initial count value to be
* equal to the maximum count value, indicating that all resources are free.
*
- * @param uxMaxCount The maximum count value that can be reached. When the
+ * @param uxMaxCount The maximum count value that can be reached. When the
* semaphore reaches this value it can no longer be 'given'.
*
* @param uxInitialCount The count value assigned to the semaphore when it is
@@ -729,7 +729,7 @@ typedef xQueueHandle xSemaphoreHandle;
*
* @return Handle to the created semaphore. Null if the semaphore could not be
* created.
- *
+ *
* Example usage:
xSemaphoreHandle xSemaphore;
@@ -746,7 +746,7 @@ typedef xQueueHandle xSemaphoreHandle;
if( xSemaphore != NULL )
{
// The semaphore was created successfully.
- // The semaphore can now be used.
+ // The semaphore can now be used.
}
}
@@ -777,7 +777,7 @@ typedef xQueueHandle xSemaphoreHandle;
* If xMutex is not a mutex type semaphore, or the mutex is available (not held
* by a task), return NULL.
*
- * Note: This Is is a good way of determining if the calling task is the mutex
+ * Note: This Is is a good way of determining if the calling task is the mutex
* holder, but not a good way of determining the identity of the mutex holder as
* the holder may change between the function exiting and the returned value
* being tested.
diff --git a/vendor/freertos/freertos/Source/include/task.h b/vendor/freertos/freertos/Source/include/task.h
index 637a8ca8..ac55813b 100644
--- a/vendor/freertos/freertos/Source/include/task.h
+++ b/vendor/freertos/freertos/Source/include/task.h
@@ -41,7 +41,7 @@
1 tab == 4 spaces!
-
+
***************************************************************************
* *
* Having a problem? Start by reading the FAQ "My application does *
@@ -51,17 +51,17 @@
* *
***************************************************************************
-
- http://www.FreeRTOS.org - Documentation, training, latest information,
+
+ http://www.FreeRTOS.org - Documentation, training, latest information,
license and contact details.
-
+
http://www.FreeRTOS.org/plus - Selection of FreeRTOS ecosystem products,
including FreeRTOS+Trace - an indispensable productivity tool.
- Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
- the code with commercial support, indemnification, and middleware, under
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
- provide a safety engineered and independently SIL3 certified version under
+ provide a safety engineered and independently SIL3 certified version under
the SafeRTOS brand: http://www.SafeRTOS.com.
*/
@@ -332,7 +332,7 @@ static const xTaskParameters xCheckTaskParameters =
// the task, with appropriate access permissions. Different processors have
// different memory alignment requirements - refer to the FreeRTOS documentation
// for full information.
- {
+ {
// Base address Length Parameters
{ cReadWriteArray, 32, portMPU_REGION_READ_WRITE },
{ cReadOnlyArray, 32, portMPU_REGION_READ_ONLY },
@@ -383,7 +383,7 @@ xTaskHandle xHandle;
// ucOneKByte array. The other two of the maximum 3 definable regions are
// unused so set to zero.
static const xMemoryRegion xAltRegions[ portNUM_CONFIGURABLE_REGIONS ] =
-{
+{
// Base address Length Parameters
{ ucOneKByte, 1024, portMPU_REGION_READ_WRITE },
{ 0, 0, 0 },
@@ -399,7 +399,7 @@ void vATask( void *pvParameters )
// for this purpose. NULL is used as the task handle to indicate that this
// function should modify the MPU regions of the calling task.
vTaskAllocateMPURegions( NULL, xAltRegions );
-
+
// Now the task can continue its function, but from this point on can only
// access its stack and the ucOneKByte array (unless any other statically
// defined or shared regions have been declared elsewhere).
@@ -618,7 +618,7 @@ unsigned portBASE_TYPE uxTaskPriorityGet( xTaskHandle pxTask ) PRIVILEGED_FUNCTI
* INCLUDE_eTaskStateGet must be defined as 1 for this function to be available.
* See the configuration section for more information.
*
- * Obtain the state of any task. States are encoded by the eTaskState
+ * Obtain the state of any task. States are encoded by the eTaskState
* enumerated type.
*
* @param pxTask Handle of the task to be queried.
@@ -1174,7 +1174,7 @@ constant. */
portBASE_TYPE xTaskCallApplicationTaskHook( xTaskHandle xTask, void *pvParameter ) PRIVILEGED_FUNCTION;
/**
- * xTaskGetIdleTaskHandle() is only available if
+ * xTaskGetIdleTaskHandle() is only available if
* INCLUDE_xTaskGetIdleTaskHandle is set to 1 in FreeRTOSConfig.h.
*
* Simply returns the handle of the idle task. It is not valid to call
@@ -1314,7 +1314,7 @@ signed portBASE_TYPE xTaskGenericCreate( pdTASK_CODE pxTaskCode, const signed ch
*/
unsigned portBASE_TYPE uxTaskGetTaskNumber( xTaskHandle xTask );
-/*
+/*
* Set the uxTCBNumber of the task referenced by the xTask parameter to
* ucHandle.
*/
diff --git a/vendor/freertos/freertos/Source/portable/IAR/ARM_CM4F/portmacro.h b/vendor/freertos/freertos/Source/portable/IAR/ARM_CM4F/portmacro.h
index 76f8c177..0d243d4d 100644
--- a/vendor/freertos/freertos/Source/portable/IAR/ARM_CM4F/portmacro.h
+++ b/vendor/freertos/freertos/Source/portable/IAR/ARM_CM4F/portmacro.h
@@ -1,7 +1,7 @@
/*
FreeRTOS V7.3.0 - Copyright (C) 2012 Real Time Engineers Ltd.
- FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT
+ FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT
http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
***************************************************************************
@@ -42,7 +42,7 @@
FreeRTOS WEB site.
1 tab == 4 spaces!
-
+
***************************************************************************
* *
* Having a problem? Start by reading the FAQ "My application does *
@@ -52,17 +52,17 @@
* *
***************************************************************************
-
- http://www.FreeRTOS.org - Documentation, training, latest versions, license
- and contact details.
-
+
+ http://www.FreeRTOS.org - Documentation, training, latest versions, license
+ and contact details.
+
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
including FreeRTOS+Trace - an indispensable productivity tool.
- Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
- the code with commercial support, indemnification, and middleware, under
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
- provide a safety engineered and independently SIL3 certified version under
+ provide a safety engineered and independently SIL3 certified version under
the SafeRTOS brand: http://www.SafeRTOS.com.
*/
@@ -100,13 +100,13 @@ extern "C" {
typedef unsigned portLONG portTickType;
#define portMAX_DELAY ( portTickType ) 0xffffffff
#endif
-/*-----------------------------------------------------------*/
+/*-----------------------------------------------------------*/
/* Architecture specifics. */
#define portSTACK_GROWTH ( -1 )
-#define portTICK_RATE_MS ( ( portTickType ) 1000 / configTICK_RATE_HZ )
+#define portTICK_RATE_MS ( ( portTickType ) 1000 / configTICK_RATE_HZ )
#define portBYTE_ALIGNMENT 8
-/*-----------------------------------------------------------*/
+/*-----------------------------------------------------------*/
/* Scheduler utilities. */
extern void vPortYieldFromISR( void );
@@ -148,7 +148,7 @@ extern void vPortClearInterruptMask( unsigned long ulNewMask );
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x) vPortClearInterruptMask( x )
/*-----------------------------------------------------------*/
-/* There are an uneven number of items on the initial stack, so
+/* There are an uneven number of items on the initial stack, so
portALIGNMENT_ASSERT_pxCurrentTCB() will trigger false positive asserts. */
#define portALIGNMENT_ASSERT_pxCurrentTCB ( void )
/*-----------------------------------------------------------*/