Official ARM version: v5.6.0

This commit is contained in:
rihab kouki 2020-07-28 11:24:49 +01:00
parent 9f95ff5b6b
commit 96d6da4e25
2939 changed files with 339304 additions and 113320 deletions

View file

@ -129,7 +129,7 @@ $(document).ready(function(){initNavTree('CodingRules.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View file

@ -161,7 +161,7 @@ $(document).ready(function(){initNavTree('annotated.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -137,7 +137,7 @@ $(document).ready(function(){initNavTree('classes.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -1148,7 +1148,7 @@ dl.section dd {
.image
{
text-align: center;
text-align: left;
}
.dotgraph

View file

@ -712,7 +712,7 @@ Functions</h2></td></tr>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_a43355fbfff7212ac2193223a73d577c.html">RTOS2</a></li><li class="navelem"><a class="el" href="dir_f5870d36a7061bb81e1a64a750696f2d.html">Include</a></li><li class="navelem"><a class="el" href="cmsis__os2_8h.html">cmsis_os2.h</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('cmsis__os2_8txt.html','');});
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="cmsis__os2_8txt.html">cmsis_os2.txt</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('cmsis__os2__Event_8txt.html','');});
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="cmsis__os2__Event_8txt.html">cmsis_os2_Event.txt</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('cmsis__os2__Kernel_8txt.html','');});
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="cmsis__os2__Kernel_8txt.html">cmsis_os2_Kernel.txt</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('cmsis__os2__MemPool_8txt.html','');});
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="cmsis__os2__MemPool_8txt.html">cmsis_os2_MemPool.txt</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('cmsis__os2__Message_8txt.html','');});
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="cmsis__os2__Message_8txt.html">cmsis_os2_Message.txt</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('cmsis__os2__MigrationGuide_8txt.html',
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="cmsis__os2__MigrationGuide_8txt.html">cmsis_os2_MigrationGuide.txt</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('cmsis__os2__Migration_8txt.html','');}
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="cmsis__os2__Migration_8txt.html">cmsis_os2_Migration.txt</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('cmsis__os2__Mutex_8txt.html','');});
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="cmsis__os2__Mutex_8txt.html">cmsis_os2_Mutex.txt</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('cmsis__os2__Sema_8txt.html','');});
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="cmsis__os2__Sema_8txt.html">cmsis_os2_Sema.txt</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('cmsis__os2__Status_8txt.html','');});
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="cmsis__os2__Status_8txt.html">cmsis_os2_Status.txt</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('cmsis__os2__ThreadFlags_8txt.html','')
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="cmsis__os2__ThreadFlags_8txt.html">cmsis_os2_ThreadFlags.txt</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('cmsis__os2__Thread_8txt.html','');});
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="cmsis__os2__Thread_8txt.html">cmsis_os2_Thread.txt</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('cmsis__os2__Timer_8txt.html','');});
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="cmsis__os2__Timer_8txt.html">cmsis_os2_Timer.txt</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('cmsis__os2__Wait_8txt.html','');});
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="cmsis__os2__Wait_8txt.html">cmsis_os2_Wait.txt</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('cmsis__os2__tick_8txt.html','');});
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="cmsis__os2__tick_8txt.html">cmsis_os2_tick.txt</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -388,7 +388,7 @@ Global Configuration</h2>
<div class="image">
<img src="config_wizard_evtrecGlobIni.png" alt="config_wizard_evtrecGlobIni.png"/>
<div class="caption">
RTX_Config.h: Initialization and filter setup configuration</div></div>
RTX_Config.h: Global Configuration</div></div>
<p> <br/>
</p>
<table class="doxtable">
@ -444,23 +444,27 @@ RTX_Config.h: RTOS Event Filter Setup</div></div>
<tr>
<th>Name </th><th>#define </th><th>Description </th></tr>
<tr>
<td>Memory Management </td><td><code>OS_EVR_MEMORY_FILTER</code> </td><td>Filter enable for Memory Management events. </td></tr>
<td>Memory Management </td><td><code>OS_EVR_MEMORY_LEVEL</code> </td><td>Recording level for Memory Management events. </td></tr>
<tr>
<td>Kernel </td><td><code>OS_EVR_KERNEL_FILTER</code> </td><td>Filter enable for Kernel events. </td></tr>
<td>Kernel </td><td><code>OS_EVR_KERNEL_LEVEL</code> </td><td>Recording level for Kernel events. </td></tr>
<tr>
<td>Thread </td><td><code>OS_EVR_THREAD_FILTER</code> </td><td>Filter enable for Thread events. </td></tr>
<td>Thread </td><td><code>OS_EVR_THREAD_LEVEL</code> </td><td>Recording level for Thread events. </td></tr>
<tr>
<td>Timer </td><td><code>OS_EVR_TIMER_FILTER</code> </td><td>Filter enable for Timer events. </td></tr>
<td>Generic Wait </td><td><code>OS_EVR_WAIT_LEVEL</code> </td><td>Recording level for Generic Wait events. </td></tr>
<tr>
<td>Event Flags </td><td><code>OS_EVR_EVFLAGS_FILTER</code> </td><td>Filter enable for Event Flags events. </td></tr>
<td>Thread Flags </td><td><code>OS_EVR_THFLAGS_LEVEL</code> </td><td>Recording level for Thread Flags events. </td></tr>
<tr>
<td>Mutex </td><td><code>OS_EVR_MUTEX_FILTER</code> </td><td>Filter enable for Mutex events. </td></tr>
<td>Event Flags </td><td><code>OS_EVR_EVFLAGS_LEVEL</code> </td><td>Recording level for Event Flags events. </td></tr>
<tr>
<td>Semaphore </td><td><code>OS_EVR_SEMAPHORE_FILTER</code> </td><td>Filter enable for Semaphore events. </td></tr>
<td>Timer </td><td><code>OS_EVR_TIMER_LEVEL</code> </td><td>Recording level for Timer events. </td></tr>
<tr>
<td>Memory Pool </td><td><code>OS_EVR_MEMPOOL_FILTER</code> </td><td>Filter enable for Memory Pool events. </td></tr>
<td>Mutex </td><td><code>OS_EVR_MUTEX_LEVEL</code> </td><td>Recording level for Mutex events. </td></tr>
<tr>
<td>Message Queue </td><td><code>OS_EVR_MSGQUEUE_FILTER</code> </td><td>Filter enable for Message Queue events. </td></tr>
<td>Semaphore </td><td><code>OS_EVR_SEMAPHORE_LEVEL</code> </td><td>Recording level for Semaphore events. </td></tr>
<tr>
<td>Memory Pool </td><td><code>OS_EVR_MEMPOOL_LEVEL</code> </td><td>Recording level for Memory Pool events. </td></tr>
<tr>
<td>Message Queue </td><td><code>OS_EVR_MSGQUEUE_LEVEL</code> </td><td>Recording level for Message Queue events. </td></tr>
</table>
<h2><a class="anchor" id="evtrecConfigEvtGen"></a>
RTOS Event Generation</h2>
@ -475,23 +479,27 @@ RTX_Config.h: Event generation configuration</div></div>
<tr>
<th>Name </th><th>#define </th><th>Description </th></tr>
<tr>
<td>Memory Management </td><td><code>OS_EVR_MEMORY</code> </td><td>Enables Memory Management events recording. </td></tr>
<td>Memory Management </td><td><code>OS_EVR_MEMORY</code> </td><td>Enables Memory Management events generation. </td></tr>
<tr>
<td>Kernel </td><td><code>OS_EVR_KERNEL</code> </td><td>Enables Kernel events recording. </td></tr>
<td>Kernel </td><td><code>OS_EVR_KERNEL</code> </td><td>Enables Kernel events generation. </td></tr>
<tr>
<td>Thread </td><td><code>OS_EVR_THREAD</code> </td><td>Enables Thread events recording. </td></tr>
<td>Thread </td><td><code>OS_EVR_THREAD</code> </td><td>Enables Thread events generation. </td></tr>
<tr>
<td>Timer </td><td><code>OS_EVR_TIMER</code> </td><td>Enables Timer events recording. </td></tr>
<td>Generic Wait </td><td><code>OS_EVR_WAIT</code> </td><td>Enables Generic Wait events generation. </td></tr>
<tr>
<td>Event Flags </td><td><code>OS_EVR_EVFLAGS</code> </td><td>Enables Event Flags events recording. </td></tr>
<td>Thread Flags </td><td><code>OS_EVR_THFLAGS</code> </td><td>Enables Thread Flags events generation. </td></tr>
<tr>
<td>Mutex </td><td><code>OS_EVR_MUTEX</code> </td><td>Enables Mutex events recording. </td></tr>
<td>Event Flags </td><td><code>OS_EVR_EVFLAGS</code> </td><td>Enables Event Flags events generation. </td></tr>
<tr>
<td>Semaphore </td><td><code>OS_EVR_SEMAPHORE</code> </td><td>Enables Semaphore events recording. </td></tr>
<td>Timer </td><td><code>OS_EVR_TIMER</code> </td><td>Enables Timer events generation. </td></tr>
<tr>
<td>Memory Pool </td><td><code>OS_EVR_MEMPOOL</code> </td><td>Enables Memory Pool events recording. </td></tr>
<td>Mutex </td><td><code>OS_EVR_MUTEX</code> </td><td>Enables Mutex events generation. </td></tr>
<tr>
<td>Message Queue </td><td><code>OS_EVR_MSGQUEUE</code> </td><td>Enables Message Queue events recording. </td></tr>
<td>Semaphore </td><td><code>OS_EVR_SEMAPHORE</code> </td><td>Enables Semaphore events generation. </td></tr>
<tr>
<td>Memory Pool </td><td><code>OS_EVR_MEMPOOL</code> </td><td>Enables Memory Pool events generation. </td></tr>
<tr>
<td>Message Queue </td><td><code>OS_EVR_MSGQUEUE</code> </td><td>Enables Message Queue events generation. </td></tr>
</table>
<dl class="section note"><dt>Note</dt><dd>If event generation for a component is disabled, the code that generates the related events is not included. Thus, <a class="el" href="config_rtx5.html#evtrecConfigGlobIni">filters</a> for this component will have no effect and the debugger is unable to display any events for the related component group.</dd></dl>
<h2><a class="anchor" id="systemConfig_event_recording"></a>
@ -502,15 +510,15 @@ Manual event configuration</h2>
<p><b>Kernel</b> <b>events</b> <br/>
<code>EVR_RTX_KERNEL_ERROR_DISABLE</code>, <code>EVR_RTX_KERNEL_INITIALIZE_DISABLE</code>, <code>EVR_RTX_KERNEL_INITIALIZED_DISABLE</code>, <code>EVR_RTX_KERNEL_GET_INFO_DISABLE</code>, <code>EVR_RTX_KERNEL_INFO_RETRIEVED_DISABLE</code>, <code>EVR_RTX_KERNEL_GET_STATE_DISABLE</code>, <code>EVR_RTX_KERNEL_START_DISABLE</code>, <code>EVR_RTX_KERNEL_STARTED_DISABLE</code>, <code>EVR_RTX_KERNEL_LOCK_DISABLE</code>, <code>EVR_RTX_KERNEL_LOCKED_DISABLE</code>, <code>EVR_RTX_KERNEL_UNLOCK_DISABLE</code>, <code>EVR_RTX_KERNEL_UNLOCKED_DISABLE</code>, <code>EVR_RTX_KERNEL_RESTORE_LOCK_DISABLE</code>, <code>EVR_RTX_KERNEL_LOCK_RESTORED_DISABLE</code>, <code>EVR_RTX_KERNEL_SUSPEND_DISABLE</code>, <code>EVR_RTX_KERNEL_SUSPENDED_DISABLE</code>, <code>EVR_RTX_KERNEL_RESUME_DISABLE</code>, <code>EVR_RTX_KERNEL_RESUMED_DISABLE</code>, <code>EVR_RTX_KERNEL_GET_TICK_COUNT_DISABLE</code>, <code>EVR_RTX_KERNEL_GET_TICK_FREQ_DISABLE</code>, <code>EVR_RTX_KERNEL_GET_SYS_TIMER_COUNT_DISABLE</code>, <code>EVR_RTX_KERNEL_GET_SYS_TIMER_FREQ_DISABLE</code> </p>
<p><b>Thread</b> <b>events</b> <br/>
<code>EVR_RTX_THREAD_ERROR_DISABLE</code>, <code>EVR_RTX_THREAD_NEW_DISABLE</code>, <code>EVR_RTX_THREAD_CREATED_DISABLE</code>, <code>EVR_RTX_THREAD_GET_NAME_DISABLE</code>, <code>EVR_RTX_THREAD_GET_ID_DISABLE</code>, <code>EVR_RTX_THREAD_GET_STATE_DISABLE</code>, <code>EVR_RTX_THREAD_GET_STACK_SIZE_DISABLE</code>, <code>EVR_RTX_THREAD_GET_STACK_SPACE_DISABLE</code>, <code>EVR_RTX_THREAD_SET_PRIORITY_DISABLE</code>, <code>EVR_RTX_THREAD_GET_PRIORITY_DISABLE</code>, <code>EVR_RTX_THREAD_YIELD_DISABLE</code>, <code>EVR_RTX_THREAD_SUSPEND_DISABLE</code>, <code>EVR_RTX_THREAD_SUSPENDED_DISABLE</code>, <code>EVR_RTX_THREAD_RESUME_DISABLE</code>, <code>EVR_RTX_THREAD_RESUMED_DISABLE</code>, <code>EVR_RTX_THREAD_DETACH_DISABLE</code>, <code>EVR_RTX_THREAD_DETACHED_DISABLE</code>, <code>EVR_RTX_THREAD_JOIN_DISABLE</code>, <code>EVR_RTX_THREAD_JOIN_PENDING_DISABLE</code>, <code>EVR_RTX_THREAD_JOINED_DISABLE</code>, <code>EVR_RTX_THREAD_BLOCKED_DISABLE</code>, <code>EVR_RTX_THREAD_UNBLOCKED_DISABLE</code>, <code>EVR_RTX_THREAD_PREEMPTED_DISABLE</code>, <code>EVR_RTX_THREAD_SWITCHED_DISABLE</code>, <code>EVR_RTX_THREAD_EXIT_DISABLE</code>, <code>EVR_RTX_THREAD_TERMINATE_DISABLE</code>, <code>EVR_RTX_THREAD_DESTROYED_DISABLE</code>, <code>EVR_RTX_THREAD_GET_COUNT_DISABLE</code>, <code>EVR_RTX_THREAD_ENUMERATE_DISABLE</code> </p>
<p><b>Thread</b> <b>flag</b> <b>events</b> <br/>
<code>EVR_RTX_THREAD_FLAGS_SET_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_SET_DONE_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_CLEAR_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_CLEAR_DONE_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_GET_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_WAIT_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_WAIT_PENDING_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_WAIT_TIMEOUT_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_WAIT_COMPLETED_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_WAIT_NOT_COMPLETED_DISABLE</code> </p>
<code>EVR_RTX_THREAD_ERROR_DISABLE</code>, <code>EVR_RTX_THREAD_NEW_DISABLE</code>, <code>EVR_RTX_THREAD_CREATED_DISABLE</code>, <code>EVR_RTX_THREAD_GET_NAME_DISABLE</code>, <code>EVR_RTX_THREAD_GET_ID_DISABLE</code>, <code>EVR_RTX_THREAD_GET_STATE_DISABLE</code>, <code>EVR_RTX_THREAD_GET_STACK_SIZE_DISABLE</code>, <code>EVR_RTX_THREAD_GET_STACK_SPACE_DISABLE</code>, <code>EVR_RTX_THREAD_SET_PRIORITY_DISABLE</code>, <code>EVR_RTX_THREAD_PRIORITY_UPDATED_DISABLE</code>, <code>EVR_RTX_THREAD_GET_PRIORITY_DISABLE</code>, <code>EVR_RTX_THREAD_YIELD_DISABLE</code>, <code>EVR_RTX_THREAD_SUSPEND_DISABLE</code>, <code>EVR_RTX_THREAD_SUSPENDED_DISABLE</code>, <code>EVR_RTX_THREAD_RESUME_DISABLE</code>, <code>EVR_RTX_THREAD_RESUMED_DISABLE</code>, <code>EVR_RTX_THREAD_DETACH_DISABLE</code>, <code>EVR_RTX_THREAD_DETACHED_DISABLE</code>, <code>EVR_RTX_THREAD_JOIN_DISABLE</code>, <code>EVR_RTX_THREAD_JOIN_PENDING_DISABLE</code>, <code>EVR_RTX_THREAD_JOINED_DISABLE</code>, <code>EVR_RTX_THREAD_BLOCKED_DISABLE</code>, <code>EVR_RTX_THREAD_UNBLOCKED_DISABLE</code>, <code>EVR_RTX_THREAD_PREEMPTED_DISABLE</code>, <code>EVR_RTX_THREAD_SWITCHED_DISABLE</code>, <code>EVR_RTX_THREAD_EXIT_DISABLE</code>, <code>EVR_RTX_THREAD_TERMINATE_DISABLE</code>, <code>EVR_RTX_THREAD_DESTROYED_DISABLE</code>, <code>EVR_RTX_THREAD_GET_COUNT_DISABLE</code>, <code>EVR_RTX_THREAD_ENUMERATE_DISABLE</code> </p>
<p><b>Generic</b> <b>wait</b> <b>events</b> <br/>
<code>EVR_RTX_THREAD_DELAY_DISABLE</code>, <code>EVR_RTX_THREAD_DELAY_UNTIL_DISABLE</code>, <code>EVR_RTX_THREAD_DELAY_COMPLETED_DISABLE</code> </p>
<p><b>Timer</b> <b>events</b> <br/>
<code>EVR_RTX_TIMER_ERROR_DISABLE</code>, <code>EVR_RTX_TIMER_CALLBACK_DISABLE</code>, <code>EVR_RTX_TIMER_NEW_DISABLE</code>, <code>EVR_RTX_TIMER_CREATED_DISABLE</code>, <code>EVR_RTX_TIMER_GET_NAME_DISABLE</code>, <code>EVR_RTX_TIMER_START_DISABLE</code>, <code>EVR_RTX_TIMER_STARTED_DISABLE</code>, <code>EVR_RTX_TIMER_STOP_DISABLE</code>, <code>EVR_RTX_TIMER_STOPPED_DISABLE</code>, <code>EVR_RTX_TIMER_IS_RUNNING_DISABLE</code>, <code>EVR_RTX_TIMER_DELETE_DISABLE</code>, <code>EVR_RTX_TIMER_DESTROYED_DISABLE</code> </p>
<code>EVR_RTX_DELAY_ERROR_DISABLE</code>, <code>EVR_RTX_DELAY_DISABLE</code>, <code>EVR_RTX_DELAY_UNTIL_DISABLE</code>, <code>EVR_RTX_DELAY_STARTED_DISABLE</code>, <code>EVR_RTX_DELAY_UNTIL_STARTED_DISABLE</code>, <code>EVR_RTX_DELAY_COMPLETED_DISABLE</code> </p>
<p><b>Thread</b> <b>flag</b> <b>events</b> <br/>
<code>EVR_RTX_THREAD_FLAGS_ERROR_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_SET_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_SET_DONE_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_CLEAR_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_CLEAR_DONE_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_GET_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_WAIT_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_WAIT_PENDING_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_WAIT_TIMEOUT_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_WAIT_COMPLETED_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_WAIT_NOT_COMPLETED_DISABLE</code> </p>
<p><b>Event</b> <b>flag</b> <b>events</b> <br/>
<code>EVR_RTX_EVENT_FLAGS_ERROR_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_NEW_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_CREATED_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_GET_NAME_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_SET_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_SET_DONE_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_CLEAR_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_CLEAR_DONE_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_GET_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_WAIT_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_WAIT_PENDING_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_WAIT_TIMEOUT_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_WAIT_COMPLETED_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_WAIT_NOT_COMPLETED_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_DELETE_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_DESTROYED_DISABLE</code> </p>
<p><b>Timer</b> <b>events</b> <br/>
<code>EVR_RTX_TIMER_ERROR_DISABLE</code>, <code>EVR_RTX_TIMER_CALLBACK_DISABLE</code>, <code>EVR_RTX_TIMER_NEW_DISABLE</code>, <code>EVR_RTX_TIMER_CREATED_DISABLE</code>, <code>EVR_RTX_TIMER_GET_NAME_DISABLE</code>, <code>EVR_RTX_TIMER_START_DISABLE</code>, <code>EVR_RTX_TIMER_STARTED_DISABLE</code>, <code>EVR_RTX_TIMER_STOP_DISABLE</code>, <code>EVR_RTX_TIMER_STOPPED_DISABLE</code>, <code>EVR_RTX_TIMER_IS_RUNNING_DISABLE</code>, <code>EVR_RTX_TIMER_DELETE_DISABLE</code>, <code>EVR_RTX_TIMER_DESTROYED_DISABLE</code> </p>
<p><b>Mutex</b> <b>events</b> <br/>
<code>EVR_RTX_MUTEX_ERROR_DISABLE</code>, <code>EVR_RTX_MUTEX_NEW_DISABLE</code>, <code>EVR_RTX_MUTEX_CREATED_DISABLE</code>, <code>EVR_RTX_MUTEX_GET_NAME_DISABLE</code>, <code>EVR_RTX_MUTEX_ACQUIRE_DISABLE</code>, <code>EVR_RTX_MUTEX_ACQUIRE_PENDING_DISABLE</code>, <code>EVR_RTX_MUTEX_ACQUIRE_TIMEOUT_DISABLE</code>, <code>EVR_RTX_MUTEX_ACQUIRED_DISABLE</code>, <code>EVR_RTX_MUTEX_NOT_ACQUIRED_DISABLE</code>, <code>EVR_RTX_MUTEX_RELEASE_DISABLE</code>, <code>EVR_RTX_MUTEX_RELEASED_DISABLE</code>, <code>EVR_RTX_MUTEX_GET_OWNER_DISABLE</code>, <code>EVR_RTX_MUTEX_DELETE_DISABLE</code>, <code>EVR_RTX_MUTEX_DESTROYED_DISABLE</code> </p>
<p><b>Semaphore</b> <b>events</b> <br/>
@ -525,7 +533,7 @@ Manual event configuration</h2>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Before After
Before After

View file

@ -125,7 +125,7 @@ $(document).ready(function(){initNavTree('cre_rtx_proj.html','');});
<img src="project_window.png" alt="project_window.png"/>
</div>
</li>
<li>If using the Variant: <b>Source</b> as statet above, you have to assure to use at least C99 compiler mode (Project Options -&gt; C/C++ -&gt; C99 Mode).</li>
<li>If using the Variant: <b>Source</b> as stated above, you have to assure to use at least C99 compiler mode (Project Options -&gt; C/C++ -&gt; C99 Mode).</li>
<li><p class="startli">You can add template files to the project by right-clicking on <b>Source Group 1</b> and selecting <b>Add New Item to 'Source Group 1'</b>. In the new window, click on <b>User Code Template</b>. On the right-hand side you will see all available template files for CMSIS-RTOS RTX:</p>
<div class="image">
<img src="add_item.png" alt="add_item.png"/>
@ -157,9 +157,9 @@ Using Interrupts on Cortex-M</h1>
<tr>
<td align="left">PendSV </td><td align="left">lowest </td><td align="left">PendSV (request for system-level service) when calling certain RTX functions from <b>Handler</b> mode </td></tr>
<tr>
<td align="left">SCV </td><td align="left">lowest+1 </td><td align="left">Supervisor Call used to enter the RTOS kernel from <b>Thread</b> mode </td></tr>
<td align="left">SVC </td><td align="left">lowest+1 </td><td align="left">Supervisor Call used to enter the RTOS kernel from <b>Thread</b> mode </td></tr>
</table>
<p>Other device interrupts can be used without limitation. For Arm Cortex-M3/M4/M7/M23/M33 processors, interrupts are never disabled by RTX Kernel.</p>
<p>Other device interrupts can be used without limitation. For Arm Cortex-M3/M4/M7 /M23/M33/M35P processors, interrupts are never disabled by RTX Kernel.</p>
<p><b>Usage of interrupt priority grouping</b></p>
<ul>
<li>The interrupt priority grouping should be configured using the CMSIS-Core function NVIC_SetPriorityGrouping before calling the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart()</a>. The RTX kernel uses the priority group value to setup the priority for SysTick and PendSV interrupts.</li>
@ -181,22 +181,22 @@ Add Event Recorder Visibility</h1>
<p>RTX5 interfaces to the <a href="http://www.keil.com/pack/doc/compiler/EventRecorder/html/index.html" target="_blank"><b>Event Recorder</b></a> to provide event information which helps you to understand and analyze the operation.</p>
<ul>
<li>To use the Event Recorder together with RTX5, select the software component <b>Compiler:Event Recorder</b>.</li>
<li>Select the <b>Source</b> variant of the software component <b>CMSIS:RTOS2 (API):Keil RTX5</b>. <div class="image">
<li><p class="startli">Select the <b>Source</b> variant of the software component <b>CMSIS:RTOS2 (API):Keil RTX5</b>.</p>
<div class="image">
<img src="event_recorder_rte.png" alt="event_recorder_rte.png"/>
<div class="caption">
Component selection for Event Recorder</div></div>
</li>
<li>Enable the related settings under <a class="el" href="config_rtx5.html#evtrecConfig">Event Recorder Configuration</a>.</li>
<li>Build the application code and download it to the debug hardware.</li>
<li>Build the application code and download it to the debug hardware. Once the target application generates event information, it can be viewed in the µVision debugger using the <b>Event</b> <b>Recorder</b>. </li>
</ul>
<p>Once the target application generates event information, it can be viewed in the µVision debugger using the <b>Event</b> <b>Recorder</b>. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -130,7 +130,7 @@ Project with files for Armv8-M Mainline</div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -123,7 +123,7 @@ Directories</h2></td></tr>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_a43355fbfff7212ac2193223a73d577c.html">RTOS2</a></li><li class="navelem"><a class="el" href="dir_002cf2dd0f795cc97a8d08cc3fa6e516.html">RTX</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -125,7 +125,7 @@ Files</h2></td></tr>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_a43355fbfff7212ac2193223a73d577c.html">RTOS2</a></li><li class="navelem"><a class="el" href="dir_002cf2dd0f795cc97a8d08cc3fa6e516.html">RTX</a></li><li class="navelem"><a class="el" href="dir_061ad8d12aa7dc7d03c29112cd6e086d.html">Include</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -1,136 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Source Directory Reference</title>
<title>CMSIS-RTOS2: Source Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="printComponentTabs.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 46px;">
<td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">CMSIS-RTOS2
&#160;<span id="projectnumber">Version 2.1.2</span>
</div>
<div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<div id="CMSISnav" class="tabs1">
<ul class="tablist">
<script type="text/javascript">
<!--
writeComponentTabs.call(this);
//-->
</script>
</ul>
</div>
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
<li><a href="modules.html"><span>Reference</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dir_899d076620cccde5757c1c1ca5de63cc.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Source Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:os__systick_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="os__systick_8c.html">os_systick.c</a></td></tr>
<tr class="memdesc:os__systick_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMSIS OS Tick SysTick implementation. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_a43355fbfff7212ac2193223a73d577c.html">RTOS2</a></li><li class="navelem"><a class="el" href="dir_899d076620cccde5757c1c1ca5de63cc.html">Source</a></li>
<li class="footer">Generated on Thu Nov 16 2017 17:06:23 for CMSIS-RTOS2 by ARM Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
-->
</li>
</ul>
</div>
</body>
</html>

View file

@ -125,7 +125,7 @@ Directories</h2></td></tr>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_a43355fbfff7212ac2193223a73d577c.html">RTOS2</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -126,7 +126,7 @@ Files</h2></td></tr>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_a43355fbfff7212ac2193223a73d577c.html">RTOS2</a></li><li class="navelem"><a class="el" href="dir_f5870d36a7061bb81e1a64a750696f2d.html">Include</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -1,200 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Directory Structure and File Overview</title>
<title>CMSIS-RTOS2: Directory Structure and File Overview</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="printComponentTabs.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 46px;">
<td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">CMSIS-RTOS2
&#160;<span id="projectnumber">Version 2.1.2</span>
</div>
<div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<div id="CMSISnav" class="tabs1">
<ul class="tablist">
<script type="text/javascript">
<!--
writeComponentTabs.call(this);
//-->
</script>
</ul>
</div>
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
<li><a href="modules.html"><span>Reference</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dirstructfiles5.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Directory Structure and File Overview </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>The following section provides an overview of the directory structure and the files that are relevant for the user's for CMSIS-RTOS RTX v5. The following directory references start below the CMSIS pack installation path, for example ARM/CMSIS/<em>version</em>/CMSIS/RTOS2.</p>
<h1><a class="anchor" id="Folders"></a>
RTX v5 Directory Structure</h1>
<p>The CMSIS-RTOS RTX v5 is delivered in source code and several examples are provided.</p>
<table class="cmtable" summary="CMSIS-RTOS RTX Library Files">
<tr>
<th>Directory </th><th>Content </th></tr>
<tr>
<td>Include </td><td>The include file for CMSIS-RTOS API v2. <a class="el" href="cmsis__os2_8h.html">cmsis_os2.h</a> is the central include file for user applications. </td></tr>
<tr>
<td>Template </td><td>CMSIS-RTOS API template source and header file. </td></tr>
<tr>
<td>RTX </td><td>Directory with RTX specific files and folders. Also contains the component viewer description file. </td></tr>
<tr>
<td>RTX/Config </td><td>CMSIS-RTOS RTX configuration files RTX_Config.h and RTX_Config.c. </td></tr>
<tr>
<td>RTX/Examples </td><td>Example projects that can be directly used in development tools. </td></tr>
<tr>
<td>RTX/Include </td><td>RTX v5 specific include files. </td></tr>
<tr>
<td>RTX/Include1 </td><td>CMSIS-RTOS v1 API header file. </td></tr>
<tr>
<td>RTX/Library </td><td>Pre-built libraries (see next table for details). </td></tr>
<tr>
<td>RTX/Source </td><td>Source code that can be used with ARMCC and GCC. </td></tr>
<tr>
<td>RTX/Template </td><td>User code templates for creating application projects with CMSIS-RTOS RTX v5. </td></tr>
</table>
<h1><a class="anchor" id="libFiles"></a>
RTX v5 Library Files</h1>
<p>The CMSIS-RTOS RTX Library is available pre-compiled for ARMCC and GCC compilers and supports all Cortex-M processor variants in every configuration, including ARM Cortex-M23 and Cortex-M33.</p>
<table class="cmtable" summary="CMSIS-RTOS RTX Library Files">
<tr>
<th>Library File </th><th>Processor Configuration </th></tr>
<tr>
<td>Library/ARM/RTX_CM0.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, Cortex-M0 and M1, little-endian. </td></tr>
<tr>
<td>Library/ARM/RTX_CM3.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, Cortex-M3, M4, and M7 without FPU, little-endian. </td></tr>
<tr>
<td>Library/ARM/RTX_CM4F.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, Cortex-M4 and M7 with FPU, little-endian. </td></tr>
<tr>
<td>Library/ARM/RTX_V8MB.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, ARMv8-M baseline. </td></tr>
<tr>
<td>Library/ARM/RTX_V8MBN.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, ARMv8-M baseline, non-secure. </td></tr>
<tr>
<td>Library/ARM/RTX_V8MM.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, ARMv8-M mainline. </td></tr>
<tr>
<td>Library/ARM/RTX_V8MMF.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, ARMv8-M mainline with FPU. </td></tr>
<tr>
<td>Library/ARM/RTX_V8MMFN.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, ARMv8-M mainline with FPU, non-secure. </td></tr>
<tr>
<td>Library/ARM/RTX_V8MMN.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, ARMv8-M mainline, non-secure. </td></tr>
<tr>
<td>Library/GCC/libRTX_CM0.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, Cortex-M0 and M1, little-endian. </td></tr>
<tr>
<td>Library/GCC/libRTX_CM3.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, Cortex-M3, M4, and M7 without FPU, little-endian. </td></tr>
<tr>
<td>Library/GCC/libRTX_CM4F.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, Cortex-M4 and M7 with FPU, little-endian. </td></tr>
<tr>
<td>Library/GCC/libRTX_V8MB.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, ARMv8-M baseline. </td></tr>
<tr>
<td>Library/GCC/libRTX_V8MBN.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, ARMv8-M baseline, non-secure. </td></tr>
<tr>
<td>Library/GCC/libRTX_V8MM.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, ARMv8-M mainline. </td></tr>
<tr>
<td>Library/GCC/libRTX_V8MMF.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, ARMv8-M mainline with FPU. </td></tr>
<tr>
<td>Library/GCC/libRTX_V8MMFN.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, ARMv8-M mainline with FPU, non-secure. </td></tr>
<tr>
<td>Library/GCC/libRTX_V8MMN.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, ARMv8-M mainline, non-secure. </td></tr>
</table>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a></li>
<li class="footer">Generated on Thu Nov 16 2017 17:06:23 for CMSIS-RTOS2 by ARM Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
-->
</li>
</ul>
</div>
</body>
</html>

View file

@ -124,7 +124,7 @@ $(document).ready(function(){initNavTree('files.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -111,9 +111,9 @@ $(document).ready(function(){initNavTree('functionOverview.html','');});
<div class="title">Function Overview </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>CMSIS-RTOS2 provides multiple API interfaces:</p>
<div class="textblock"><p>CMSIS-RTOS2 provides following API interfaces:</p>
<ul>
<li><a class="el" href="rtos_api2.html">CMSIS-RTOS C API v2</a> is the new C function interface that supports dynamic object creation and Armv8-M (Arm Cortex-M23 and Cortex-M33).</li>
<li><a class="el" href="rtos_api2.html">CMSIS-RTOS C API v2</a> is the C function interface that supports dynamic object creation and Armv8-M (Arm Cortex-M23, Cortex-M33 and Cortex-M35P) .</li>
<li><a href="../../RTOS/html/functionOverview.html" class="el">CMSIS-RTOS C API v1</a> is a C function API that is backward compatible with CMSIS-RTOS v1.</li>
<li><a class="el" href="rtos_apicpp.html">CMSIS-RTOS C++ API</a> is a C++ class function API (future extension).</li>
</ul>
@ -128,7 +128,7 @@ $(document).ready(function(){initNavTree('functionOverview.html','');});
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="index.html">index</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -548,7 +548,7 @@ $(document).ready(function(){initNavTree('functions.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -548,7 +548,7 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -183,11 +183,7 @@ CMSIS-RTOS File Structure</div></div>
<div class="line"> </div>
<div class="line"> <span class="comment">// System Initialization</span></div>
<div class="line"> SystemCoreClockUpdate();</div>
<div class="line"><span class="preprocessor">#ifdef RTE_Compiler_EventRecorder</span></div>
<div class="line"><span class="preprocessor"></span> <span class="comment">// Initialize and start Event Recorder</span></div>
<div class="line"> EventRecorderInitialize(EventRecordError, 1U);</div>
<div class="line"><span class="preprocessor">#endif</span></div>
<div class="line"><span class="preprocessor"></span> <span class="comment">// ...</span></div>
<div class="line"> <span class="comment">// ...</span></div>
<div class="line"> </div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>(); <span class="comment">// Initialize CMSIS-RTOS</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(app_main, NULL, NULL); <span class="comment">// Create application main thread</span></div>
@ -200,7 +196,7 @@ CMSIS-RTOS File Structure</div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="index.html">index</a></li>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:03 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -141,7 +141,7 @@ $(document).ready(function(){initNavTree('globals.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -143,6 +143,12 @@ $(document).ready(function(){initNavTree('globals_defs.html','');});
<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
<li>OS_EVR_THFLAGS
: <a class="el" href="rtx__evr_8h.html#a8e1abf0403e5aabff14bffa28c0bf14b">rtx_evr.h</a>
</li>
<li>OS_EVR_WAIT
: <a class="el" href="rtx__evr_8h.html#aad9052994e484a85e2ea7c34b3957f29">rtx_evr.h</a>
</li>
<li>osFlagsError
: <a class="el" href="cmsis__os2_8h.html#a01c1359c3a5640bff6e08f09bf94ce3a">cmsis_os2.h</a>
</li>
@ -435,7 +441,7 @@ $(document).ready(function(){initNavTree('globals_defs.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -132,53 +132,71 @@ $(document).ready(function(){initNavTree('globals_e.html','');});
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
<li>EvrRtxDelay()
: <a class="el" href="group__rtx__evr__wait.html#gaec642f6e093f6c1c9b9d7609c4b0d174">rtx_evr.h</a>
</li>
<li>EvrRtxDelayCompleted()
: <a class="el" href="group__rtx__evr__wait.html#gaff18b7b13dc1fe87d1c9d3b23ed55208">rtx_evr.h</a>
</li>
<li>EvrRtxDelayError()
: <a class="el" href="group__rtx__evr__wait.html#ga9ca2a1f7c2231057dcdb9df400284c0a">rtx_evr.h</a>
</li>
<li>EvrRtxDelayStarted()
: <a class="el" href="group__rtx__evr__wait.html#gad489decd779491c1f247214e541cd4e8">rtx_evr.h</a>
</li>
<li>EvrRtxDelayUntil()
: <a class="el" href="group__rtx__evr__wait.html#ga16728292de4e2665248693fff603a2c3">rtx_evr.h</a>
</li>
<li>EvrRtxDelayUntilStarted()
: <a class="el" href="group__rtx__evr__wait.html#ga46ffa7cb290130a3b0d10dbd6c3faddd">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsClear()
: <a class="el" href="rtx__evr_8h.html#ab31f9da565b0170d8e89edf0e848f28b">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#gab31f9da565b0170d8e89edf0e848f28b">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsClearDone()
: <a class="el" href="rtx__evr_8h.html#a9e4c4e5d45bc721439c1919621a49d5a">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga9e4c4e5d45bc721439c1919621a49d5a">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsCreated()
: <a class="el" href="group__rtx__evr__event__flasg.html#gaa1f48b9787e3a7d4f56449ed1dd12f26">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#gaa1f48b9787e3a7d4f56449ed1dd12f26">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsDelete()
: <a class="el" href="group__rtx__evr__event__flasg.html#ga10e98e35999350e9e337c716ba4dc079">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga10e98e35999350e9e337c716ba4dc079">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsDestroyed()
: <a class="el" href="group__rtx__evr__event__flasg.html#ga2ef153a6ee7a8d72375f81128454ede9">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga2ef153a6ee7a8d72375f81128454ede9">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsError()
: <a class="el" href="group__rtx__evr__event__flasg.html#gaa281b7380c0fa725faa722badbeb2e5f">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#gaa281b7380c0fa725faa722badbeb2e5f">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsGet()
: <a class="el" href="rtx__evr_8h.html#a113c32ff195c612ec2fb6a9dd5740184">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga113c32ff195c612ec2fb6a9dd5740184">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsGetName()
: <a class="el" href="group__rtx__evr__event__flasg.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsNew()
: <a class="el" href="group__rtx__evr__event__flasg.html#gae798cdc4cb10ada732e592318037cba7">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#gae798cdc4cb10ada732e592318037cba7">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsSet()
: <a class="el" href="rtx__evr_8h.html#a5e5c9bd8a0522fc9301782edd6e5ec1f">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga5e5c9bd8a0522fc9301782edd6e5ec1f">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsSetDone()
: <a class="el" href="rtx__evr_8h.html#a5b1b471923918ad294d16255d43ab306">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga5b1b471923918ad294d16255d43ab306">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsWait()
: <a class="el" href="rtx__evr_8h.html#ac8361874ffdd854e3778f21d070fed24">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#gac8361874ffdd854e3778f21d070fed24">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsWaitCompleted()
: <a class="el" href="rtx__evr_8h.html#a7b446f241c971db432ebac5d176bd9de">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga7b446f241c971db432ebac5d176bd9de">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsWaitNotCompleted()
: <a class="el" href="rtx__evr_8h.html#a66f32e4dddc68cdfd56c32b88b7f13ff">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga66f32e4dddc68cdfd56c32b88b7f13ff">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsWaitPending()
: <a class="el" href="rtx__evr_8h.html#afd598e0b02a31083fb41626d68fa489e">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#gafd598e0b02a31083fb41626d68fa489e">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsWaitTimeout()
: <a class="el" href="group__rtx__evr__event__flasg.html#ga877235cbe04188b831b70a3c2237c827">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga877235cbe04188b831b70a3c2237c827">rtx_evr.h</a>
</li>
<li>EvrRtxKernelError()
: <a class="el" href="group__rtx__evr__kernel.html#ga2a38154886e6293e127bafcfb6f7d609">rtx_evr.h</a>
@ -202,7 +220,7 @@ $(document).ready(function(){initNavTree('globals_e.html','');});
: <a class="el" href="group__rtx__evr__kernel.html#ga7404f3a22af84ad4091c24811fc1bf87">rtx_evr.h</a>
</li>
<li>EvrRtxKernelInfoRetrieved()
: <a class="el" href="group__rtx__evr__kernel.html#gaf09b8cd94ad2384e3ab518f0df94a651">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__kernel.html#ga85f9569d363a9a8f9677041405d0935f">rtx_evr.h</a>
</li>
<li>EvrRtxKernelInitialize()
: <a class="el" href="group__rtx__evr__kernel.html#ga7e84d337b452f647c3a3d6937abd6292">rtx_evr.h</a>
@ -477,15 +495,6 @@ $(document).ready(function(){initNavTree('globals_e.html','');});
<li>EvrRtxThreadCreated()
: <a class="el" href="group__rtx__evr__thread.html#ga5bfa3bc241aea59ebe9bc1edcf6b78d8">rtx_evr.h</a>
</li>
<li>EvrRtxThreadDelay()
: <a class="el" href="group__rtx__evr__thread.html#gadd45d32305aa45668a36f2c9f0f4c758">rtx_evr.h</a>
</li>
<li>EvrRtxThreadDelayCompleted()
: <a class="el" href="group__rtx__evr__thread.html#gab46562848142ce5ea806d629fd000168">rtx_evr.h</a>
</li>
<li>EvrRtxThreadDelayUntil()
: <a class="el" href="group__rtx__evr__thread.html#gaf59defd6c171d2c3d3508e7136278db2">rtx_evr.h</a>
</li>
<li>EvrRtxThreadDestroyed()
: <a class="el" href="group__rtx__evr__thread.html#gaa5aa707fc2d6b44bfcb86bce2e2e90f3">rtx_evr.h</a>
</li>
@ -505,34 +514,37 @@ $(document).ready(function(){initNavTree('globals_e.html','');});
: <a class="el" href="group__rtx__evr__thread.html#gaa557f9732a8a2120f08cfb2694aa26fb">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsClear()
: <a class="el" href="rtx__evr_8h.html#ac8ddc747c72f7fc5cfa58edcee56b82d">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gac8ddc747c72f7fc5cfa58edcee56b82d">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsClearDone()
: <a class="el" href="rtx__evr_8h.html#aad13b17507cc07a4a1e37a5653489943">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gaad13b17507cc07a4a1e37a5653489943">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsError()
: <a class="el" href="group__rtx__evr__thread__flags.html#gad3609bfc41e1bee23b41973281096ed6">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsGet()
: <a class="el" href="rtx__evr_8h.html#aab1a30a0ac3dfa588ededbfad52bae30">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gaab1a30a0ac3dfa588ededbfad52bae30">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsSet()
: <a class="el" href="rtx__evr_8h.html#ac356c777af86c2d8d9250cbffc516e1d">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gac356c777af86c2d8d9250cbffc516e1d">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsSetDone()
: <a class="el" href="rtx__evr_8h.html#abd447773c02e235a8d0bb96dd9bb1c4f">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gabd447773c02e235a8d0bb96dd9bb1c4f">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsWait()
: <a class="el" href="rtx__evr_8h.html#aad860c571b9b083ff2889fb76fb619f1">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gaad860c571b9b083ff2889fb76fb619f1">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsWaitCompleted()
: <a class="el" href="rtx__evr_8h.html#a01396074495b21270c75185f63c497d7">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#ga5e00be70234d0ca3b0d4d99fb58295bc">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsWaitNotCompleted()
: <a class="el" href="rtx__evr_8h.html#adf6b9f4882f62a65b4e06e1b3e5c9c5b">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gadf6b9f4882f62a65b4e06e1b3e5c9c5b">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsWaitPending()
: <a class="el" href="rtx__evr_8h.html#ad09ec9317a4440e5228870b750e9860e">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gad09ec9317a4440e5228870b750e9860e">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsWaitTimeout()
: <a class="el" href="group__rtx__evr__thread.html#gadbbee398f4fab418c9b8115fc7392ff8">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gae45ec48e082608d2ba72ce7c695899c6">rtx_evr.h</a>
</li>
<li>EvrRtxThreadGetCount()
: <a class="el" href="group__rtx__evr__thread.html#ga6d5932965736e0f2f35fe2d87bd622e7">rtx_evr.h</a>
@ -570,6 +582,9 @@ $(document).ready(function(){initNavTree('globals_e.html','');});
<li>EvrRtxThreadPreempted()
: <a class="el" href="group__rtx__evr__thread.html#gabe470d5bb1373c59c51470fd20b55bcb">rtx_evr.h</a>
</li>
<li>EvrRtxThreadPriorityUpdated()
: <a class="el" href="group__rtx__evr__thread.html#ga831b3e64d459a325fbc13033caa39f05">rtx_evr.h</a>
</li>
<li>EvrRtxThreadResume()
: <a class="el" href="group__rtx__evr__thread.html#gaf41ff549329cf2feb4a1efe49c518e30">rtx_evr.h</a>
</li>
@ -639,7 +654,7 @@ $(document).ready(function(){initNavTree('globals_e.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -140,7 +140,7 @@ $(document).ready(function(){initNavTree('globals_enum.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -363,7 +363,7 @@ $(document).ready(function(){initNavTree('globals_eval.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -129,53 +129,71 @@ $(document).ready(function(){initNavTree('globals_func.html','');});
&#160;
<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
<li>EvrRtxDelay()
: <a class="el" href="group__rtx__evr__wait.html#gaec642f6e093f6c1c9b9d7609c4b0d174">rtx_evr.h</a>
</li>
<li>EvrRtxDelayCompleted()
: <a class="el" href="group__rtx__evr__wait.html#gaff18b7b13dc1fe87d1c9d3b23ed55208">rtx_evr.h</a>
</li>
<li>EvrRtxDelayError()
: <a class="el" href="group__rtx__evr__wait.html#ga9ca2a1f7c2231057dcdb9df400284c0a">rtx_evr.h</a>
</li>
<li>EvrRtxDelayStarted()
: <a class="el" href="group__rtx__evr__wait.html#gad489decd779491c1f247214e541cd4e8">rtx_evr.h</a>
</li>
<li>EvrRtxDelayUntil()
: <a class="el" href="group__rtx__evr__wait.html#ga16728292de4e2665248693fff603a2c3">rtx_evr.h</a>
</li>
<li>EvrRtxDelayUntilStarted()
: <a class="el" href="group__rtx__evr__wait.html#ga46ffa7cb290130a3b0d10dbd6c3faddd">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsClear()
: <a class="el" href="rtx__evr_8h.html#ab31f9da565b0170d8e89edf0e848f28b">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#gab31f9da565b0170d8e89edf0e848f28b">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsClearDone()
: <a class="el" href="rtx__evr_8h.html#a9e4c4e5d45bc721439c1919621a49d5a">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga9e4c4e5d45bc721439c1919621a49d5a">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsCreated()
: <a class="el" href="group__rtx__evr__event__flasg.html#gaa1f48b9787e3a7d4f56449ed1dd12f26">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#gaa1f48b9787e3a7d4f56449ed1dd12f26">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsDelete()
: <a class="el" href="group__rtx__evr__event__flasg.html#ga10e98e35999350e9e337c716ba4dc079">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga10e98e35999350e9e337c716ba4dc079">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsDestroyed()
: <a class="el" href="group__rtx__evr__event__flasg.html#ga2ef153a6ee7a8d72375f81128454ede9">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga2ef153a6ee7a8d72375f81128454ede9">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsError()
: <a class="el" href="group__rtx__evr__event__flasg.html#gaa281b7380c0fa725faa722badbeb2e5f">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#gaa281b7380c0fa725faa722badbeb2e5f">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsGet()
: <a class="el" href="rtx__evr_8h.html#a113c32ff195c612ec2fb6a9dd5740184">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga113c32ff195c612ec2fb6a9dd5740184">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsGetName()
: <a class="el" href="group__rtx__evr__event__flasg.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsNew()
: <a class="el" href="group__rtx__evr__event__flasg.html#gae798cdc4cb10ada732e592318037cba7">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#gae798cdc4cb10ada732e592318037cba7">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsSet()
: <a class="el" href="rtx__evr_8h.html#a5e5c9bd8a0522fc9301782edd6e5ec1f">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga5e5c9bd8a0522fc9301782edd6e5ec1f">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsSetDone()
: <a class="el" href="rtx__evr_8h.html#a5b1b471923918ad294d16255d43ab306">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga5b1b471923918ad294d16255d43ab306">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsWait()
: <a class="el" href="rtx__evr_8h.html#ac8361874ffdd854e3778f21d070fed24">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#gac8361874ffdd854e3778f21d070fed24">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsWaitCompleted()
: <a class="el" href="rtx__evr_8h.html#a7b446f241c971db432ebac5d176bd9de">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga7b446f241c971db432ebac5d176bd9de">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsWaitNotCompleted()
: <a class="el" href="rtx__evr_8h.html#a66f32e4dddc68cdfd56c32b88b7f13ff">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga66f32e4dddc68cdfd56c32b88b7f13ff">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsWaitPending()
: <a class="el" href="rtx__evr_8h.html#afd598e0b02a31083fb41626d68fa489e">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#gafd598e0b02a31083fb41626d68fa489e">rtx_evr.h</a>
</li>
<li>EvrRtxEventFlagsWaitTimeout()
: <a class="el" href="group__rtx__evr__event__flasg.html#ga877235cbe04188b831b70a3c2237c827">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__event__flags.html#ga877235cbe04188b831b70a3c2237c827">rtx_evr.h</a>
</li>
<li>EvrRtxKernelError()
: <a class="el" href="group__rtx__evr__kernel.html#ga2a38154886e6293e127bafcfb6f7d609">rtx_evr.h</a>
@ -199,7 +217,7 @@ $(document).ready(function(){initNavTree('globals_func.html','');});
: <a class="el" href="group__rtx__evr__kernel.html#ga7404f3a22af84ad4091c24811fc1bf87">rtx_evr.h</a>
</li>
<li>EvrRtxKernelInfoRetrieved()
: <a class="el" href="group__rtx__evr__kernel.html#gaf09b8cd94ad2384e3ab518f0df94a651">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__kernel.html#ga85f9569d363a9a8f9677041405d0935f">rtx_evr.h</a>
</li>
<li>EvrRtxKernelInitialize()
: <a class="el" href="group__rtx__evr__kernel.html#ga7e84d337b452f647c3a3d6937abd6292">rtx_evr.h</a>
@ -474,15 +492,6 @@ $(document).ready(function(){initNavTree('globals_func.html','');});
<li>EvrRtxThreadCreated()
: <a class="el" href="group__rtx__evr__thread.html#ga5bfa3bc241aea59ebe9bc1edcf6b78d8">rtx_evr.h</a>
</li>
<li>EvrRtxThreadDelay()
: <a class="el" href="group__rtx__evr__thread.html#gadd45d32305aa45668a36f2c9f0f4c758">rtx_evr.h</a>
</li>
<li>EvrRtxThreadDelayCompleted()
: <a class="el" href="group__rtx__evr__thread.html#gab46562848142ce5ea806d629fd000168">rtx_evr.h</a>
</li>
<li>EvrRtxThreadDelayUntil()
: <a class="el" href="group__rtx__evr__thread.html#gaf59defd6c171d2c3d3508e7136278db2">rtx_evr.h</a>
</li>
<li>EvrRtxThreadDestroyed()
: <a class="el" href="group__rtx__evr__thread.html#gaa5aa707fc2d6b44bfcb86bce2e2e90f3">rtx_evr.h</a>
</li>
@ -502,34 +511,37 @@ $(document).ready(function(){initNavTree('globals_func.html','');});
: <a class="el" href="group__rtx__evr__thread.html#gaa557f9732a8a2120f08cfb2694aa26fb">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsClear()
: <a class="el" href="rtx__evr_8h.html#ac8ddc747c72f7fc5cfa58edcee56b82d">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gac8ddc747c72f7fc5cfa58edcee56b82d">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsClearDone()
: <a class="el" href="rtx__evr_8h.html#aad13b17507cc07a4a1e37a5653489943">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gaad13b17507cc07a4a1e37a5653489943">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsError()
: <a class="el" href="group__rtx__evr__thread__flags.html#gad3609bfc41e1bee23b41973281096ed6">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsGet()
: <a class="el" href="rtx__evr_8h.html#aab1a30a0ac3dfa588ededbfad52bae30">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gaab1a30a0ac3dfa588ededbfad52bae30">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsSet()
: <a class="el" href="rtx__evr_8h.html#ac356c777af86c2d8d9250cbffc516e1d">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gac356c777af86c2d8d9250cbffc516e1d">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsSetDone()
: <a class="el" href="rtx__evr_8h.html#abd447773c02e235a8d0bb96dd9bb1c4f">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gabd447773c02e235a8d0bb96dd9bb1c4f">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsWait()
: <a class="el" href="rtx__evr_8h.html#aad860c571b9b083ff2889fb76fb619f1">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gaad860c571b9b083ff2889fb76fb619f1">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsWaitCompleted()
: <a class="el" href="rtx__evr_8h.html#a01396074495b21270c75185f63c497d7">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#ga5e00be70234d0ca3b0d4d99fb58295bc">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsWaitNotCompleted()
: <a class="el" href="rtx__evr_8h.html#adf6b9f4882f62a65b4e06e1b3e5c9c5b">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gadf6b9f4882f62a65b4e06e1b3e5c9c5b">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsWaitPending()
: <a class="el" href="rtx__evr_8h.html#ad09ec9317a4440e5228870b750e9860e">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gad09ec9317a4440e5228870b750e9860e">rtx_evr.h</a>
</li>
<li>EvrRtxThreadFlagsWaitTimeout()
: <a class="el" href="group__rtx__evr__thread.html#gadbbee398f4fab418c9b8115fc7392ff8">rtx_evr.h</a>
: <a class="el" href="group__rtx__evr__thread__flags.html#gae45ec48e082608d2ba72ce7c695899c6">rtx_evr.h</a>
</li>
<li>EvrRtxThreadGetCount()
: <a class="el" href="group__rtx__evr__thread.html#ga6d5932965736e0f2f35fe2d87bd622e7">rtx_evr.h</a>
@ -567,6 +579,9 @@ $(document).ready(function(){initNavTree('globals_func.html','');});
<li>EvrRtxThreadPreempted()
: <a class="el" href="group__rtx__evr__thread.html#gabe470d5bb1373c59c51470fd20b55bcb">rtx_evr.h</a>
</li>
<li>EvrRtxThreadPriorityUpdated()
: <a class="el" href="group__rtx__evr__thread.html#ga831b3e64d459a325fbc13033caa39f05">rtx_evr.h</a>
</li>
<li>EvrRtxThreadResume()
: <a class="el" href="group__rtx__evr__thread.html#gaf41ff549329cf2feb4a1efe49c518e30">rtx_evr.h</a>
</li>
@ -636,7 +651,7 @@ $(document).ready(function(){initNavTree('globals_func.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -408,7 +408,7 @@ $(document).ready(function(){initNavTree('globals_func_o.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -138,7 +138,7 @@ $(document).ready(function(){initNavTree('globals_func_p.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -141,7 +141,7 @@ $(document).ready(function(){initNavTree('globals_func_s.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -144,7 +144,7 @@ $(document).ready(function(){initNavTree('globals_i.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -132,6 +132,12 @@ $(document).ready(function(){initNavTree('globals_o.html','');});
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
<li>OS_EVR_THFLAGS
: <a class="el" href="rtx__evr_8h.html#a8e1abf0403e5aabff14bffa28c0bf14b">rtx_evr.h</a>
</li>
<li>OS_EVR_WAIT
: <a class="el" href="rtx__evr_8h.html#aad9052994e484a85e2ea7c34b3957f29">rtx_evr.h</a>
</li>
<li>OS_Tick_AcknowledgeIRQ()
: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga57065ec4b281504ad4de13a419870b4f">os_tick.h</a>
</li>
@ -990,7 +996,7 @@ $(document).ready(function(){initNavTree('globals_o.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -141,7 +141,7 @@ $(document).ready(function(){initNavTree('globals_p.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -144,7 +144,7 @@ $(document).ready(function(){initNavTree('globals_s.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -144,7 +144,7 @@ $(document).ready(function(){initNavTree('globals_t.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -158,7 +158,7 @@ $(document).ready(function(){initNavTree('globals_type.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -152,7 +152,7 @@ $(document).ready(function(){initNavTree('globals_vars.html','');});
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -166,7 +166,7 @@ Content</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -285,7 +285,7 @@ Enumerations</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -174,50 +174,62 @@ Refer to <a class="el" href="config_rtx5.html#eventFlagsConfig">Event Flags Conf
Simple event communication</div></div>
<p> The following steps are required to use event flags:</p>
<ol type="1">
<li>In the thread that is supposed to send a event with id sig1_id, call the set function: <div class="fragment"><div class="line"><a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> (1000); <span class="comment">// wait for 1 second</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a> (sig1_id, 0x0001U); <span class="comment">// set the flag 0x0001U for event sig1_id</span></div>
<li>In the thread that is supposed to send a event with id sig1_id, call the set function: <div class="fragment"><div class="line"><a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(1000U); <span class="comment">// wait for 1 second</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a>(sig1_id, 0x0001U); <span class="comment">// set the flag 0x0001U for event sig1_id</span></div>
</div><!-- fragment --></li>
<li>In another thread (or threads) that are supposed to wait for the event, call the wait function: <div class="fragment"><div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> (sig1_id, 0x0001U, NULL, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">// wait forever for any flag</span></div>
<li>In another thread (or threads) that are supposed to wait for the event, call the wait function: <div class="fragment"><div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a>(sig1_id, 0x0001U, NULL, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">// wait forever for any flag</span></div>
</div><!-- fragment --></li>
</ol>
<p>The following complete example code can be directly used with the "CMSIS-RTOS2 main template" and is also provided as a stand-alone template for RTX5:</p>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> Thread_EventSender (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function 1</span></div>
<div class="line"><span class="keywordtype">void</span> Thread_EventReceiver (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function 2</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_EventSender; <span class="comment">// thread id 1</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_EventReceiver; <span class="comment">// thread id 2</span></div>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> evt_id; <span class="comment">// message queue id</span></div>
<div class="line"><span class="comment">/*----------------------------------------------------------------------------</span></div>
<div class="line"><span class="comment"> * Event Flags creation &amp; usage</span></div>
<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
<div class="line"> </div>
<div class="line"><span class="preprocessor">#define FLAGS_MSK1 0x00000001ul</span></div>
<div class="line"><span class="preprocessor">#define FLAGS_MSK1 0x00000001U</span></div>
<div class="line"><span class="preprocessor"></span> </div>
<div class="line"><span class="keywordtype">void</span> app_main (<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line"> tid_Thread_EventSender = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (Thread_EventSender, NULL, NULL);</div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> evt_id; <span class="comment">// event flags id</span></div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_EventSender; <span class="comment">// thread id 1</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_EventReceiver; <span class="comment">// thread id 2</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_EventSender (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function 1</span></div>
<div class="line"><span class="keywordtype">void</span> Thread_EventReceiver (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function 2</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">int</span> Init_Events (<span class="keywordtype">void</span>) {</div>
<div class="line"> </div>
<div class="line"> evt_id = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>(NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (evt_id == NULL) {</div>
<div class="line"> ; <span class="comment">// Event Flags object not created, handle failure</span></div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> tid_Thread_EventSender = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(Thread_EventSender, NULL, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (tid_Thread_EventSender == NULL) {</div>
<div class="line"> ; <span class="comment">// do something</span></div>
<div class="line"> <span class="keywordflow">return</span>(-1);</div>
<div class="line"> }</div>
<div class="line"> tid_Thread_EventReceiver = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (Thread_EventReceiver, NULL, NULL);</div>
<div class="line"> tid_Thread_EventReceiver = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(Thread_EventReceiver, NULL, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (tid_Thread_EventReceiver == NULL) {</div>
<div class="line"> ; <span class="comment">// do something</span></div>
<div class="line"> <span class="keywordflow">return</span>(-1);</div>
<div class="line"> }</div>
<div class="line"> ; <span class="comment">// do something</span></div>
<div class="line"></div>
<div class="line"> <span class="keywordflow">return</span>(0);</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_EventSender (<span class="keywordtype">void</span> *argument)</div>
<div class="line">{</div>
<div class="line"> evt_id = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>(NULL);</div>
<div class="line"><span class="keywordtype">void</span> Thread_EventSender (<span class="keywordtype">void</span> *argument) {</div>
<div class="line"> </div>
<div class="line"> <span class="keywordflow">while</span> (1) { </div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a>(evt_id, FLAGS_MSK1);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> (1000); <span class="comment">// suspend thread</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a>(); <span class="comment">// suspend thread</span></div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_EventReceiver (<span class="keywordtype">void</span> *argument)</div>
<div class="line">{</div>
<div class="line"><span class="keywordtype">void</span> Thread_EventReceiver (<span class="keywordtype">void</span> *argument) {</div>
<div class="line"> uint32_t flags;</div>
<div class="line"> </div>
<div class="line"> <span class="keywordflow">while</span> (1) {</div>
<div class="line"> flags = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> (evt_id,FLAGS_MSK1,<a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
<div class="line"> flags = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a>(evt_id, FLAGS_MSK1, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
<div class="line"> <span class="comment">//handle event</span></div>
<div class="line"> }</div>
<div class="line">}</div>
@ -244,31 +256,31 @@ Simple event communication</div></div>
<td class="fieldname">
name</td>
<td class="fielddoc">
name of the event flags <p>Pointer to a string with a human readable name of the event object.<br/>
Default: <span class="XML-Token">NULL</span>. </p>
name of the event flags <p>Pointer to a constant string with a human readable name (displayed during debugging) of the event flag object.</p>
<p>Default: <span class="XML-Token">NULL</span> no name specified. </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a6e93b49cb79c12f768d72580c7731f30"></a>uint32_t</td>
<td class="fieldname">
attr_bits</td>
<td class="fielddoc">
attribute bits <p>Reserved for future use (set to '0').<br/>
Default: <span class="XML-Token">0</span>. </p>
attribute bits <p>Reserved for future use (must be set to '0' for future compatibility). </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1e100dc33d403841ed3c344e3397868e"></a>void *</td>
<td class="fieldname">
cb_mem</td>
<td class="fielddoc">
memory for control block <p>Pointer to a memory location for the event control block object. This can optionally be used for custom memory management systems.<br/>
Default: <span class="XML-Token">NULL</span> (uses kernel memory management). </p>
memory for control block <p>Pointer to a memory for the event flag control block object. Refer to <a class="el" href="theory_of_operation.html#StaticObjectMemory">Static Object Memory</a> for more information.</p>
<p>Default: <span class="XML-Token">NULL</span> to use <a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html#CMSIS_RTOS_MemoryMgmt_Automatic">Automatic Dynamic Allocation</a> for the event flag control block. </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa55a4335d12dc2785dc00fdc292d1159"></a>uint32_t</td>
<td class="fieldname">
cb_size</td>
<td class="fielddoc">
size of provided memory for control block <p>The size of the memory block passed with <a class="el" href="group__CMSIS__RTOS__EventFlags.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a>. Must be the size of an event control block object or larger. </p>
size of provided memory for control block <p>The size (in bytes) of memory block passed with <a class="el" href="group__CMSIS__RTOS__EventFlags.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a>. For RTX, the minimum value is defined with <a class="el" href="group__rtx5__specific__defines.html#ga68100c8c44931f03547973294c433075">osRtxEventFlagsCbSize</a> (higher values are permitted).</p>
<p>Default: <span class="XML-Token">0</span> as the default is no memory provided with <a class="el" href="group__CMSIS__RTOS__EventFlags.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a>. </p>
</td></tr>
</table>
@ -317,27 +329,19 @@ size of provided memory for control block <p>The size of the memory block passed
<p>The parameter <em>attr</em> sets the event flags attributes (refer to <a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">osEventFlagsAttr_t</a>). Default attributes will be used if set to <span class="XML-Token">NULL</span>, i.e. kernel memory allocation is used for the event control block.</p>
<dl class="section note"><dt>Note</dt><dd>Cannot be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> evt_id; <span class="comment">// message queue id</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> evt_id; <span class="comment">// message queue id</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">int</span> Init_Events (<span class="keywordtype">void</span>) {</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_EventSender (<span class="keywordtype">void</span> *argument)</div>
<div class="line">{</div>
<div class="line"> evt_id = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>(NULL);</div>
<div class="line"> <span class="keywordflow">while</span> (1) { </div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a>(evt_id, FLAGS_MSK1);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> (); <span class="comment">// suspend thread</span></div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_EventReceiver (<span class="keywordtype">void</span> *argument)</div>
<div class="line">{</div>
<div class="line"> uint32_t flags;</div>
<div class="line"> </div>
<div class="line"> <span class="keywordflow">while</span> (1) {</div>
<div class="line"> flags = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> (evt_id,FLAGS_MSK1,<a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
<div class="line"> <span class="comment">//handle event</span></div>
<div class="line"> <span class="keywordflow">if</span> (evt_id == NULL) {</div>
<div class="line"> ; <span class="comment">// Event Flags object not created, handle failure</span></div>
<div class="line"> <span class="keywordflow">return</span>(-1);</div>
<div class="line"> }</div>
<div class="line"></div>
<div class="line"> <span class="keywordflow">return</span>(0);</div>
<div class="line">}</div>
</div><!-- fragment -->
</div>
@ -376,32 +380,21 @@ size of provided memory for control block <p>The size of the memory block passed
<p>The function <b>osEventFlagsSet</b> sets the event flags specified by the parameter <em>flags</em> in an event flags object specified by parameter <em>ef_id</em>. All threads waiting for the flag set will be notified to resume from <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state. The function returns the event flags after setting or an error code (highest bit is set, refer to <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a>).</p>
<p>Possible <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a> return values:</p>
<ul>
<li><em>osFlagsErrorUnknown:</em> Unspecified error.</li>
<li><em>osFlagsErrorResource:</em> Event flags object specified by parameter <em>ef_id</em> is not ready to be used.</li>
<li><em>osFlagsErrorParameter:</em> Parameter <em>ef_id</em> does not identify a valid event flags object or <em>flags</em> has highest bit set.</li>
<li><em>osFlagsErrorUnknown:</em> unspecified error.</li>
<li><em>osFlagsErrorParameter:</em> parameter <em>ef_id</em> does not identify a valid event flags object or <em>flags</em> has highest bit set.</li>
<li><em>osFlagsErrorResource:</em> the event flags object is in an invalid state.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> evt_id; <span class="comment">// message queue id</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> evt_id; <span class="comment">// event flasg id</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_EventSender (<span class="keywordtype">void</span> *argument) {</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_EventSender (<span class="keywordtype">void</span> *argument)</div>
<div class="line">{</div>
<div class="line"> evt_id = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>(NULL);</div>
<div class="line"> <span class="keywordflow">while</span> (1) { </div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a>(evt_id, FLAGS_MSK1);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> (); <span class="comment">// suspend thread</span></div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_EventReceiver (<span class="keywordtype">void</span> *argument)</div>
<div class="line">{</div>
<div class="line"> uint32_t flags;</div>
<div class="line"> </div>
<div class="line"> <span class="keywordflow">while</span> (1) {</div>
<div class="line"> flags = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> (evt_id,FLAGS_MSK1,<a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
<div class="line"> <span class="comment">//handle event</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a>(evt_id, 0x00000001U);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a>(); <span class="comment">// suspend thread</span></div>
<div class="line"> }</div>
<div class="line">}</div>
</div><!-- fragment -->
@ -441,9 +434,9 @@ size of provided memory for control block <p>The size of the memory block passed
<p>The function <b>osEventFlagsClear</b> clears the event flags specified by the parameter <em>flags</em> in an event flags object specified by parameter <em>ef_id</em>. The function returns the event flags before clearing or an error code (highest bit is set, refer to <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a>).</p>
<p>Possible <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a> return values:</p>
<ul>
<li><em>osFlagsErrorUnknown:</em> Unspecified error.</li>
<li><em>osFlagsErrorResource:</em> Event flags object specified by parameter <em>ef_id</em> is not ready to be used.</li>
<li><em>osFlagsErrorParameter:</em> Parameter <em>ef_id</em> does not identify a valid event flags object or <em>flags</em> has highest bit set.</li>
<li><em>osFlagsErrorUnknown:</em> unspecified error.</li>
<li><em>osFlagsErrorParameter:</em> parameter <em>ef_id</em> does not identify a valid event flags object or <em>flags</em> has highest bit set.</li>
<li><em>osFlagsErrorResource:</em> the event flags object is in an invalid state.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
@ -541,32 +534,22 @@ size of provided memory for control block <p>The size of the memory block passed
<p>The function returns the event flags before clearing or an error code (highest bit is set, refer to <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a>).</p>
<p>Possible <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a> return values:</p>
<ul>
<li><em>osFlagsErrorUnknown:</em> Unspecified error.</li>
<li><em>osFlagsErrorTimeout:</em> The awaited flags has not been set during given timeout.</li>
<li><em>osFlagsErrorResource:</em> Event flags object specified by parameter <em>ef_id</em> is not ready to be used.</li>
<li><em>osFlagsErrorParameter:</em> Parameter <em>ef_id</em> does not identify a valid event flags object or <em>flags</em> has highest bit set.</li>
<li><em>osFlagsErrorUnknown:</em> unspecified error.</li>
<li><em>osFlagsErrorTimeout:</em> awaited flags have not been set in the given time.</li>
<li><em>osFlagsErrorResource:</em> awaited flags have not been set when no <em>timeout</em> was specified.</li>
<li><em>osFlagsErrorParameter:</em> parameter <em>ef_id</em> does not identify a valid event flags object or <em>flags</em> has highest bit set.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>May be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a> if the parameter <em>timeout</em> is set to <span class="XML-Token">0</span>.</dd></dl>
<p><b>Code</b> <b>Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> evt_id; <span class="comment">// message queue id</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> evt_id; <span class="comment">// event flasg id</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_EventSender (<span class="keywordtype">void</span> *argument)</div>
<div class="line">{</div>
<div class="line"> evt_id = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>(NULL);</div>
<div class="line"> <span class="keywordflow">while</span> (1) { </div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a>(evt_id, FLAGS_MSK1);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> (); <span class="comment">// suspend thread</span></div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_EventReceiver (<span class="keywordtype">void</span> *argument)</div>
<div class="line">{</div>
<div class="line"> uint32_t flags;</div>
<div class="line"><span class="keywordtype">void</span> Thread_EventReceiver (<span class="keywordtype">void</span> *argument) {</div>
<div class="line"> uint32_t flags;</div>
<div class="line"> </div>
<div class="line"> <span class="keywordflow">while</span> (1) {</div>
<div class="line"> flags = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> (evt_id,FLAGS_MSK1,<a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
<div class="line"> flags = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a>(evt_id, 0x00000001U, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
<div class="line"> <span class="comment">//handle event</span></div>
<div class="line"> }</div>
<div class="line">}</div>
@ -598,8 +581,8 @@ size of provided memory for control block <p>The size of the memory block passed
<ul>
<li><em>osOK:</em> the specified event flags object has been deleted.</li>
<li><em>osErrorISR:</em> <b>osEventFlagsDelete</b> cannot be called from interrupt service routines.</li>
<li><em>osErrorParameter:</em> the value of the parameter <em>ef_id</em> is incorrect.</li>
<li><em>osErrorResource:</em> parameter <em>ef_id</em> is <span class="XML-Token">NULL</span> or wrong.</li>
<li><em>osErrorParameter:</em> parameter <em>ef_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
<li><em>osErrorResource:</em> the event flags object is in an invalid state.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
@ -628,11 +611,15 @@ size of provided memory for control block <p>The size of the memory block passed
<p>The function <b>osEventFlagsGetName</b> returns the pointer to the name string of the event flags object identified by parameter <em>ef_id</em> or <span class="XML-Token">NULL</span> in case of an error.</p>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> EvtFlagsGetName_example (<span class="keywordtype">void</span>) {</div>
<div class="line"> <span class="keywordtype">char</span> id; <span class="comment">// id of the event flags object</span></div>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> evt_id; <span class="comment">// event flasg id</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> EvtFlagsGetName_example (<span class="keywordtype">void</span>) {</div>
<div class="line"> <span class="keywordtype">char</span> *name;</div>
<div class="line"> </div>
<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88">osEventFlagsGetName</a> ();</div>
<div class="line"> <span class="keywordflow">if</span> (<span class="keywordtype">id</span> == NULL) {</div>
<div class="line"> name = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88">osEventFlagsGetName</a>(evt_id);</div>
<div class="line"> <span class="keywordflow">if</span> (name == NULL) {</div>
<div class="line"> <span class="comment">// Failed to get the event flags object name</span></div>
<div class="line"> }</div>
<div class="line">}</div>
@ -644,7 +631,7 @@ size of provided memory for control block <p>The size of the memory block passed
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -214,11 +214,7 @@ The kernel initialization for RTX5 is documented in <a class="el" href="theory_o
<div class="line"> </div>
<div class="line"> <span class="comment">// System Initialization</span></div>
<div class="line"> SystemCoreClockUpdate();</div>
<div class="line"><span class="preprocessor">#ifdef RTE_Compiler_EventRecorder</span></div>
<div class="line"><span class="preprocessor"></span> <span class="comment">// Initialize and start Event Recorder</span></div>
<div class="line"> EventRecorderInitialize(EventRecordError, 1U);</div>
<div class="line"><span class="preprocessor">#endif</span></div>
<div class="line"><span class="preprocessor"></span> <span class="comment">// ...</span></div>
<div class="line"> <span class="comment">// ...</span></div>
<div class="line"> </div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>(); <span class="comment">// Initialize CMSIS-RTOS</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(app_main, NULL, NULL); <span class="comment">// Create application main thread</span></div>
@ -801,7 +797,7 @@ Kernel version (major.minor.rev: mmnnnrrrr dec). </td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -152,12 +152,12 @@ Manual User-defined Allocation</h1>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id;</div>
<div class="line"> </div>
<div class="line"><span class="keyword">static</span> uint32_t mutex_cb[<a class="code" href="group__rtx5__specific__defines.html#ga188bfaaf7477cf24cbc9f207feaeb53a">osRtxMutexCbSize</a>/4U]; <span class="comment">// implementation specific</span></div>
<div class="line"><span class="keyword">static</span> <a class="code" href="rtx__os_8h.html#structosRtxMutex__t">osRtxMutex_t</a> mutex_cb __attribute__((section(<span class="stringliteral">&quot;.bss.os.mutex.cb&quot;</span>))); <span class="comment">// Placed on .bss.os.mutex.cb section for RTX5 aware debugging</span></div>
<div class="line"> </div>
<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> Thread_Mutex_attr = {</div>
<div class="line"> <span class="stringliteral">&quot;myThreadMutex&quot;</span>, <span class="comment">// human readable mutex name</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926">osMutexRecursive</a> | <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">osMutexPrioInherit</a>, <span class="comment">// attr_bits</span></div>
<div class="line"> mutex_cb, <span class="comment">// memory for control block (user-defined)</span></div>
<div class="line"> &amp;mutex_cb, <span class="comment">// memory for control block (user-defined)</span></div>
<div class="line"> <span class="keyword">sizeof</span>(mutex_cb) <span class="comment">// size for control block (user-defined)</span></div>
<div class="line">};</div>
<div class="line"> </div>
@ -171,7 +171,7 @@ Manual User-defined Allocation</h1>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -362,67 +362,71 @@ size of provided memory for data storage <p>The size (in bytes) of memory block
<li><em>osOK:</em> the message has been put into the queue.</li>
<li><em>osErrorTimeout:</em> the message could not be put into the queue in the given time (wait-timed semantics).</li>
<li><em>osErrorResource:</em> not enough space in the queue (try semantics).</li>
<li><em>osErrorParameter:</em> the parameter <em>mq_id</em> is incorrect, non-zero timeout specified in an ISR.</li>
<li><em>osErrorParameter:</em> parameter <em>mq_id</em> is <span class="XML-Token">NULL</span> or invalid, non-zero timeout specified in an ISR.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>May be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a> if the parameter <em>timeout</em> is set to <span class="XML-Token">0</span>.</dd></dl>
<p><b>Code Example:</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
<div class="line"> </div>
<div class="line"><span class="comment">/*----------------------------------------------------------------------------</span></div>
<div class="line"><span class="comment"> * Message Queue creation &amp; usage</span></div>
<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_MsgQueue1 (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function 1</span></div>
<div class="line"><span class="keywordtype">void</span> Thread_MsgQueue2 (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function 2</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_MsgQueue1; <span class="comment">// thread id 1</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_MsgQueue2; <span class="comment">// thread id 2</span></div>
<div class="line"> </div>
<div class="line"><span class="preprocessor">#define MSGQUEUE_OBJECTS 16 // number of Message Queue Objects</span></div>
<div class="line"><span class="preprocessor">#define MSGQUEUE_OBJECTS 16 // number of Message Queue Objects</span></div>
<div class="line"><span class="preprocessor"></span> </div>
<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{ <span class="comment">// object data type</span></div>
<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{ <span class="comment">// object data type</span></div>
<div class="line"> uint8_t Buf[32];</div>
<div class="line"> uint8_t Idx;</div>
<div class="line">} MSGQUEUE_OBJ_t;</div>
<div class="line"> </div>
<div class="line"><a class="code" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mid_MsgQueue; <span class="comment">// message queue id</span></div>
<div class="line"><a class="code" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mid_MsgQueue; <span class="comment">// message queue id</span></div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_MsgQueue1; <span class="comment">// thread id 1</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_MsgQueue2; <span class="comment">// thread id 2</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_MsgQueue1 (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function 1</span></div>
<div class="line"><span class="keywordtype">void</span> Thread_MsgQueue2 (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function 2</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">int</span> Init_MsgQueue (<span class="keywordtype">void</span>) {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> mid_MsgQueue = <a class="code" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>(MSGQUEUE_OBJECTS, <span class="keyword">sizeof</span>(MSGQUEUE_OBJ_t), NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (!mid_MsgQueue) {</div>
<div class="line"> <span class="keywordflow">if</span> (mid_MsgQueue == NULL) {</div>
<div class="line"> ; <span class="comment">// Message Queue object not created, handle failure</span></div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> tid_Thread_MsgQueue1 = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (Thread_MsgQueue1, NULL, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (!tid_Thread_MsgQueue1) <span class="keywordflow">return</span>(-1);</div>
<div class="line"> tid_Thread_MsgQueue2 = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (Thread_MsgQueue2, NULL, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (!tid_Thread_MsgQueue2) <span class="keywordflow">return</span>(-1);</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> tid_Thread_MsgQueue1 = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(Thread_MsgQueue1, NULL, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (tid_Thread_MsgQueue1 == NULL) {</div>
<div class="line"> <span class="keywordflow">return</span>(-1);</div>
<div class="line"> }</div>
<div class="line"> tid_Thread_MsgQueue2 = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(Thread_MsgQueue2, NULL, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (tid_Thread_MsgQueue2 == NULL) {</div>
<div class="line"> <span class="keywordflow">return</span>(-1);</div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> <span class="keywordflow">return</span>(0);</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_MsgQueue1 (<span class="keywordtype">void</span> *argument) {</div>
<div class="line"> MSGQUEUE_OBJ_t msg;</div>
<div class="line"></div>
<div class="line"> </div>
<div class="line"> <span class="keywordflow">while</span> (1) {</div>
<div class="line"> ; <span class="comment">// Insert thread code here...</span></div>
<div class="line"> msg.Buf[0] = 0x55; <span class="comment">// do some work...</span></div>
<div class="line"> msg.Idx = 0;</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a> (mid_MsgQueue, &amp;msg, 0, NULL);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> (); <span class="comment">// suspend thread</span></div>
<div class="line"> msg.Buf[0] = 0x55U; <span class="comment">// do some work...</span></div>
<div class="line"> msg.Idx = 0U;</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a>(mid_MsgQueue, &amp;msg, 0U, 0U);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a>(); <span class="comment">// suspend thread</span></div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_MsgQueue2 (<span class="keywordtype">void</span> *argument) {</div>
<div class="line"></div>
<div class="line"> MSGQUEUE_OBJ_t msg;</div>
<div class="line"> osStatus_t status;</div>
<div class="line"></div>
<div class="line"> </div>
<div class="line"> <span class="keywordflow">while</span> (1) {</div>
<div class="line"> ; <span class="comment">// Insert thread code here...</span></div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">osMessageQueueGet</a> (mid_MsgQueue, &amp;msg, NULL, NULL); <span class="comment">// wait for message</span></div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">osMessageQueueGet</a>(mid_MsgQueue, &amp;msg, NULL, 0U); <span class="comment">// wait for message</span></div>
<div class="line"> <span class="keywordflow">if</span> (status == <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
<div class="line"> ; <span class="comment">// process data</span></div>
<div class="line"> ; <span class="comment">// process data</span></div>
<div class="line"> }</div>
<div class="line"> }</div>
<div class="line">}</div>
@ -486,7 +490,7 @@ size of provided memory for data storage <p>The size (in bytes) of memory block
<li><em>osOK:</em> the message has been retrieved from the queue.</li>
<li><em>osErrorTimeout:</em> the message could not be retrieved from the queue in the given time (timed-wait semantics).</li>
<li><em>osErrorResource:</em> nothing to get from the queue (try semantics).</li>
<li><em>osErrorParameter:</em> the parameter <em>mq_id</em> is incorrect, non-zero timeout specified in an ISR.</li>
<li><em>osErrorParameter:</em> parameter <em>mq_id</em> is <span class="XML-Token">NULL</span> or invalid, non-zero timeout specified in an ISR.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>May be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a> if the parameter <em>timeout</em> is set to <span class="XML-Token">0</span>.</dd></dl>
<p><b>Code Example</b></p>
@ -619,7 +623,7 @@ size of provided memory for data storage <p>The size (in bytes) of memory block
<ul>
<li><em>osOK:</em> the message queue has been rest.</li>
<li><em>osErrorParameter:</em> parameter <em>mq_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
<li><em>osErrorResource:</em> the message queue specified by parameter <em>mq_id</em> is in an invalid message queue state.</li>
<li><em>osErrorResource:</em> the message queue is in an invalid state.</li>
<li><em>osErrorISR:</em> <b>osMessageQueueReset</b> cannot be called from interrupt service routines.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
@ -651,7 +655,7 @@ size of provided memory for data storage <p>The size (in bytes) of memory block
<ul>
<li><em>osOK:</em> the message queue object has been deleted.</li>
<li><em>osErrorParameter:</em> parameter <em>mq_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
<li><em>osErrorResource:</em> the message queue specified by parameter <em>mq_id</em> is in an invalid message queue state.</li>
<li><em>osErrorResource:</em> the message queue is in an invalid state.</li>
<li><em>osErrorISR:</em> <b>osMessageQueueDelete</b> cannot be called from interrupt service routines.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
@ -663,7 +667,7 @@ size of provided memory for data storage <p>The size (in bytes) of memory block
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -254,18 +254,18 @@ size of provided memory for control block <p>The size (in bytes) of memory block
<dl class="section note"><dt>Note</dt><dd>The maximum amount of recursive locks possible is implementation specific, i.e. the type size used for the lock count. If the maximum amount of recursive locks is depleted mutex acquire might fail.</dd></dl>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id; </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id; </div>
<div class="line"> </div>
<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> Thread_Mutex_attr = {</div>
<div class="line"> <span class="stringliteral">&quot;myThreadMutex&quot;</span>, <span class="comment">// human readable mutex name</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926">osMutexRecursive</a>, <span class="comment">// attr_bits</span></div>
<div class="line"> NULL, <span class="comment">// memory for control block </span></div>
<div class="line"> 0U <span class="comment">// size for control block</span></div>
<div class="line">};</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"><span class="comment">// must be called from a thread context</span></div>
<div class="line"><span class="keywordtype">void</span> UseMutexRecursively(<span class="keywordtype">int</span> count) {</div>
<div class="line"><span class="keywordtype">void</span> UseMutexRecursively(<span class="keywordtype">int</span> count) {</div>
<div class="line"> osStatus_t result = <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a>(mutex_id, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">// lock count is incremented, might fail when lock count is depleted</span></div>
<div class="line"> <span class="keywordflow">if</span> (result == <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
<div class="line"> <span class="keywordflow">if</span> (count &lt; 10) {</div>
@ -292,38 +292,38 @@ size of provided memory for control block <p>The size (in bytes) of memory block
<p><b>Code Example</b></p>
<p>This example reveals a blocked high priority thread if <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">osMutexPrioInherit</a> is removed.</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id; </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> Thread_Mutex_attr = {</div>
<div class="line"> <span class="stringliteral">&quot;myThreadMutex&quot;</span>, <span class="comment">// human readable mutex name</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">osMutexPrioInherit</a>, <span class="comment">// attr_bits</span></div>
<div class="line"> NULL, <span class="comment">// memory for control block </span></div>
<div class="line"> 0U <span class="comment">// size for control block</span></div>
<div class="line">};</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> HighPrioThread(<span class="keywordtype">void</span> *argument) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(1000); <span class="comment">// wait 1s until start actual work</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(1000U); <span class="comment">// wait 1s until start actual work</span></div>
<div class="line"> <span class="keywordflow">while</span>(1) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a>(mutex_id, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">// try to acquire mutex</span></div>
<div class="line"> <span class="comment">// do stuff</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915">osMutexRelease</a>(mutex_id);</div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> MidPrioThread(<span class="keywordtype">void</span> *argument) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(1000); <span class="comment">// wait 1s until start actual work</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(1000U); <span class="comment">// wait 1s until start actual work</span></div>
<div class="line"> <span class="keywordflow">while</span>(1) {</div>
<div class="line"> <span class="comment">// do non blocking stuff</span></div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> LowPrioThread(<span class="keywordtype">void</span> *argument) {</div>
<div class="line"> <span class="keywordflow">while</span>(1) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a>(mutex_id, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(5000); <span class="comment">// block mutex for 5s</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(5000U); <span class="comment">// block mutex for 5s</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915">osMutexRelease</a>(mutex_id);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(5000); <span class="comment">// sleep for 5s</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(5000U); <span class="comment">// sleep for 5s</span></div>
<div class="line"> }</div>
<div class="line">}</div>
</div><!-- fragment --><p>During the first second the high and mid priority threads are delayed. Thus the low priority thread can start its work, acquires the mutex and delays while holding it.</p>
@ -348,16 +348,16 @@ size of provided memory for control block <p>The size (in bytes) of memory block
<p><b>Code Example</b></p>
<p>This example reveals a blocked mutex if osMutexRobust is removed.</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id; </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id;</div>
<div class="line"> </div>
<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> Thread_Mutex_attr = {</div>
<div class="line"> <span class="stringliteral">&quot;myThreadMutex&quot;</span>, <span class="comment">// human readable mutex name</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gaf0e1dee376798b4d516d164981526780">osMutexRobust</a>, <span class="comment">// attr_bits</span></div>
<div class="line"> NULL, <span class="comment">// memory for control block </span></div>
<div class="line"> 0U <span class="comment">// size for control block</span></div>
<div class="line">};</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread(<span class="keywordtype">void</span> *argument) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a>(mutex_id, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a>();</div>
@ -410,21 +410,21 @@ size of provided memory for control block <p>The size (in bytes) of memory block
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id; </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> Thread_Mutex_attr = {</div>
<div class="line"> <span class="stringliteral">&quot;myThreadMutex&quot;</span>, <span class="comment">// human readable mutex name</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926">osMutexRecursive</a> | <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">osMutexPrioInherit</a>, <span class="comment">// attr_bits</span></div>
<div class="line"> NULL, <span class="comment">// memory for control block </span></div>
<div class="line"> 0U <span class="comment">// size for control block</span></div>
<div class="line"> };</div>
<div class="line"> </div>
<div class="line">};</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> CreateMutex (<span class="keywordtype">void</span>) {</div>
<div class="line"> mutex_id = <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>(&amp;Thread_Mutex_attr);</div>
<div class="line"> <span class="keywordflow">if</span> (mutex_id != NULL) {</div>
<div class="line"> <span class="comment">// Mutex object created</span></div>
<div class="line"> } </div>
<div class="line"> }</div>
<div class="line">}</div>
</div><!-- fragment -->
</div>
@ -496,21 +496,21 @@ size of provided memory for control block <p>The size (in bytes) of memory block
<ul>
<li><em>osOK:</em> the mutex has been obtained.</li>
<li><em>osErrorTimeout:</em> the mutex could not be obtained in the given time.</li>
<li><em>osErrorResource:</em> the mutex could not be obtained when no <em>timeout</em> was specified.</li>
<li><em>osErrorParameter:</em> parameter <em>mutex_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
<li><em>osErrorResource:</em> the mutex specified by parameter <em>mutex_id</em> is in an invalid mutex state or the mutex could not be obtained when no <em>timeout</em> was specified.</li>
<li><em>osErrorISR:</em> cannot be called from interrupt service routines.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> WaitMutex (<span class="keywordtype">void</span>) {</div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id; </div>
<div class="line">osStatus_t status;</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> WaitMutex (<span class="keywordtype">void</span>) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id;</div>
<div class="line"> osStatus_t status;</div>
<div class="line"> </div>
<div class="line"> mutex_id = <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>(NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (mutex_id != NULL) {</div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a>(mutex_id, 0);</div>
<div class="line"> <span class="keywordflow">if</span> (mutex_id != NULL) {</div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a>(mutex_id, 0U);</div>
<div class="line"> <span class="keywordflow">if</span> (status != <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
<div class="line"> <span class="comment">// handle failure code</span></div>
<div class="line"> }</div>
@ -543,19 +543,19 @@ size of provided memory for control block <p>The size (in bytes) of memory block
<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
<ul>
<li><em>osOK:</em> the mutex has been correctly released.</li>
<li><em>osErrorResource:</em> the mutex could not be released (mutex was not acquired or running thread is not the owner).</li>
<li><em>osErrorParameter:</em> parameter <em>mutex_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
<li><em>osErrorResource:</em> the mutex specified by parameter <em>mutex_id</em> is in an invalid mutex state or the mutex was not obtained before/the current thread is not the owner of the mutex.</li>
<li><em>osErrorISR:</em> <b>osMutexRelease</b> cannot be called from interrupt service routines.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id; <span class="comment">// Mutex id populated by the function osMutexNew()</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> ReleaseMutex (<a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id) {</div>
<div class="line"><span class="keywordtype">void</span> ReleaseMutex (<a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id) {</div>
<div class="line"> osStatus_t status;</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <span class="keywordflow">if</span> (mutex_id != NULL) {</div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915">osMutexRelease</a>(mutex_id);</div>
<div class="line"> <span class="keywordflow">if</span> (status != <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
@ -616,18 +616,18 @@ size of provided memory for control block <p>The size (in bytes) of memory block
<ul>
<li><em>osOK:</em> the mutex object has been deleted.</li>
<li><em>osErrorParameter:</em> parameter <em>mutex_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
<li><em>osErrorResource:</em> the mutex specified by parameter <em>mutex_id</em> is in an invalid mutex state.</li>
<li><em>osErrorResource:</em> the mutex is in an invalid state.</li>
<li><em>osErrorISR:</em> <b>osMutexDelete</b> cannot be called from interrupt service routines.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id; <span class="comment">// Mutex id populated by the function osMutexNew()</span></div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id; <span class="comment">// Mutex id populated by the function osMutexNew()</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> DeleteMutex (<a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id) {</div>
<div class="line"> osStatus_t status;</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <span class="keywordflow">if</span> (mutex_id != NULL) {</div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc">osMutexDelete</a>(mutex_id);</div>
<div class="line"> <span class="keywordflow">if</span> (status != <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
@ -643,7 +643,7 @@ size of provided memory for control block <p>The size (in bytes) of memory block
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -303,33 +303,33 @@ size of provided memory for data storage <p>The size of the memory passed with <
<p>The total amount of memory needed is at least <code>block_count * block_size</code>. Memory from the pool can only be allocated/freed in fixed portions of <code>block_size</code>.</p>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code</b> <b>Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
<div class="line"> </div>
<div class="line"><span class="comment">/*----------------------------------------------------------------------------</span></div>
<div class="line"><span class="comment"> * Memory Pool creation &amp; usage</span></div>
<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
<div class="line"> </div>
<div class="line"><span class="preprocessor">#define MEMPOOL_OBJECTS 16 // number of Memory Pool Objects</span></div>
<div class="line"><span class="preprocessor">#define MEMPOOL_OBJECTS 16 // number of Memory Pool Objects</span></div>
<div class="line"><span class="preprocessor"></span> </div>
<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{ <span class="comment">// object data type</span></div>
<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{ <span class="comment">// object data type</span></div>
<div class="line"> uint8_t Buf[32];</div>
<div class="line"> uint8_t Idx;</div>
<div class="line">} MEM_BLOCK_t;</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_MemPool (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_MemPool; <span class="comment">// thread id</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mpid_MemPool; <span class="comment">// memory pool id</span></div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mpid_MemPool; <span class="comment">// memory pool id</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_MemPool; <span class="comment">// thread id</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">int</span> Init_MemPool (<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line"><span class="keywordtype">void</span> Thread_MemPool (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function</span></div>
<div class="line"> </div>
<div class="line"> mpid_MemPool = <a class="code" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>(MEMPOOL_OBJECTS,<span class="keyword">sizeof</span>(MEM_BLOCK_t), NULL);</div>
<div class="line"><span class="keywordtype">int</span> Init_MemPool (<span class="keywordtype">void</span>) {</div>
<div class="line"> </div>
<div class="line"> mpid_MemPool = <a class="code" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>(MEMPOOL_OBJECTS, <span class="keyword">sizeof</span>(MEM_BLOCK_t), NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (mpid_MemPool == NULL) {</div>
<div class="line"> ; <span class="comment">// MemPool object not created, handle failure</span></div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> tid_Thread_MemPool = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (Thread_MemPool,NULL , NULL);</div>
<div class="line"> tid_Thread_MemPool = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(Thread_MemPool, NULL, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (tid_Thread_MemPool == NULL) {</div>
<div class="line"> <span class="keywordflow">return</span>(-1);</div>
<div class="line"> }</div>
@ -337,33 +337,32 @@ size of provided memory for data storage <p>The size of the memory passed with <
<div class="line"> <span class="keywordflow">return</span>(0);</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_MemPool (<span class="keywordtype">void</span> *argument)</div>
<div class="line">{</div>
<div class="line"> osStatus_t status;</div>
<div class="line"> MEM_BLOCK_t *pMem = 0;</div>
<div class="line"><span class="keywordtype">void</span> Thread_MemPool (<span class="keywordtype">void</span> *argument) {</div>
<div class="line"> MEM_BLOCK_t *pMem;</div>
<div class="line"> osStatus_t status;</div>
<div class="line"> </div>
<div class="line"> <span class="keywordflow">while</span> (1) {</div>
<div class="line"> ; <span class="comment">// Insert thread code here...</span></div>
<div class="line"> </div>
<div class="line"> pMem = (MEM_BLOCK_t *)<a class="code" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a> (mpid_MemPool, NULL); <span class="comment">// get Mem Block</span></div>
<div class="line"> <span class="keywordflow">if</span> (pMem) { <span class="comment">// Mem Block was available</span></div>
<div class="line"> pMem-&gt;Buf[0] = 0x55; <span class="comment">// do some work...</span></div>
<div class="line"> pMem-&gt;Idx = 0;</div>
<div class="line"> pMem = (MEM_BLOCK_t *)<a class="code" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a>(mpid_MemPool, 0U); <span class="comment">// get Mem Block</span></div>
<div class="line"> <span class="keywordflow">if</span> (pMem != NULL) { <span class="comment">// Mem Block was available</span></div>
<div class="line"> pMem-&gt;Buf[0] = 0x55U; <span class="comment">// do some work...</span></div>
<div class="line"> pMem-&gt;Idx = 0U;</div>
<div class="line"> </div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">osMemoryPoolFree</a> (mpid_MemPool, pMem); <span class="comment">// free mem block</span></div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">osMemoryPoolFree</a>(mpid_MemPool, pMem); <span class="comment">// free mem block</span></div>
<div class="line"> <span class="keywordflow">switch</span> (status) {</div>
<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>:</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109">osErrorParameter</a>:</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eaf1fac0240218e51eb30a13da2f8aae81">osErrorNoMemory</a>:</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> <span class="keywordflow">default</span>:</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>:</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109">osErrorParameter</a>:</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eaf1fac0240218e51eb30a13da2f8aae81">osErrorNoMemory</a>:</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> <span class="keywordflow">default</span>:</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> }</div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> (); <span class="comment">// suspend thread</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a>(); <span class="comment">// suspend thread</span></div>
<div class="line"> }</div>
<div class="line">}</div>
</div><!-- fragment -->
@ -479,7 +478,7 @@ May be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_C
<ul>
<li><em>osOK:</em> the memory has been freed.</li>
<li><em>osErrorParameter:</em> parameter <em>mp_id</em> is <span class="XML-Token">NULL</span> or invalid, <em>block</em> points to invalid memory.</li>
<li><em>osErrorResource:</em> the memory pool specified by parameter <em>mp_id</em> is in an invalid memory pool state.</li>
<li><em>osErrorResource:</em> the memory pool is in an invalid state.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd><b>osMemoryPoolFree</b> may perform certain checks on the <em>block</em> pointer given. But using <b>osMemoryPoolFree</b> with a pointer other than one received from <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a> has <b>UNPREDICTED</b> behaviour.</dd>
<dd>
@ -614,7 +613,7 @@ This function may be called from <a class="el" href="theory_of_operation.html#CM
<ul>
<li><em>osOK:</em> the memory pool object has been deleted.</li>
<li><em>osErrorParameter:</em> parameter <em>mp_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
<li><em>osErrorResource:</em> the memory pool specified by parameter <em>mp_id</em> is in an invalid memory pool state.</li>
<li><em>osErrorResource:</em> the memory pool is in an invalid state.</li>
<li><em>osErrorISR:</em> <b>osMemoryPoolDelete</b> cannot be called from interrupt service routines.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
@ -626,7 +625,7 @@ This function may be called from <a class="el" href="theory_of_operation.html#CM
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -172,39 +172,36 @@ Refer to <a class="el" href="config_rtx5.html#semaphoreConfig">Semaphore Configu
<p>To allow multiple threads to run the function, initialize a semaphore to the maximum number of threads that can be allowed. The number of tokens in the semaphore represents the number of additional threads that may enter. If this number is zero, then the next thread trying to access the function will have to wait until one of the other threads exits and releases its token. When all threads have exited the token number is back to n. The following example shows the code for one of the threads that might access the resource:</p>
<div class="fragment"><div class="line"><a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> multiplex_id;</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> thread_n (<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line"> multiplex_id = <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>(3, 3, NULL);</div>
<div class="line"> <span class="keywordflow">while</span>(1)</div>
<div class="line"> {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a>(multiplex_id, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
<div class="line"> <span class="comment">// do something</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a>(multiplex_id);</div>
<div class="line"> }</div>
<div class="line"><span class="keywordtype">void</span> thread_n (<span class="keywordtype">void</span>) {</div>
<div class="line"> </div>
<div class="line"> multiplex_id = <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>(3U, 3U, NULL);</div>
<div class="line"> <span class="keywordflow">while</span>(1) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a>(multiplex_id, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
<div class="line"> <span class="comment">// do something</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a>(multiplex_id);</div>
<div class="line"> }</div>
<div class="line">}</div>
</div><!-- fragment --><p><b>Producer/Consumer Semaphore</b></p>
<p>The producer-consumer problem can be solved using two semaphores.</p>
<p>A first semaphore (<span class="XML-Token">empty_id</span>) counts down the available (empty) buffers, i.e. the producer thread can wait for available buffer slots by acquiring from this one.</p>
<p>A second semaphore (<span class="XML-Token">filled_id</span>) counts up the used (filled) buffers, i.e. the consumer thread can wait for available data by acquiring from this one.</p>
<p>It is crucial for the correct behaviour that the threads acquire and release on both semaphores in the given sequence. According to this example one can have multiple producer and/or consumer threads running concurrently.</p>
<div class="fragment"><div class="line"><span class="preprocessor">#define BUFFER_SIZE 10</span></div>
<div class="line"><span class="preprocessor"></span><a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> empty_id = <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>(BUFFER_SIZE, BUFFER_SIZE, NULL);</div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> filled_id = <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>(BUFFER_SIZE, 0, NULL);</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> producer_thread (<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line"> <span class="keywordflow">while</span>(1)</div>
<div class="line"> {</div>
<div class="fragment"><div class="line"><span class="preprocessor">#define BUFFER_SIZE 10U</span></div>
<div class="line"><span class="preprocessor"></span> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> empty_id = <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>(BUFFER_SIZE, BUFFER_SIZE, NULL);</div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> filled_id = <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>(BUFFER_SIZE, 0U, NULL);</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> producer_thread (<span class="keywordtype">void</span>) {</div>
<div class="line"> <span class="keywordflow">while</span>(1) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a>(empty_id, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
<div class="line"> <span class="comment">// produce data</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a>(filled_id);</div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> consumer_thread (<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line"> <span class="keywordflow">while</span>(1)</div>
<div class="line"> {</div>
<div class="line"><span class="keywordtype">void</span> consumer_thread (<span class="keywordtype">void</span>) {</div>
<div class="line"> </div>
<div class="line"> <span class="keywordflow">while</span>(1){</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a>(filled_id, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
<div class="line"> <span class="comment">// consume data</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a>(empty_id);</div>
@ -321,51 +318,50 @@ size of provided memory for control block <p>The size (in bytes) of memory block
<p>The parameter <em>attr</em> specifies additional semaphore attributes. Default attributes will be used if set to <span class="XML-Token">NULL</span>.</p>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_Semaphore (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_Semaphore; <span class="comment">// thread id</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> sid_Semaphore; <span class="comment">// semaphore id</span></div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> sid_Thread_Semaphore; <span class="comment">// semaphore id</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_Semaphore; <span class="comment">// thread id</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">int</span> Init_Semaphore (<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line"><span class="keywordtype">void</span> Thread_Semaphore (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function</span></div>
<div class="line"> </div>
<div class="line"> sid_Thread_Semaphore = <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>(2, 2, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (!sid_Thread_Semaphore) {</div>
<div class="line"><span class="keywordtype">int</span> Init_Semaphore (<span class="keywordtype">void</span>) {</div>
<div class="line"> </div>
<div class="line"> sid_Semaphore = <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>(2U, 2U, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (sid_Semaphore == NULL) {</div>
<div class="line"> ; <span class="comment">// Semaphore object not created, handle failure</span></div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> tid_Thread_Semaphore = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (Thread_Semaphore, NULL, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (!tid_Thread_Semaphore) {</div>
<div class="line"> tid_Thread_Semaphore = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(Thread_Semaphore, NULL, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (tid_Thread_Semaphore == NULL) {</div>
<div class="line"> <span class="keywordflow">return</span>(-1);</div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> <span class="keywordflow">return</span>(0);</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_Semaphore (<span class="keywordtype">void</span> *argument)</div>
<div class="line">{</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_Semaphore (<span class="keywordtype">void</span> *argument) {</div>
<div class="line"> osStatus_t val;</div>
<div class="line"> </div>
<div class="line"> <span class="keywordflow">while</span> (1) {</div>
<div class="line"> ; <span class="comment">// Insert thread code here...</span></div>
<div class="line"> </div>
<div class="line"> val = <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a> (sid_Thread_Semaphore, 10); <span class="comment">// wait for max. 10 ticks for semaphore token to get available</span></div>
<div class="line"> val = <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a>(sid_Semaphore, 10U); <span class="comment">// wait for max. 10 ticks for semaphore token to get available</span></div>
<div class="line"> <span class="keywordflow">switch</span> (val) {</div>
<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>:</div>
<div class="line"> ; <span class="comment">// Use protected code here...</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a> (sid_Thread_Semaphore); <span class="comment">// Return a token back to a semaphore</span></div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea8fc5801e8b0482bdf22ad63a77f0155d">osErrorResource</a>:</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109">osErrorParameter</a>:</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> <span class="keywordflow">default</span>:</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>:</div>
<div class="line"> ; <span class="comment">// Use protected code here...</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a>(sid_Semaphore); <span class="comment">// return a token back to a semaphore</span></div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea8fc5801e8b0482bdf22ad63a77f0155d">osErrorResource</a>:</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109">osErrorParameter</a>:</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> <span class="keywordflow">default</span>:</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> (); <span class="comment">// suspend thread</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a>(); <span class="comment">// suspend thread</span></div>
<div class="line"> }</div>
<div class="line">}</div>
</div><!-- fragment -->
@ -436,10 +432,10 @@ size of provided memory for control block <p>The size (in bytes) of memory block
</ul>
<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
<ul>
<li><em>osOK:</em> the token has been obtained.</li>
<li><em>osOK:</em> the token has been obtained and the token count decremented.</li>
<li><em>osErrorTimeout:</em> the token could not be obtained in the given time.</li>
<li><em>osErrorResource:</em> the token could not be obtained when no <em>timeout</em> was specified.</li>
<li><em>osErrorParameter:</em> the parameter <em>semaphore_id</em> is incorrect.</li>
<li><em>osErrorParameter:</em> the parameter <em>semaphore_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>May be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a> if the parameter <em>timeout</em> is set to <span class="XML-Token">0</span>.</dd></dl>
<p><b>Code Example</b></p>
@ -470,9 +466,9 @@ size of provided memory for control block <p>The size (in bytes) of memory block
<p>The function <b>osSemaphoreRelease</b> releases a token of the semaphore object specified by parameter <em>semaphore_id</em>. Tokens can only be released up to the maximum count specified at creation time, see <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>. Other threads that currently wait for a token of this semaphore object will be put into the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> state.</p>
<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
<ul>
<li><em>osOK:</em> the token has been correctly released and the count increased.</li>
<li><em>osErrorResource:</em> the maximum token count has been reached.</li>
<li><em>osErrorParameter:</em> the parameter <em>semaphore_id</em> is incorrect.</li>
<li><em>osOK:</em> the token has been released and the count incremented.</li>
<li><em>osErrorResource:</em> the token could not be released (maximum token count has been reached).</li>
<li><em>osErrorParameter:</em> the parameter <em>semaphore_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code Example</b></p>
@ -530,7 +526,7 @@ size of provided memory for control block <p>The size (in bytes) of memory block
<ul>
<li><em>osOK:</em> the semaphore object has been deleted.</li>
<li><em>osErrorParameter:</em> the parameter <em>semaphore_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
<li><em>osErrorResource:</em> the semaphore specified by parameter <em>semaphore_id</em> is in an invalid semaphore state.</li>
<li><em>osErrorResource:</em> the semaphore is in an invalid state.</li>
<li><em>osErrorISR:</em> <b>osSemaphoreDelete</b> cannot be called from interrupt service routines.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
@ -542,7 +538,7 @@ size of provided memory for control block <p>The size (in bytes) of memory block
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -212,9 +212,9 @@ Functions</h2></td></tr>
<p>The function <b>osThreadFlagsSet</b> sets the thread flags for a thread specified by parameter <em>thread_id</em>. It returns the flags set, or an error code if highest bit is set (refer to <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a>). This function may be used also within interrupt service routines. Threads waiting for a flag to be set will resume from <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state.</p>
<p>Possible <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a> return values:</p>
<ul>
<li><em>osFlagsErrorUnknown:</em> Unspecified error.</li>
<li><em>osFlagsErrorResource:</em> Thread specified by parameter <em>thread_id</em> is not active to receive flags.</li>
<li><em>osFlagsErrorParameter:</em> Parameter <em>thread_id</em> is not a valid thread or <em>flags</em> has highest bit set.</li>
<li><em>osFlagsErrorUnknown:</em> unspecified error.</li>
<li><em>osFlagsErrorParameter:</em> parameter <em>thread_id</em> is not a valid thread or <em>flags</em> has highest bit set.</li>
<li><em>osFlagsErrorResource:</em> the thread is in invalid state.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code</b> <b>Example</b> </p>
@ -222,12 +222,12 @@ Functions</h2></td></tr>
<div class="line"><span class="comment"> * Function &#39;signal_func&#39; called from multiple threads</span></div>
<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
<div class="line"><span class="keywordtype">void</span> signal_func (<a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a>(tid_clock, 0x0100); <span class="comment">/* set signal to clock thread */</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(500); <span class="comment">/* delay 500ms */</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a>(tid_clock, 0x0100); <span class="comment">/* set signal to clock thread */</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(500); <span class="comment">/* delay 500ms */</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a>(tid, 0x0001); <span class="comment">/* set signal to thread &#39;thread&#39; */</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(500); <span class="comment">/* delay 500ms */</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a>(tid_clock, 0x0100U); <span class="comment">/* set signal to clock thread */</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(500U); <span class="comment">/* delay 500ms */</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a>(tid_clock, 0x0100U); <span class="comment">/* set signal to clock thread */</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(500U); <span class="comment">/* delay 500ms */</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a>(tid, 0x0001U); <span class="comment">/* set signal to thread &#39;thread&#39; */</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(500U); <span class="comment">/* delay 500ms */</span></div>
<div class="line">}</div>
</div><!-- fragment -->
</div>
@ -255,9 +255,8 @@ Functions</h2></td></tr>
<p>The function <b>osThreadFlagsClear</b> clears the specified flags for the currently running thread. It returns the flags before clearing, or an error code if highest bit is set (refer to <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a>).</p>
<p>Possible <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a> return values:</p>
<ul>
<li><em>osFlagsErrorUnknown:</em> Unspecified error, i.e. not called from a running threads context.</li>
<li><em>osFlagsErrorResource:</em> Running thread is not active to receive flags.</li>
<li><em>osFlagsErrorParameter:</em> Parameter <em>flags</em> has highest bit set.</li>
<li><em>osFlagsErrorUnknown:</em> unspecified error, i.e. not called from a running threads context.</li>
<li><em>osFlagsErrorParameter:</em> parameter <em>flags</em> has highest bit set.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
@ -337,9 +336,9 @@ Functions</h2></td></tr>
<p>The function returns the flags before clearing, or an error code if highest bit is set (refer to <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a>).</p>
<p>Possible <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a> return values:</p>
<ul>
<li><em>osFlagsErrorUnknown:</em> Unspecified error, i.e. not called from a running threads context.</li>
<li><em>osFlagsErrorTimeout:</em> The awaited flags has not been set during given timeout.</li>
<li><em>osFlagsErrorResource:</em> Running thread is not active to receive flags.</li>
<li><em>osFlagsErrorUnknown:</em> unspecified error, i.e. not called from a running threads context.</li>
<li><em>osFlagsErrorTimeout:</em> awaited flags have not been set in the given time.</li>
<li><em>osFlagsErrorResource:</em> awaited flags have not been set when no <em>timeout</em> was specified.</li>
<li><em>osFlagsErrorParameter:</em> Parameter <em>flags</em> has highest bit set.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
@ -348,13 +347,13 @@ Functions</h2></td></tr>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread (<span class="keywordtype">void</span>* arg) {</div>
<div class="line"> ;</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> (0x00000001U, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">// Wait forever until thread flag 1 is set.</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a>(0x00000001U, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">// Wait forever until thread flag 1 is set.</span></div>
<div class="line"> ;</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> (0x00000003U, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">// Wait forever until either thread flag 0 or 1 is set.</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a>(0x00000003U, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">// Wait forever until either thread flag 0 or 1 is set.</span></div>
<div class="line"> ;</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> (0x00000003U, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga8b6f562736fbfb5428940e0c017dec24">osFlagsWaitAll</a>, 10); <span class="comment">// Wait for 10 timer ticks until thread flags 0 and 1 are set. Timeout afterwards.</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a>(0x00000003U, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga8b6f562736fbfb5428940e0c017dec24">osFlagsWaitAll</a>, 10U); <span class="comment">// Wait for 10 timer ticks until thread flags 0 and 1 are set. Timeout afterwards.</span></div>
<div class="line"> ;</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> (0x00000003U, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga8b6f562736fbfb5428940e0c017dec24">osFlagsWaitAll</a> | <a class="code" href="group__CMSIS__RTOS__Definitions.html#gaade844a42237d8c37569d4d9b16b9f1c">osFlagsNoClear</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">// Same as the above, but the flags will not be cleared.</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a>(0x00000003U, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga8b6f562736fbfb5428940e0c017dec24">osFlagsWaitAll</a> | <a class="code" href="group__CMSIS__RTOS__Definitions.html#gaade844a42237d8c37569d4d9b16b9f1c">osFlagsNoClear</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">// Same as the above, but the flags will not be cleared.</span></div>
<div class="line">}</div>
</div><!-- fragment -->
</div>
@ -364,7 +363,7 @@ Functions</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -340,7 +340,7 @@ Functions</h2></td></tr>
<li><b>RUNNING:</b> The thread that is currently running is in the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">RUNNING</a> state. Only one thread at a time can be in this state.</li>
<li><b>READY:</b> Threads which are ready to run are in the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> state. Once the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">RUNNING</a> thread has terminated, or is <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a>, the next <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> thread with the highest priority becomes the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">RUNNING</a> thread.</li>
<li><b>BLOCKED:</b> Threads that are blocked either delayed, waiting for an event to occur or suspended are in the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state.</li>
<li><b>TERMINATED:</b> When <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">osThreadTerminate</a> is called, threads are <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">TERMINATED</a> with resources not yet released.</li>
<li><b>TERMINATED:</b> When <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">osThreadTerminate</a> is called, threads are <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">TERMINATED</a> with resources not yet released (applies to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#joinable_threads">joinable threads).</a></li>
<li><b>INACTIVE:</b> Threads that are not created or have been terminated with all resources released are in the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">INACTIVE</a> state.</li>
</ul>
<div class="image">
@ -368,7 +368,7 @@ Thread State and State Transitions</div></div>
<div class="line"><span class="keywordtype">int</span> main (<span class="keywordtype">void</span>) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>();</div>
<div class="line"> ;</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(thread1, NULL, NULL); <span class="comment">// Create thread with default settings</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(thread1, NULL, NULL); <span class="comment">// Create thread with default settings</span></div>
<div class="line"> ;</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>(); </div>
<div class="line">}</div>
@ -381,12 +381,12 @@ Thread State and State Transitions</div></div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> thread1_attr = {</div>
<div class="line"> .<a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9">stack_size</a> = 1024 <span class="comment">// Create the thread stack with a size of 1024 bytes</span></div>
<div class="line"> .<a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9">stack_size</a> = 1024 <span class="comment">// Create the thread stack with a size of 1024 bytes</span></div>
<div class="line">};</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">int</span> main (<span class="keywordtype">void</span>) {</div>
<div class="line"> ; </div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(thread1, NULL, &amp;thread1_attr); <span class="comment">// Create thread with custom sized stack memory</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(thread1, NULL, &amp;thread1_attr); <span class="comment">// Create thread with custom sized stack memory</span></div>
<div class="line"> ;</div>
<div class="line">}</div>
</div><!-- fragment --><p><b>Example 3 - Create thread with statically allocated stack</b></p>
@ -442,20 +442,20 @@ Thread State and State Transitions</div></div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> thread1_attr = {</div>
<div class="line"> .<a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#a6a5183df4c54c3e28dc8dc704f2487d5">priority</a> = <a class="code" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca914433934143a9ba767e59577c56e6c2">osPriorityHigh</a> <span class="comment">//Set initial thread priority to high </span></div>
<div class="line"> .<a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#a6a5183df4c54c3e28dc8dc704f2487d5">priority</a> = <a class="code" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca914433934143a9ba767e59577c56e6c2">osPriorityHigh</a> <span class="comment">//Set initial thread priority to high </span></div>
<div class="line">};</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">int</span> main (<span class="keywordtype">void</span>) {</div>
<div class="line"> ;</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(thread1, NULL, &amp;thread1_attr); </div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(thread1, NULL, &amp;thread1_attr);</div>
<div class="line"> ;</div>
<div class="line">}</div>
</div><!-- fragment --><p><a class="anchor" id="joinable_threads"></a><b>Example 6 - Joinable threads</b></p>
<p>In this example a master thread creates four threads with the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga249499c519f3f8eef5673009ab6cfcbe">osThreadJoinable</a> attribute. These will do some work and return using the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a> call after finished. <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a> is used to synchronize the thread termination.</p>
<div class="fragment"><div class="line"><a class="code" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a> <span class="keywordtype">void</span> worker (<span class="keywordtype">void</span> *argument) { </div>
<div class="line"> ; <span class="comment">// work a lot on data[] </span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(1000); </div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a>();</div>
<div class="fragment"><div class="line"><a class="code" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a> <span class="keywordtype">void</span> worker (<span class="keywordtype">void</span> *argument) {</div>
<div class="line"> ; <span class="comment">// work a lot on data[] </span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(1000U);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a>();</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><a class="code" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a> <span class="keywordtype">void</span> thread1 (<span class="keywordtype">void</span> *argument) {</div>
@ -465,11 +465,11 @@ Thread State and State Transitions</div></div>
<div class="line"></div>
<div class="line"> memset(&amp;worker_attr, 0, <span class="keyword">sizeof</span>(worker_attr));</div>
<div class="line"> worker_attr.<a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#a6e93b49cb79c12f768d72580c7731f30">attr_bits</a> = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga249499c519f3f8eef5673009ab6cfcbe">osThreadJoinable</a>;</div>
<div class="line"> </div>
<div class="line"> worker_ids[0] = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(worker, &amp;data[0][0], &amp;worker_attr); </div>
<div class="line"> worker_ids[1] = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(worker, &amp;data[1][0], &amp;worker_attr); </div>
<div class="line"> worker_ids[2] = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(worker, &amp;data[2][0], &amp;worker_attr); </div>
<div class="line"> worker_ids[3] = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(worker, &amp;data[3][0], &amp;worker_attr); </div>
<div class="line"> </div>
<div class="line"> worker_ids[0] = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(worker, &amp;data[0][0], &amp;worker_attr);</div>
<div class="line"> worker_ids[1] = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(worker, &amp;data[1][0], &amp;worker_attr);</div>
<div class="line"> worker_ids[2] = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(worker, &amp;data[2][0], &amp;worker_attr);</div>
<div class="line"> worker_ids[3] = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(worker, &amp;data[3][0], &amp;worker_attr);</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a>(worker_ids[0]);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a>(worker_ids[1]);</div>
@ -540,7 +540,8 @@ memory for stack <p>Pointer to a memory location for the thread stack (64-bit al
stack_size</td>
<td class="fielddoc">
size of stack <p>The size (in bytes) of the stack specified by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43">stack_mem</a>.</p>
<p>Default: <span class="XML-Token">0</span> as the default is no memory provided with <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43">stack_mem</a>. </p>
<p>Default: <span class="XML-Token">0</span> as the default is no memory provided with <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43">stack_mem</a>.</p>
<p>/** </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a6a5183df4c54c3e28dc8dc704f2487d5"></a><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a></td>
@ -556,7 +557,8 @@ initial thread priority (default: osPriorityNormal) <p>Specifies the initial thr
tz_module</td>
<td class="fielddoc">
TrustZone module identifier. <p>TrustZone Thread Context Management Identifier to allocate context memory for threads. The RTOS kernel that runs in non-secure state calls the interface functions defined by the header file TZ_context.h. Can safely be set to zero for threads not using secure calls at all. See <a href="../../Core/html/group__context__trustzone__functions.html">TrustZone RTOS Context Management</a>.</p>
<p>Default: token{0} not thread context specified. </p>
<p>Default: <span class="XML-Token">0</span> not thread context specified.</p>
<p>/** </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a66f538babc389986738ec70104e0562b"></a>uint32_t</td>
@ -650,7 +652,7 @@ reserved (must be 0) <p>Reserved for future use. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggad3dc89e942e38d9f3af858a0269a820dae9d77830b6866e287417b6e1d983e971"></a>osThreadInactive</em>&#160;</td><td class="fielddoc">
<p>Inactive. </p>
<p>The thread is created but not actively used, or has been terminated. </p>
<p>The thread is created but not actively used, or has been terminated (returned for static control block allocation, when memory pools are used <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da339313e26613bc12f66a852e2ff8745e">osThreadError</a> is returned as the control block is no longer valid) </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad3dc89e942e38d9f3af858a0269a820da59e286915944fe0e4d1ffdb1f2946f14"></a>osThreadReady</em>&#160;</td><td class="fielddoc">
<p>Ready. </p>
@ -666,11 +668,11 @@ reserved (must be 0) <p>Reserved for future use. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad3dc89e942e38d9f3af858a0269a820dad5b2726c2d0228f4f1a76cf6b630963c"></a>osThreadTerminated</em>&#160;</td><td class="fielddoc">
<p>Terminated. </p>
<p>The thread is terminated and all its resources are freed. </p>
<p>The thread is terminated and all its resources are not yet freed (applies to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#joinable_threads">joinable threads).</a></p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad3dc89e942e38d9f3af858a0269a820da339313e26613bc12f66a852e2ff8745e"></a>osThreadError</em>&#160;</td><td class="fielddoc">
<p>Error. </p>
<p>The thread thread has raised an error condition and cannot be scheduled. </p>
<p>The thread does not exist (has raised an error condition) and cannot be scheduled. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gad3dc89e942e38d9f3af858a0269a820da8872f7e352370eb11ee772c7dcca6e6c"></a>osThreadReserved</em>&#160;</td><td class="fielddoc">
<p>Prevents enum down-size compiler optimization. </p>
@ -928,9 +930,9 @@ reserved (must be 0) <p>Reserved for future use. </p>
<p>The function <b>osThreadGetName</b> returns the pointer to the name string of the thread identified by parameter <em>thread_id</em> or <span class="XML-Token">NULL</span> in case of an error.</p>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> ThreadGetName_example (<span class="keywordtype">void</span>) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a> ();</div>
<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span>* name = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gac3230f3a55a297514b013ebf38f27e0a">osThreadGetName</a> (thread_id);</div>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> ThreadGetName_example (<span class="keywordtype">void</span>) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>();</div>
<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span>* name = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gac3230f3a55a297514b013ebf38f27e0a">osThreadGetName</a>(thread_id);</div>
<div class="line"> <span class="keywordflow">if</span> (name == NULL) {</div>
<div class="line"> <span class="comment">// Failed to get the thread name; not in a thread</span></div>
<div class="line"> }</div>
@ -955,10 +957,10 @@ reserved (must be 0) <p>Reserved for future use. </p>
<p>The function <b>osThreadGetId</b> returns the thread object ID of the currently running thread or NULL in case of an error.</p>
<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> ThreadGetId_example (<span class="keywordtype">void</span>) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> id; <span class="comment">// id for the currently running thread</span></div>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> ThreadGetId_example (<span class="keywordtype">void</span>) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> id; <span class="comment">// id for the currently running thread</span></div>
<div class="line"> </div>
<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a> ();</div>
<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>();</div>
<div class="line"> <span class="keywordflow">if</span> (<span class="keywordtype">id</span> == NULL) {</div>
<div class="line"> <span class="comment">// Failed to get the id</span></div>
<div class="line"> }</div>
@ -1027,28 +1029,28 @@ reserved (must be 0) <p>Reserved for future use. </p>
<ul>
<li><em>osOK:</em> the priority of the specified thread has been changed successfully.</li>
<li><em>osErrorParameter:</em> <em>thread_id</em> is <span class="XML-Token">NULL</span> or invalid or <em>priority</em> is incorrect.</li>
<li><em>osErrorResource:</em> thread specified by parameter <em>thread_id</em> is in an invalid thread state.</li>
<li><em>osErrorResource:</em> the thread is in an invalid state.</li>
<li><em>osErrorISR:</em> the function <b>osThreadSetPriority</b> cannot be called from interrupt service routines.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> <span class="keyword">const</span> *arg) { <span class="comment">// Thread function</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> id; <span class="comment">// id for the currently running thread</span></div>
<div class="line"> osStatus_t status; <span class="comment">// status of the executed function</span></div>
<div class="line"> </div>
<div class="line"> : </div>
<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a> (); <span class="comment">// Obtain ID of current running thread</span></div>
<div class="line"> </div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb">osThreadSetPriority</a> (<span class="keywordtype">id</span>, <a class="code" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca193b650117c209b4a203954542bcc3e6">osPriorityBelowNormal</a>); <span class="comment">// Set thread priority</span></div>
<div class="line"> <span class="keywordflow">if</span> (status == <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> <span class="keyword">const</span> *arg) { <span class="comment">// Thread function</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> id; <span class="comment">// id for the currently running thread</span></div>
<div class="line"> osStatus_t status; <span class="comment">// status of the executed function</span></div>
<div class="line"> </div>
<div class="line"> :</div>
<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>(); <span class="comment">// Obtain ID of current running thread</span></div>
<div class="line"> </div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb">osThreadSetPriority</a>(<span class="keywordtype">id</span>, <a class="code" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca193b650117c209b4a203954542bcc3e6">osPriorityBelowNormal</a>); <span class="comment">// Set thread priority</span></div>
<div class="line"> <span class="keywordflow">if</span> (status == <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
<div class="line"> <span class="comment">// Thread priority changed to BelowNormal</span></div>
<div class="line"> }</div>
<div class="line"> <span class="keywordflow">else</span> {</div>
<div class="line"> <span class="comment">// Failed to set the priority</span></div>
<div class="line"> }</div>
<div class="line"> : </div>
<div class="line"> :</div>
<div class="line">}</div>
</div><!-- fragment -->
</div>
@ -1083,12 +1085,12 @@ reserved (must be 0) <p>Reserved for future use. </p>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> <span class="keyword">const</span> *arg) { <span class="comment">// Thread function</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> id; <span class="comment">// id for the currently running thread</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a> priority; <span class="comment">// thread priority</span></div>
<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> <span class="keyword">const</span> *arg) { <span class="comment">// Thread function</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> id; <span class="comment">// id for the currently running thread</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a> priority; <span class="comment">// thread priority</span></div>
<div class="line"> </div>
<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a> (); <span class="comment">// Obtain ID of current running thread</span></div>
<div class="line"> priority = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga0aeaf349604f456e68e78f9d3b42e44b">osThreadGetPriority</a> (<span class="keywordtype">id</span>); <span class="comment">// Obtain the thread priority</span></div>
<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>(); <span class="comment">// Obtain ID of current running thread</span></div>
<div class="line"> priority = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga0aeaf349604f456e68e78f9d3b42e44b">osThreadGetPriority</a>(<span class="keywordtype">id</span>); <span class="comment">// Obtain the thread priority</span></div>
<div class="line">}</div>
</div><!-- fragment -->
</div>
@ -1120,12 +1122,12 @@ This function <b>has no impact</b> when called when the kernel is locked, see <a
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> <span class="keyword">const</span> *arg) { <span class="comment">// Thread function</span></div>
<div class="line"> osStatus_t status; <span class="comment">// status of the executed function</span></div>
<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> <span class="keyword">const</span> *arg) { <span class="comment">// Thread function</span></div>
<div class="line"> osStatus_t status; <span class="comment">// status of the executed function</span></div>
<div class="line"> :</div>
<div class="line"> <span class="keywordflow">while</span> (1) {</div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a>(); <span class="comment">// </span></div>
<div class="line"> <span class="keywordflow">if</span> (status != <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
<div class="line"> <span class="keywordflow">while</span> (1) {</div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a>();</div>
<div class="line"> <span class="keywordflow">if</span> (status != <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
<div class="line"> <span class="comment">// an error occurred</span></div>
<div class="line"> }</div>
<div class="line"> }</div>
@ -1159,7 +1161,7 @@ This function <b>has no impact</b> when called when the kernel is locked, see <a
<ul>
<li><em>osOK:</em> the thread has been suspended successfully.</li>
<li><em>osErrorParameter:</em> <em>thread_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
<li><em>osErrorResource:</em> thread specified by parameter <em>thread_id</em> is in an invalid thread state.</li>
<li><em>osErrorResource:</em> the thread is in an invalid state.</li>
<li><em>osErrorISR:</em> the function <b>osThreadSuspend</b> cannot be called from interrupt service routines.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd>
@ -1195,7 +1197,7 @@ This function <b>must not</b> be called to suspend the running thread when the k
<ul>
<li><em>osOK:</em> the thread has been resumed successfully.</li>
<li><em>osErrorParameter:</em> <em>thread_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
<li><em>osErrorResource:</em> thread specified by parameter <em>thread_id</em> is in an invalid thread state.</li>
<li><em>osErrorResource:</em> the thread is in an invalid state.</li>
<li><em>osErrorISR:</em> the function <b>osThreadResume</b> cannot be called from interrupt service routines.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd>
@ -1229,7 +1231,7 @@ This function <b>may be</b> called when kernel is locked (<a class="el" href="gr
<ul>
<li><em>osOK:</em> the attribute of the specified thread has been changed to detached successfully.</li>
<li><em>osErrorParameter:</em> <em>thread_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
<li><em>osErrorResource:</em> thread specified by parameter <em>thread_id</em> is in an invalid thread state.</li>
<li><em>osErrorResource:</em> the thread is in an invalid state.</li>
<li><em>osErrorISR:</em> the function <b>osThreadDetach</b> cannot be called from interrupt service routines.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
@ -1261,10 +1263,13 @@ This function <b>may be</b> called when kernel is locked (<a class="el" href="gr
<ul>
<li><em>osOK:</em> if the thread has already been terminated and joined or once the thread has been terminated and the join operations succeeds.</li>
<li><em>osErrorParameter:</em> <em>thread_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
<li><em>osErrorResource:</em> parameter <em>thread_id</em> is <span class="XML-Token">NULL</span> or refers to a thread that is not an active thread or the thread is not joinable.</li>
<li><em>osErrorResource:</em> the thread is in an invalid state (ex: not joinable).</li>
<li><em>osErrorISR:</em> the function <b>osThreadJoin</b> cannot be called from interrupt service routines.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. <br/>
</dd>
<dd>
Only one thread shall call <b>osThreadJoin</b> to join the target thread. If multiple threads try to join simultaneously with the same thread, the results are undefined. </dd></dl>
</div>
</div>
@ -1286,7 +1291,7 @@ This function <b>may be</b> called when kernel is locked (<a class="el" href="gr
<p><b>Code</b> <b>Example</b> </p>
<div class="fragment"><div class="line"><a class="code" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a> <span class="keywordtype">void</span> worker (<span class="keywordtype">void</span> *argument) {</div>
<div class="line"> <span class="comment">// do something</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(1000);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(1000U);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a>();</div>
<div class="line">}</div>
</div><!-- fragment -->
@ -1317,30 +1322,32 @@ This function <b>may be</b> called when kernel is locked (<a class="el" href="gr
<ul>
<li><em>osOK:</em> the specified thread has been removed from the active thread list successfully.</li>
<li><em>osErrorParameter:</em> <em>thread_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
<li><em>osErrorResource:</em> thread specified by parameter <em>thread_id</em> is in an invalid thread state or no other <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> thread exists.</li>
<li><em>osErrorResource:</em> the thread is in an invalid state or no other <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> thread exists.</li>
<li><em>osErrorISR:</em> the function <b>osThreadTerminate</b> cannot be called from interrupt service routines.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd>
<dd>
Avoid calling the function with a <em>thread_id</em> that does not exist or has been terminated already.</dd></dl>
Avoid calling the function with a <em>thread_id</em> that does not exist or has been terminated already. </dd>
<dd>
<b>osThreadTerminate</b> destroys non-joinable threads and removes their thread_id from the system. Subsequent access to the thread_id (for example <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gacc0a98b42f0a5928e12dc91dc76866b9">osThreadGetState</a>) will return an <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da339313e26613bc12f66a852e2ff8745e">osThreadError</a>. Joinable threads will not be destroyed and return the status <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dad5b2726c2d0228f4f1a76cf6b630963c">osThreadTerminated</a> until they are joined with <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a>.</dd></dl>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> *arg); <span class="comment">// function prototype for Thread_1</span></div>
<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> *arg); <span class="comment">// function prototype for Thread_1</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> ThreadTerminate_example (<span class="keywordtype">void</span>) {</div>
<div class="line"> osStatus_t status;</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> id;</div>
<div class="line"> </div>
<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (Thread_1, NULL, NULL); <span class="comment">// create the thread</span></div>
<div class="line"> <span class="comment">// do something</span></div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">osThreadTerminate</a> (<span class="keywordtype">id</span>); <span class="comment">// stop the thread</span></div>
<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(Thread_1, NULL, NULL); <span class="comment">// create the thread</span></div>
<div class="line"> <span class="comment">// do something</span></div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">osThreadTerminate</a>(<span class="keywordtype">id</span>); <span class="comment">// stop the thread</span></div>
<div class="line"> <span class="keywordflow">if</span> (status == <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
<div class="line"> <span class="comment">// Thread was terminated successfully</span></div>
<div class="line"> }</div>
<div class="line"> <span class="comment">// Thread was terminated successfully</span></div>
<div class="line"> }</div>
<div class="line"> <span class="keywordflow">else</span> {</div>
<div class="line"> <span class="comment">// Failed to terminate a thread</span></div>
<div class="line"> }</div>
<div class="line"> <span class="comment">// Failed to terminate a thread</span></div>
<div class="line"> }</div>
<div class="line">}</div>
</div><!-- fragment -->
</div>
@ -1455,7 +1462,7 @@ Avoid calling the function with a <em>thread_id</em> that does not exist or has
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -434,7 +434,7 @@ Functions</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -183,12 +183,12 @@ Behavior of a Periodic Timer</div></div>
<li>Define the timers: <div class="fragment"><div class="line"><a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> one_shot_id, periodic_id;</div>
</div><!-- fragment --></li>
<li>Define callback functions: <div class="fragment"><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> one_shot_Callback (<span class="keywordtype">void</span> *argument) {</div>
<div class="line"> int32_t arg = (int32_t)argument; <span class="comment">// cast back argument &#39;0&#39; </span></div>
<div class="line"> <span class="comment">// do something, i.e. set thread/event flags</span></div>
<div class="line"> int32_t arg = (int32_t)argument; <span class="comment">// cast back argument &#39;0&#39; </span></div>
<div class="line"> <span class="comment">// do something, i.e. set thread/event flags</span></div>
<div class="line">}</div>
<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> periodic_Callback (<span class="keywordtype">void</span> *argument) {</div>
<div class="line"> int32_t arg = (int32_t)argument; <span class="comment">// cast back argument &#39;5&#39;</span></div>
<div class="line"> <span class="comment">// do something, i.e. set thread/event flags</span></div>
<div class="line"> int32_t arg = (int32_t)argument; <span class="comment">// cast back argument &#39;5&#39;</span></div>
<div class="line"> <span class="comment">// do something, i.e. set thread/event flags</span></div>
<div class="line">}</div>
</div><!-- fragment --></li>
<li>Instantiate and start the timers: <div class="fragment"><div class="line"><span class="comment">// creates a one-shot timer:</span></div>
@ -197,11 +197,11 @@ Behavior of a Periodic Timer</div></div>
<div class="line"><span class="comment">// creates a periodic timer:</span></div>
<div class="line">periodic_id = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>(periodic_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a>, (<span class="keywordtype">void</span> *)5, NULL); <span class="comment">// (void*)5 is passed as an argument</span></div>
<div class="line"> <span class="comment">// to the callback function</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a>(one_shot_id, 500);</div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a>(periodic_id, 1500);</div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a>(one_shot_id, 500U);</div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a>(periodic_id, 1500U);</div>
<div class="line"> </div>
<div class="line"><span class="comment">// start the one-shot timer again after it has triggered the first time:</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a>(one_shot_id, 500);</div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a>(one_shot_id, 500U);</div>
<div class="line"> </div>
<div class="line"><span class="comment">// when timers are not needed any longer free the resources:</span></div>
<div class="line"><a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">osTimerDelete</a>(one_shot_id);</div>
@ -371,27 +371,27 @@ Returned by:</p>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Timer1_Callback (<span class="keywordtype">void</span> *arg); <span class="comment">// prototypes for timer callback function</span></div>
<div class="line"><span class="keywordtype">void</span> Timer2_Callback (<span class="keywordtype">void</span> *arg); </div>
<div class="line"><span class="keywordtype">void</span> Timer1_Callback (<span class="keywordtype">void</span> *arg); <span class="comment">// prototypes for timer callback function</span></div>
<div class="line"><span class="keywordtype">void</span> Timer2_Callback (<span class="keywordtype">void</span> *arg); <span class="comment">// prototypes for timer callback function</span></div>
<div class="line"> </div>
<div class="line">uint32_t exec1; <span class="comment">// argument for the timer call back function</span></div>
<div class="line">uint32_t exec2; <span class="comment">// argument for the timer call back function</span></div>
<div class="line">uint32_t exec1; <span class="comment">// argument for the timer call back function</span></div>
<div class="line">uint32_t exec2; <span class="comment">// argument for the timer call back function</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> TimerCreate_example (<span class="keywordtype">void</span>) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> id1; <span class="comment">// timer id</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> id2; <span class="comment">// timer id</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> id1; <span class="comment">// timer id</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> id2; <span class="comment">// timer id</span></div>
<div class="line"> </div>
<div class="line"> <span class="comment">// Create one-shoot timer</span></div>
<div class="line"> exec1 = 1;</div>
<div class="line"> id1 = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> (Timer1_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915a2e0e1f31c742c84b497c4d7143357bdb">osTimerOnce</a>, &amp;exec1, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (id1 != NULL) {</div>
<div class="line"> exec1 = 1U;</div>
<div class="line"> id1 = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>(Timer1_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915a2e0e1f31c742c84b497c4d7143357bdb">osTimerOnce</a>, &amp;exec1, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (id1 != NULL) {</div>
<div class="line"> <span class="comment">// One-shoot timer created</span></div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> <span class="comment">// Create periodic timer</span></div>
<div class="line"> exec2 = 2;</div>
<div class="line"> id2 = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> (Timer2_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a>, &amp;exec2, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (id2 != NULL) {</div>
<div class="line"> exec2 = 2U;</div>
<div class="line"> id2 = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>(Timer2_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a>, &amp;exec2, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (id2 != NULL) {</div>
<div class="line"> <span class="comment">// Periodic timer created</span></div>
<div class="line"> }</div>
<div class="line"> :</div>
@ -461,33 +461,33 @@ Returned by:</p>
<li><em>osOK:</em> the specified timer has been started or restarted.</li>
<li><em>osErrorISR:</em> <b>osTimerStart</b> cannot be called from interrupt service routines.</li>
<li><em>osErrorParameter:</em> parameter <em>timer_id</em> is either <span class="XML-Token">NULL</span> or invalid or <em>ticks</em> is incorrect.</li>
<li><em>osErrorResource:</em> the timer specified by parameter <em>timer_id</em> is in an invalid timer state.</li>
<li><em>osErrorResource:</em> the timer is in an invalid state.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Timer_Callback (<span class="keywordtype">void</span> *arg) { <span class="comment">// timer callback function</span></div>
<div class="line"> <span class="comment">// arg contains &amp;exec</span></div>
<div class="line"> <span class="comment">// called every second after osTimerStart</span></div>
<div class="line">} </div>
<div class="line"> </div>
<div class="line">uint32_t exec; <span class="comment">// argument for the timer call back function</span></div>
<div class="line"><span class="keywordtype">void</span> Timer_Callback (<span class="keywordtype">void</span> *arg) { <span class="comment">// timer callback function</span></div>
<div class="line"> <span class="comment">// arg contains &amp;exec</span></div>
<div class="line"> <span class="comment">// called every second after osTimerStart</span></div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> TimerStart_example (<span class="keywordtype">void</span>) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> id; <span class="comment">// timer id</span></div>
<div class="line"> uint32_t timerDelay; <span class="comment">// timer value</span></div>
<div class="line"> osStatus_t status; <span class="comment">// function return status</span></div>
<div class="line">uint32_t exec; <span class="comment">// argument for the timer call back function</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> TimerStart_example (<span class="keywordtype">void</span>) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> id; <span class="comment">// timer id</span></div>
<div class="line"> uint32_t timerDelay; <span class="comment">// timer value</span></div>
<div class="line"> osStatus_t status; <span class="comment">// function return status</span></div>
<div class="line"> </div>
<div class="line"> <span class="comment">// Create periodic timer</span></div>
<div class="line"> exec = 1;</div>
<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> (Timer_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a>, &amp;exec, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (<span class="keywordtype">id</span>) {</div>
<div class="line"> timerDelay = 1000;</div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> (<span class="keywordtype">id</span>, timerDelay); <span class="comment">// start timer</span></div>
<div class="line"> <span class="keywordflow">if</span> (status != <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
<div class="line"> exec = 1U;</div>
<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>(Timer_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a>, &amp;exec, NULL);</div>
<div class="line"> <span class="keywordflow">if</span> (<span class="keywordtype">id</span> != NULL) {</div>
<div class="line"> timerDelay = 1000U;</div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a>(<span class="keywordtype">id</span>, timerDelay); <span class="comment">// start timer</span></div>
<div class="line"> <span class="keywordflow">if</span> (status != <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
<div class="line"> <span class="comment">// Timer could not be started</span></div>
<div class="line"> } </div>
<div class="line"> }</div>
<div class="line"> }</div>
<div class="line"> ;</div>
<div class="line">}</div>
@ -520,31 +520,31 @@ Returned by:</p>
<li><em>osOK:</em> the specified timer has been stopped.</li>
<li><em>osErrorISR:</em> <b>osTimerStop</b> cannot be called from interrupt service routines.</li>
<li><em>osErrorParameter:</em> parameter <em>timer_id</em> is either <span class="XML-Token">NULL</span> or invalid.</li>
<li><em>osErrorResource:</em> the timer specified by parameter <em>timer_id</em> is not running (you can only stop a running timer).</li>
<li><em>osErrorResource:</em> the timer is not running (you can only stop a running timer).</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Timer_Callback (<span class="keywordtype">void</span> *arg); <span class="comment">// prototype for timer callback function</span></div>
<div class="line"><span class="keywordtype">void</span> Timer_Callback (<span class="keywordtype">void</span> *arg); <span class="comment">// prototype for timer callback function</span></div>
<div class="line"> </div>
<div class="line">uint32_t exec; <span class="comment">// argument for the timer call back function</span></div>
<div class="line"> </div>
<div class="line">uint32_t exec; <span class="comment">// argument for the timer call back function</span></div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> TimerStop_example (<span class="keywordtype">void</span>) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> id; <span class="comment">// timer id</span></div>
<div class="line"> osStatus_t status; <span class="comment">// function return status</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> id; <span class="comment">// timer id</span></div>
<div class="line"> osStatus_t status; <span class="comment">// function return status</span></div>
<div class="line"> </div>
<div class="line"> <span class="comment">// Create periodic timer</span></div>
<div class="line"> exec = 1;</div>
<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> (Timer_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a>, &amp;exec, NULL);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> (<span class="keywordtype">id</span>, 1000); <span class="comment">// start timer</span></div>
<div class="line"> exec = 1U;</div>
<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>(Timer_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a>, &amp;exec, NULL);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a>(<span class="keywordtype">id</span>, 1000U); <span class="comment">// start timer</span></div>
<div class="line"> :</div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9">osTimerStop</a> (<span class="keywordtype">id</span>); <span class="comment">// stop timer</span></div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9">osTimerStop</a>(<span class="keywordtype">id</span>); <span class="comment">// stop timer</span></div>
<div class="line"> <span class="keywordflow">if</span> (status != <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
<div class="line"> <span class="comment">// Timer could not be stopped</span></div>
<div class="line"> } </div>
<div class="line"> }</div>
<div class="line"> ;</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> (<span class="keywordtype">id</span>, 1000); <span class="comment">// start timer again</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a>(<span class="keywordtype">id</span>, 1000U); <span class="comment">// start timer again</span></div>
<div class="line"> ;</div>
<div class="line">}</div>
</div><!-- fragment -->
@ -601,26 +601,26 @@ Returned by:</p>
<li><em>osOK:</em> the specified timer has been deleted.</li>
<li><em>osErrorISR:</em> <b>osTimerDelete</b> cannot be called from interrupt service routines.</li>
<li><em>osErrorParameter:</em> parameter <em>timer_id</em> is either <span class="XML-Token">NULL</span> or invalid.</li>
<li><em>osErrorResource:</em> the timer specified by parameter <em>timer_id</em> is in an invalid timer state.</li>
<li><em>osErrorResource:</em> the timer is in an invalid state.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> Timer_Callback (<span class="keywordtype">void</span> *arg); <span class="comment">// prototype for timer callback function</span></div>
<div class="line"> </div>
<div class="line">uint32_t exec; <span class="comment">// argument for the timer call back function</span></div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> Timer_Callback (<span class="keywordtype">void</span> *arg); <span class="comment">// prototype for timer callback function</span></div>
<div class="line"> </div>
<div class="line">uint32_t exec; <span class="comment">// argument for the timer call back function</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> TimerDelete_example (<span class="keywordtype">void</span>) {</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> id; <span class="comment">// timer id</span></div>
<div class="line"> osStatus_t status; <span class="comment">// function return status </span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> id; <span class="comment">// timer id</span></div>
<div class="line"> osStatus_t status; <span class="comment">// function return status </span></div>
<div class="line"> </div>
<div class="line"> <span class="comment">// Create periodic timer</span></div>
<div class="line"> exec = 1;</div>
<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> (Timer_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a>, &amp;exec, NULL);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> (<span class="keywordtype">id</span>, 1000UL); <span class="comment">// start timer</span></div>
<div class="line"> exec = 1U;</div>
<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>(Timer_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a>, &amp;exec, NULL);</div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a>(<span class="keywordtype">id</span>, 1000U); <span class="comment">// start timer</span></div>
<div class="line"> ;</div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">osTimerDelete</a> (<span class="keywordtype">id</span>); <span class="comment">// stop and delete timer</span></div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">osTimerDelete</a>(<span class="keywordtype">id</span>); <span class="comment">// stop and delete timer</span></div>
<div class="line"> <span class="keywordflow">if</span> (status != <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
<div class="line"> <span class="comment">// Timer could not be deleted</span></div>
<div class="line"> } </div>
@ -634,7 +634,7 @@ Returned by:</p>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -161,12 +161,12 @@ Functions</h2></td></tr>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> *arg) { <span class="comment">// Thread function</span></div>
<div class="line"> osStatus_t status; <span class="comment">// capture the return status</span></div>
<div class="line"> uint32_t delayTime; <span class="comment">// delay time in milliseconds</span></div>
<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> *arg) { <span class="comment">// Thread function</span></div>
<div class="line"> osStatus_t status; <span class="comment">// capture the return status</span></div>
<div class="line"> uint32_t delayTime; <span class="comment">// delay time in milliseconds</span></div>
<div class="line"> </div>
<div class="line"> delayTime = 1000; <span class="comment">// delay 1 second</span></div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> (delayTime); <span class="comment">// suspend thread execution</span></div>
<div class="line"> delayTime = 1000U; <span class="comment">// delay 1 second</span></div>
<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(delayTime); <span class="comment">// suspend thread execution</span></div>
<div class="line">}</div>
</div><!-- fragment -->
</div>
@ -204,12 +204,12 @@ Functions</h2></td></tr>
<p><b>Code Example</b> </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> *arg) { <span class="comment">// Thread function</span></div>
<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> *arg) { <span class="comment">// Thread function</span></div>
<div class="line"> uint32_t tick;</div>
<div class="line"></div>
<div class="line"> tick = <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">osKernelGetTickCount</a>(); <span class="comment">// retrieve the number of system ticks</span></div>
<div class="line"> </div>
<div class="line"> tick = <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">osKernelGetTickCount</a>(); <span class="comment">// retrieve the number of system ticks</span></div>
<div class="line"> <span class="keywordflow">for</span> (;;) {</div>
<div class="line"> tick += 1000; <span class="comment">// delay 1000 ticks periodically</span></div>
<div class="line"> tick += 1000U; <span class="comment">// delay 1000 ticks periodically</span></div>
<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">osDelayUntil</a>(tick);</div>
<div class="line"> <span class="comment">// ...</span></div>
<div class="line"> }</div>
@ -222,7 +222,7 @@ Functions</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -253,7 +253,7 @@ Macros</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -141,7 +141,7 @@ Content</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -445,7 +445,7 @@ Macros</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -253,7 +253,7 @@ and <b>do not</b> return from this function when providing a user defined implem
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -1,757 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Structs</title>
<title>CMSIS-RTOS2: Structs</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="printComponentTabs.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 46px;">
<td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">CMSIS-RTOS2
&#160;<span id="projectnumber">Version 2.1.2</span>
</div>
<div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<div id="CMSISnav" class="tabs1">
<ul class="tablist">
<script type="text/javascript">
<!--
writeComponentTabs.call(this);
//-->
</script>
</ul>
</div>
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
<li><a href="modules.html"><span>Reference</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__rtx5__specific__structs.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> </div>
<div class="headertitle">
<div class="title">Structs<div class="ingroups"><a class="el" href="group__rtx5__specific.html">RTX5 Specific API</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>RTX5 structs.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:structosRtxThread__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__structs.html#structosRtxThread__t">osRtxThread_t</a></td></tr>
<tr class="memdesc:structosRtxThread__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread Control Block. <a href="group__rtx5__specific__structs.html#structosRtxThread__t">More...</a><br/></td></tr>
<tr class="separator:structosRtxThread__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structosRtxTimerFinfo__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__structs.html#structosRtxTimerFinfo__t">osRtxTimerFinfo_t</a></td></tr>
<tr class="memdesc:structosRtxTimerFinfo__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer Function Information. <a href="group__rtx5__specific__structs.html#structosRtxTimerFinfo__t">More...</a><br/></td></tr>
<tr class="separator:structosRtxTimerFinfo__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structosRtxTimer__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__structs.html#structosRtxTimer__t">osRtxTimer_t</a></td></tr>
<tr class="memdesc:structosRtxTimer__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer Control Block. <a href="group__rtx5__specific__structs.html#structosRtxTimer__t">More...</a><br/></td></tr>
<tr class="separator:structosRtxTimer__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structosRtxEventFlags__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__structs.html#structosRtxEventFlags__t">osRtxEventFlags_t</a></td></tr>
<tr class="memdesc:structosRtxEventFlags__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event Flags Control Block. <a href="group__rtx5__specific__structs.html#structosRtxEventFlags__t">More...</a><br/></td></tr>
<tr class="separator:structosRtxEventFlags__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structosRtxMutex__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__structs.html#structosRtxMutex__t">osRtxMutex_t</a></td></tr>
<tr class="memdesc:structosRtxMutex__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mutex Control Block. <a href="group__rtx5__specific__structs.html#structosRtxMutex__t">More...</a><br/></td></tr>
<tr class="separator:structosRtxMutex__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structosRtxSemaphore__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__structs.html#structosRtxSemaphore__t">osRtxSemaphore_t</a></td></tr>
<tr class="memdesc:structosRtxSemaphore__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Semaphore Control Block. <a href="group__rtx5__specific__structs.html#structosRtxSemaphore__t">More...</a><br/></td></tr>
<tr class="separator:structosRtxSemaphore__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structosRtxMemoryPool__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__structs.html#structosRtxMemoryPool__t">osRtxMemoryPool_t</a></td></tr>
<tr class="memdesc:structosRtxMemoryPool__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory Pool Control Block. <a href="group__rtx5__specific__structs.html#structosRtxMemoryPool__t">More...</a><br/></td></tr>
<tr class="separator:structosRtxMemoryPool__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structosRtxMessageQueue__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__structs.html#structosRtxMessageQueue__t">osRtxMessageQueue_t</a></td></tr>
<tr class="memdesc:structosRtxMessageQueue__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Message Queue Control Block. <a href="group__rtx5__specific__structs.html#structosRtxMessageQueue__t">More...</a><br/></td></tr>
<tr class="separator:structosRtxMessageQueue__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structosRtxThread__t" id="structosRtxThread__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct osRtxThread_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
<td class="fieldname">
id</td>
<td class="fielddoc">
Object Identifier. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
<td class="fieldname">
state</td>
<td class="fielddoc">
Object State. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
<td class="fieldname">
flags</td>
<td class="fielddoc">
Object Flags. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a28478ea2856f6286899bc90b2c6a1ec4"></a>uint8_t</td>
<td class="fieldname">
attr</td>
<td class="fielddoc">
Object Attributes. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
<td class="fieldname">
name</td>
<td class="fielddoc">
Object Name. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a421971e8ae94fe0bd86b85a90445e71e"></a>struct osRtxThread_s *</td>
<td class="fieldname">
thread_next</td>
<td class="fielddoc">
Link pointer to next Thread in Object list. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa230a0d899f6c0750e6d454af3ef9b05"></a>struct osRtxThread_s *</td>
<td class="fieldname">
thread_prev</td>
<td class="fielddoc">
Link pointer to previous Thread in Object list. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a21a74cedec66715cd5d7422797035868"></a>struct osRtxThread_s *</td>
<td class="fieldname">
delay_next</td>
<td class="fielddoc">
Link pointer to next Thread in Delay list. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="adcfea33cc536708db8a3419ba0295551"></a>struct osRtxThread_s *</td>
<td class="fieldname">
delay_prev</td>
<td class="fielddoc">
Link pointer to previous Thread in Delay list. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a83ec0540c50d4e79bed99f1b384bd2b9"></a>struct osRtxThread_s *</td>
<td class="fieldname">
thread_join</td>
<td class="fielddoc">
Thread waiting to Join. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a458421a43d4f6dc515faf427bf579d00"></a>uint32_t</td>
<td class="fieldname">
delay</td>
<td class="fielddoc">
Delay Time. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a81659cc4c01e54e2424022728d9effc7"></a>int8_t</td>
<td class="fieldname">
priority</td>
<td class="fielddoc">
Thread Priority. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac67f8858081fb7a6e5a4ee8d2de3b348"></a>int8_t</td>
<td class="fieldname">
priority_base</td>
<td class="fielddoc">
Base Priority. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1071334ebd46d95b9ab1dcad788b2adc"></a>uint8_t</td>
<td class="fieldname">
stack_frame</td>
<td class="fielddoc">
Stack Frame (EXC_RETURN[7..0]) </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a87c898585d0aeffdcf67c9e1b3befefe"></a>uint8_t</td>
<td class="fieldname">
flags_options</td>
<td class="fielddoc">
Thread/Event Flags Options. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a3c7b4f24d9527394f4b5a1135d117691"></a>uint32_t</td>
<td class="fieldname">
wait_flags</td>
<td class="fielddoc">
Waiting Thread/Event Flags. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ae757685e50b875e953f4aff67ac24b1b"></a>uint32_t</td>
<td class="fieldname">
thread_flags</td>
<td class="fielddoc">
Thread Flags. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a70b3153655adaf42687fe250983f6c95"></a>struct osRtxMutex_s *</td>
<td class="fieldname">
mutex_list</td>
<td class="fielddoc">
Link pointer to list of owned Mutexes. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a447dbb69b4c036e118b3b1b8bd22fe60"></a>void *</td>
<td class="fieldname">
stack_mem</td>
<td class="fielddoc">
Stack Memory. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ad63716408aae5b50857ca8ce74e3a3ff"></a>uint32_t</td>
<td class="fieldname">
stack_size</td>
<td class="fielddoc">
Stack Size. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a382a07e24a852d580d7548b8d517384c"></a>uint32_t</td>
<td class="fieldname">
sp</td>
<td class="fielddoc">
Current Stack Pointer. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="adf2ebf46aa7018845582f1c70de83598"></a>uint32_t</td>
<td class="fieldname">
thread_addr</td>
<td class="fielddoc">
Thread entry address. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="adaa6c424a231e5f6c788532675f33e16"></a>uint32_t</td>
<td class="fieldname">
tz_memory</td>
<td class="fielddoc">
TrustZone Memory Identifier. </td></tr>
</table>
</div>
</div>
<a name="structosRtxTimerFinfo__t" id="structosRtxTimerFinfo__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct osRtxTimerFinfo_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a9587c8102d13ec6b8df5dd068e221125"></a>void *</td>
<td class="fieldname">
fp</td>
<td class="fielddoc">
Function Pointer. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a9ce2ec4812a92cb6ab39f6e81e9173a9"></a>void *</td>
<td class="fieldname">
arg</td>
<td class="fielddoc">
Function Argument. </td></tr>
</table>
</div>
</div>
<a name="structosRtxTimer__t" id="structosRtxTimer__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct osRtxTimer_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
<td class="fieldname">
id</td>
<td class="fielddoc">
Object Identifier. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
<td class="fieldname">
state</td>
<td class="fielddoc">
Object State. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
<td class="fieldname">
flags</td>
<td class="fielddoc">
Object Flags. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1d127017fb298b889f4ba24752d08b8e"></a>uint8_t</td>
<td class="fieldname">
type</td>
<td class="fielddoc">
Timer Type (Periodic/One-shot) </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
<td class="fieldname">
name</td>
<td class="fielddoc">
Object Name. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac8953ebf7df8aaf724cb12876ac8fb1a"></a>struct osRtxTimer_s *</td>
<td class="fieldname">
prev</td>
<td class="fielddoc">
Pointer to previous active Timer. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8b9ac161a613448926b2c2b2c8dbe259"></a>struct osRtxTimer_s *</td>
<td class="fieldname">
next</td>
<td class="fielddoc">
Pointer to next active Timer. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a260e06ce96c2e4deebccaedeb059dc0b"></a>uint32_t</td>
<td class="fieldname">
tick</td>
<td class="fielddoc">
Timer current Tick. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aee4a6239f04d660fc90663dd6b39ca95"></a>uint32_t</td>
<td class="fieldname">
load</td>
<td class="fielddoc">
Timer Load value. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab415a6615c5ddf5365ed86e58a1e1809"></a><a class="el" href="group__rtx5__specific__structs.html#structosRtxTimerFinfo__t">osRtxTimerFinfo_t</a></td>
<td class="fieldname">
finfo</td>
<td class="fielddoc">
Timer Function Info. </td></tr>
</table>
</div>
</div>
<a name="structosRtxEventFlags__t" id="structosRtxEventFlags__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct osRtxEventFlags_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
<td class="fieldname">
id</td>
<td class="fielddoc">
Object Identifier. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
<td class="fieldname">
state</td>
<td class="fielddoc">
Object State. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
<td class="fieldname">
flags</td>
<td class="fielddoc">
Object Flags. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="acb7bc06bed6f6408d719334fc41698c7"></a>uint8_t</td>
<td class="fieldname">
reserved</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
<td class="fieldname">
name</td>
<td class="fielddoc">
Object Name. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8afd5feb676df99867375957b0587451"></a><a class="el" href="group__rtx5__specific__structs.html#structosRtxThread__t">osRtxThread_t</a> *</td>
<td class="fieldname">
thread_list</td>
<td class="fielddoc">
Waiting Threads List. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a7044be0679894b5daf72f19f9dd06e03"></a>uint32_t</td>
<td class="fieldname">
event_flags</td>
<td class="fielddoc">
Event Flags. </td></tr>
</table>
</div>
</div>
<a name="structosRtxMutex__t" id="structosRtxMutex__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct osRtxMutex_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
<td class="fieldname">
id</td>
<td class="fielddoc">
Object Identifier. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
<td class="fieldname">
state</td>
<td class="fielddoc">
Object State. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
<td class="fieldname">
flags</td>
<td class="fielddoc">
Object Flags. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a28478ea2856f6286899bc90b2c6a1ec4"></a>uint8_t</td>
<td class="fieldname">
attr</td>
<td class="fielddoc">
Object Attributes. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
<td class="fieldname">
name</td>
<td class="fielddoc">
Object Name. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8afd5feb676df99867375957b0587451"></a><a class="el" href="group__rtx5__specific__structs.html#structosRtxThread__t">osRtxThread_t</a> *</td>
<td class="fieldname">
thread_list</td>
<td class="fielddoc">
Waiting Threads List. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a987889d464cb2925029e135b76aa0dc9"></a><a class="el" href="group__rtx5__specific__structs.html#structosRtxThread__t">osRtxThread_t</a> *</td>
<td class="fieldname">
owner_thread</td>
<td class="fielddoc">
Owner Thread. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a50b315b9b80bafdba54a7a731be1cc30"></a>struct osRtxMutex_s *</td>
<td class="fieldname">
owner_prev</td>
<td class="fielddoc">
Pointer to previous owned Mutex. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a54be7ae32f627ee70e1af8c54203ee5a"></a>struct osRtxMutex_s *</td>
<td class="fieldname">
owner_next</td>
<td class="fielddoc">
Pointer to next owned Mutex. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a92435efb84d6814afd444fd462802e9c"></a>uint8_t</td>
<td class="fieldname">
lock</td>
<td class="fielddoc">
Lock counter. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a735ef00341a84c02ba561c66de3d20af"></a>uint8_t</td>
<td class="fieldname">
padding[3]</td>
<td class="fielddoc">
</td></tr>
</table>
</div>
</div>
<a name="structosRtxSemaphore__t" id="structosRtxSemaphore__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct osRtxSemaphore_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
<td class="fieldname">
id</td>
<td class="fielddoc">
Object Identifier. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
<td class="fieldname">
state</td>
<td class="fielddoc">
Object State. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
<td class="fieldname">
flags</td>
<td class="fielddoc">
Object Flags. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="acb7bc06bed6f6408d719334fc41698c7"></a>uint8_t</td>
<td class="fieldname">
reserved</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
<td class="fieldname">
name</td>
<td class="fielddoc">
Object Name. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8afd5feb676df99867375957b0587451"></a><a class="el" href="group__rtx5__specific__structs.html#structosRtxThread__t">osRtxThread_t</a> *</td>
<td class="fieldname">
thread_list</td>
<td class="fielddoc">
Waiting Threads List. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a4e2e4e1126848f81d9e943147e07f0e0"></a>uint16_t</td>
<td class="fieldname">
tokens</td>
<td class="fielddoc">
Current number of tokens. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa793f0e9a46e8b59b6d351535ee18a7d"></a>uint16_t</td>
<td class="fieldname">
max_tokens</td>
<td class="fielddoc">
Maximum number of tokens. </td></tr>
</table>
</div>
</div>
<a name="structosRtxMemoryPool__t" id="structosRtxMemoryPool__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct osRtxMemoryPool_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
<td class="fieldname">
id</td>
<td class="fielddoc">
Object Identifier. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
<td class="fieldname">
state</td>
<td class="fielddoc">
Object State. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
<td class="fieldname">
flags</td>
<td class="fielddoc">
Object Flags. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="acb7bc06bed6f6408d719334fc41698c7"></a>uint8_t</td>
<td class="fieldname">
reserved</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
<td class="fieldname">
name</td>
<td class="fielddoc">
Object Name. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8afd5feb676df99867375957b0587451"></a><a class="el" href="group__rtx5__specific__structs.html#structosRtxThread__t">osRtxThread_t</a> *</td>
<td class="fieldname">
thread_list</td>
<td class="fielddoc">
Waiting Threads List. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac1cf67a8631962a42fa2da46f20a1a39"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a></td>
<td class="fieldname">
mp_info</td>
<td class="fielddoc">
Memory Pool Info. </td></tr>
</table>
</div>
</div>
<a name="structosRtxMessageQueue__t" id="structosRtxMessageQueue__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct osRtxMessageQueue_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
<td class="fieldname">
id</td>
<td class="fielddoc">
Object Identifier. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
<td class="fieldname">
state</td>
<td class="fielddoc">
Object State. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
<td class="fieldname">
flags</td>
<td class="fielddoc">
Object Flags. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="acb7bc06bed6f6408d719334fc41698c7"></a>uint8_t</td>
<td class="fieldname">
reserved</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
<td class="fieldname">
name</td>
<td class="fielddoc">
Object Name. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8afd5feb676df99867375957b0587451"></a><a class="el" href="group__rtx5__specific__structs.html#structosRtxThread__t">osRtxThread_t</a> *</td>
<td class="fieldname">
thread_list</td>
<td class="fielddoc">
Waiting Threads List. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac1cf67a8631962a42fa2da46f20a1a39"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a></td>
<td class="fieldname">
mp_info</td>
<td class="fielddoc">
Memory Pool Info. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a58873af81b75772a41aa5c1ff788a0c2"></a>uint32_t</td>
<td class="fieldname">
msg_size</td>
<td class="fielddoc">
Message Size. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a6a019648a53352a413ea79b958a362cd"></a>uint32_t</td>
<td class="fieldname">
msg_count</td>
<td class="fielddoc">
Number of queued Messages. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a13c143cc2f25a550fc3eb7ae68b0c56d"></a><a class="el" href="rtx__os_8h.html#structosRtxMessage__t">osRtxMessage_t</a> *</td>
<td class="fieldname">
msg_first</td>
<td class="fielddoc">
Pointer to first Message. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab386d4a98974f52ca151426c4dde0da4"></a><a class="el" href="rtx__os_8h.html#structosRtxMessage__t">osRtxMessage_t</a> *</td>
<td class="fieldname">
msg_last</td>
<td class="fielddoc">
Pointer to last Message. </td></tr>
</table>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Thu Nov 16 2017 17:06:23 for CMSIS-RTOS2 by ARM Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
-->
</li>
</ul>
</div>
</body>
</html>

View file

@ -1,98 +0,0 @@
var group__rtx5__specific__structs =
[
[ "osRtxThread_t", "group__rtx5__specific__structs.html#structosRtxThread__t", [
[ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
[ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
[ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
[ "attr", "group__rtx5__specific__structs.html#a28478ea2856f6286899bc90b2c6a1ec4", null ],
[ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
[ "thread_next", "group__rtx5__specific__structs.html#a421971e8ae94fe0bd86b85a90445e71e", null ],
[ "thread_prev", "group__rtx5__specific__structs.html#aa230a0d899f6c0750e6d454af3ef9b05", null ],
[ "delay_next", "group__rtx5__specific__structs.html#a21a74cedec66715cd5d7422797035868", null ],
[ "delay_prev", "group__rtx5__specific__structs.html#adcfea33cc536708db8a3419ba0295551", null ],
[ "thread_join", "group__rtx5__specific__structs.html#a83ec0540c50d4e79bed99f1b384bd2b9", null ],
[ "delay", "group__rtx5__specific__structs.html#a458421a43d4f6dc515faf427bf579d00", null ],
[ "priority", "group__rtx5__specific__structs.html#a81659cc4c01e54e2424022728d9effc7", null ],
[ "priority_base", "group__rtx5__specific__structs.html#ac67f8858081fb7a6e5a4ee8d2de3b348", null ],
[ "stack_frame", "group__rtx5__specific__structs.html#a1071334ebd46d95b9ab1dcad788b2adc", null ],
[ "flags_options", "group__rtx5__specific__structs.html#a87c898585d0aeffdcf67c9e1b3befefe", null ],
[ "wait_flags", "group__rtx5__specific__structs.html#a3c7b4f24d9527394f4b5a1135d117691", null ],
[ "thread_flags", "group__rtx5__specific__structs.html#ae757685e50b875e953f4aff67ac24b1b", null ],
[ "mutex_list", "group__rtx5__specific__structs.html#a70b3153655adaf42687fe250983f6c95", null ],
[ "stack_mem", "group__rtx5__specific__structs.html#a447dbb69b4c036e118b3b1b8bd22fe60", null ],
[ "stack_size", "group__rtx5__specific__structs.html#ad63716408aae5b50857ca8ce74e3a3ff", null ],
[ "sp", "group__rtx5__specific__structs.html#a382a07e24a852d580d7548b8d517384c", null ],
[ "thread_addr", "group__rtx5__specific__structs.html#adf2ebf46aa7018845582f1c70de83598", null ],
[ "tz_memory", "group__rtx5__specific__structs.html#adaa6c424a231e5f6c788532675f33e16", null ]
] ],
[ "osRtxTimerFinfo_t", "group__rtx5__specific__structs.html#structosRtxTimerFinfo__t", [
[ "fp", "group__rtx5__specific__structs.html#a9587c8102d13ec6b8df5dd068e221125", null ],
[ "arg", "group__rtx5__specific__structs.html#a9ce2ec4812a92cb6ab39f6e81e9173a9", null ]
] ],
[ "osRtxTimer_t", "group__rtx5__specific__structs.html#structosRtxTimer__t", [
[ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
[ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
[ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
[ "type", "group__rtx5__specific__structs.html#a1d127017fb298b889f4ba24752d08b8e", null ],
[ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
[ "prev", "group__rtx5__specific__structs.html#ac8953ebf7df8aaf724cb12876ac8fb1a", null ],
[ "next", "group__rtx5__specific__structs.html#a8b9ac161a613448926b2c2b2c8dbe259", null ],
[ "tick", "group__rtx5__specific__structs.html#a260e06ce96c2e4deebccaedeb059dc0b", null ],
[ "load", "group__rtx5__specific__structs.html#aee4a6239f04d660fc90663dd6b39ca95", null ],
[ "finfo", "group__rtx5__specific__structs.html#ab415a6615c5ddf5365ed86e58a1e1809", null ]
] ],
[ "osRtxEventFlags_t", "group__rtx5__specific__structs.html#structosRtxEventFlags__t", [
[ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
[ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
[ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
[ "reserved", "group__rtx5__specific__structs.html#acb7bc06bed6f6408d719334fc41698c7", null ],
[ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
[ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
[ "event_flags", "group__rtx5__specific__structs.html#a7044be0679894b5daf72f19f9dd06e03", null ]
] ],
[ "osRtxMutex_t", "group__rtx5__specific__structs.html#structosRtxMutex__t", [
[ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
[ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
[ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
[ "attr", "group__rtx5__specific__structs.html#a28478ea2856f6286899bc90b2c6a1ec4", null ],
[ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
[ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
[ "owner_thread", "group__rtx5__specific__structs.html#a987889d464cb2925029e135b76aa0dc9", null ],
[ "owner_prev", "group__rtx5__specific__structs.html#a50b315b9b80bafdba54a7a731be1cc30", null ],
[ "owner_next", "group__rtx5__specific__structs.html#a54be7ae32f627ee70e1af8c54203ee5a", null ],
[ "lock", "group__rtx5__specific__structs.html#a92435efb84d6814afd444fd462802e9c", null ],
[ "padding", "group__rtx5__specific__structs.html#a735ef00341a84c02ba561c66de3d20af", null ]
] ],
[ "osRtxSemaphore_t", "group__rtx5__specific__structs.html#structosRtxSemaphore__t", [
[ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
[ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
[ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
[ "reserved", "group__rtx5__specific__structs.html#acb7bc06bed6f6408d719334fc41698c7", null ],
[ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
[ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
[ "tokens", "group__rtx5__specific__structs.html#a4e2e4e1126848f81d9e943147e07f0e0", null ],
[ "max_tokens", "group__rtx5__specific__structs.html#aa793f0e9a46e8b59b6d351535ee18a7d", null ]
] ],
[ "osRtxMemoryPool_t", "group__rtx5__specific__structs.html#structosRtxMemoryPool__t", [
[ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
[ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
[ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
[ "reserved", "group__rtx5__specific__structs.html#acb7bc06bed6f6408d719334fc41698c7", null ],
[ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
[ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
[ "mp_info", "group__rtx5__specific__structs.html#ac1cf67a8631962a42fa2da46f20a1a39", null ]
] ],
[ "osRtxMessageQueue_t", "group__rtx5__specific__structs.html#structosRtxMessageQueue__t", [
[ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
[ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
[ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
[ "reserved", "group__rtx5__specific__structs.html#acb7bc06bed6f6408d719334fc41698c7", null ],
[ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
[ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
[ "mp_info", "group__rtx5__specific__structs.html#ac1cf67a8631962a42fa2da46f20a1a39", null ],
[ "msg_size", "group__rtx5__specific__structs.html#a58873af81b75772a41aa5c1ff788a0c2", null ],
[ "msg_count", "group__rtx5__specific__structs.html#a6a019648a53352a413ea79b958a362cd", null ],
[ "msg_first", "group__rtx5__specific__structs.html#a13c143cc2f25a550fc3eb7ae68b0c56d", null ],
[ "msg_last", "group__rtx5__specific__structs.html#ab386d4a98974f52ca151426c4dde0da4", null ]
] ]
];

View file

@ -1,10 +0,0 @@
var group__rtx5__specific__structs_structosRtxEventFlags__t =
[
[ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
[ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
[ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
[ "reserved", "group__rtx5__specific__structs.html#acb7bc06bed6f6408d719334fc41698c7", null ],
[ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
[ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
[ "event_flags", "group__rtx5__specific__structs.html#a7044be0679894b5daf72f19f9dd06e03", null ]
];

View file

@ -1,10 +0,0 @@
var group__rtx5__specific__structs_structosRtxMemoryPool__t =
[
[ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
[ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
[ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
[ "reserved", "group__rtx5__specific__structs.html#acb7bc06bed6f6408d719334fc41698c7", null ],
[ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
[ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
[ "mp_info", "group__rtx5__specific__structs.html#ac1cf67a8631962a42fa2da46f20a1a39", null ]
];

View file

@ -1,14 +0,0 @@
var group__rtx5__specific__structs_structosRtxMessageQueue__t =
[
[ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
[ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
[ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
[ "reserved", "group__rtx5__specific__structs.html#acb7bc06bed6f6408d719334fc41698c7", null ],
[ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
[ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
[ "mp_info", "group__rtx5__specific__structs.html#ac1cf67a8631962a42fa2da46f20a1a39", null ],
[ "msg_size", "group__rtx5__specific__structs.html#a58873af81b75772a41aa5c1ff788a0c2", null ],
[ "msg_count", "group__rtx5__specific__structs.html#a6a019648a53352a413ea79b958a362cd", null ],
[ "msg_first", "group__rtx5__specific__structs.html#a13c143cc2f25a550fc3eb7ae68b0c56d", null ],
[ "msg_last", "group__rtx5__specific__structs.html#ab386d4a98974f52ca151426c4dde0da4", null ]
];

View file

@ -1,14 +0,0 @@
var group__rtx5__specific__structs_structosRtxMutex__t =
[
[ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
[ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
[ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
[ "attr", "group__rtx5__specific__structs.html#a28478ea2856f6286899bc90b2c6a1ec4", null ],
[ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
[ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
[ "owner_thread", "group__rtx5__specific__structs.html#a987889d464cb2925029e135b76aa0dc9", null ],
[ "owner_prev", "group__rtx5__specific__structs.html#a50b315b9b80bafdba54a7a731be1cc30", null ],
[ "owner_next", "group__rtx5__specific__structs.html#a54be7ae32f627ee70e1af8c54203ee5a", null ],
[ "lock", "group__rtx5__specific__structs.html#a92435efb84d6814afd444fd462802e9c", null ],
[ "padding", "group__rtx5__specific__structs.html#a735ef00341a84c02ba561c66de3d20af", null ]
];

View file

@ -1,11 +0,0 @@
var group__rtx5__specific__structs_structosRtxSemaphore__t =
[
[ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
[ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
[ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
[ "reserved", "group__rtx5__specific__structs.html#acb7bc06bed6f6408d719334fc41698c7", null ],
[ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
[ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
[ "tokens", "group__rtx5__specific__structs.html#a4e2e4e1126848f81d9e943147e07f0e0", null ],
[ "max_tokens", "group__rtx5__specific__structs.html#aa793f0e9a46e8b59b6d351535ee18a7d", null ]
];

View file

@ -1,26 +0,0 @@
var group__rtx5__specific__structs_structosRtxThread__t =
[
[ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
[ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
[ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
[ "attr", "group__rtx5__specific__structs.html#a28478ea2856f6286899bc90b2c6a1ec4", null ],
[ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
[ "thread_next", "group__rtx5__specific__structs.html#a421971e8ae94fe0bd86b85a90445e71e", null ],
[ "thread_prev", "group__rtx5__specific__structs.html#aa230a0d899f6c0750e6d454af3ef9b05", null ],
[ "delay_next", "group__rtx5__specific__structs.html#a21a74cedec66715cd5d7422797035868", null ],
[ "delay_prev", "group__rtx5__specific__structs.html#adcfea33cc536708db8a3419ba0295551", null ],
[ "thread_join", "group__rtx5__specific__structs.html#a83ec0540c50d4e79bed99f1b384bd2b9", null ],
[ "delay", "group__rtx5__specific__structs.html#a458421a43d4f6dc515faf427bf579d00", null ],
[ "priority", "group__rtx5__specific__structs.html#a81659cc4c01e54e2424022728d9effc7", null ],
[ "priority_base", "group__rtx5__specific__structs.html#ac67f8858081fb7a6e5a4ee8d2de3b348", null ],
[ "stack_frame", "group__rtx5__specific__structs.html#a1071334ebd46d95b9ab1dcad788b2adc", null ],
[ "flags_options", "group__rtx5__specific__structs.html#a87c898585d0aeffdcf67c9e1b3befefe", null ],
[ "wait_flags", "group__rtx5__specific__structs.html#a3c7b4f24d9527394f4b5a1135d117691", null ],
[ "thread_flags", "group__rtx5__specific__structs.html#ae757685e50b875e953f4aff67ac24b1b", null ],
[ "mutex_list", "group__rtx5__specific__structs.html#a70b3153655adaf42687fe250983f6c95", null ],
[ "stack_mem", "group__rtx5__specific__structs.html#a447dbb69b4c036e118b3b1b8bd22fe60", null ],
[ "stack_size", "group__rtx5__specific__structs.html#ad63716408aae5b50857ca8ce74e3a3ff", null ],
[ "sp", "group__rtx5__specific__structs.html#a382a07e24a852d580d7548b8d517384c", null ],
[ "thread_addr", "group__rtx5__specific__structs.html#adf2ebf46aa7018845582f1c70de83598", null ],
[ "tz_memory", "group__rtx5__specific__structs.html#adaa6c424a231e5f6c788532675f33e16", null ]
];

View file

@ -1,5 +0,0 @@
var group__rtx5__specific__structs_structosRtxTimerFinfo__t =
[
[ "fp", "group__rtx5__specific__structs.html#a9587c8102d13ec6b8df5dd068e221125", null ],
[ "arg", "group__rtx5__specific__structs.html#a9ce2ec4812a92cb6ab39f6e81e9173a9", null ]
];

View file

@ -1,13 +0,0 @@
var group__rtx5__specific__structs_structosRtxTimer__t =
[
[ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
[ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
[ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
[ "type", "group__rtx5__specific__structs.html#a1d127017fb298b889f4ba24752d08b8e", null ],
[ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
[ "prev", "group__rtx5__specific__structs.html#ac8953ebf7df8aaf724cb12876ac8fb1a", null ],
[ "next", "group__rtx5__specific__structs.html#a8b9ac161a613448926b2c2b2c8dbe259", null ],
[ "tick", "group__rtx5__specific__structs.html#a260e06ce96c2e4deebccaedeb059dc0b", null ],
[ "load", "group__rtx5__specific__structs.html#aee4a6239f04d660fc90663dd6b39ca95", null ],
[ "finfo", "group__rtx5__specific__structs.html#ab415a6615c5ddf5365ed86e58a1e1809", null ]
];

View file

@ -128,12 +128,18 @@ Content</h2></td></tr>
<tr class="memitem:group__rtx__evr__thread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html">Thread Functions</a></td></tr>
<tr class="memdesc:group__rtx__evr__thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Events generated by thread functions. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__rtx__evr__wait"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__wait.html">Generic Wait Functions</a></td></tr>
<tr class="memdesc:group__rtx__evr__wait"><td class="mdescLeft">&#160;</td><td class="mdescRight">Events generated by generic wait functions. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__rtx__evr__thread__flags"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread__flags.html">Thread Flags Functions</a></td></tr>
<tr class="memdesc:group__rtx__evr__thread__flags"><td class="mdescLeft">&#160;</td><td class="mdescRight">Events generated by thread flags functions. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__rtx__evr__event__flags"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html">Event Flags Functions</a></td></tr>
<tr class="memdesc:group__rtx__evr__event__flags"><td class="mdescLeft">&#160;</td><td class="mdescRight">Events generated by event flag functions. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__rtx__evr__timer"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html">Timer Functions</a></td></tr>
<tr class="memdesc:group__rtx__evr__timer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Events generated by timer functions. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__rtx__evr__event__flasg"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html">Event Flags Functions</a></td></tr>
<tr class="memdesc:group__rtx__evr__event__flasg"><td class="mdescLeft">&#160;</td><td class="mdescRight">Events generated by event flag functions. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__rtx__evr__mutex"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html">Mutex Functions</a></td></tr>
<tr class="memdesc:group__rtx__evr__mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Events generated by mutex functions. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@ -155,7 +161,7 @@ Content</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -3,8 +3,10 @@ var group__rtx__evr =
[ "Memory Functions", "group__rtx__evr__memory.html", "group__rtx__evr__memory" ],
[ "Kernel Functions", "group__rtx__evr__kernel.html", "group__rtx__evr__kernel" ],
[ "Thread Functions", "group__rtx__evr__thread.html", "group__rtx__evr__thread" ],
[ "Generic Wait Functions", "group__rtx__evr__wait.html", "group__rtx__evr__wait" ],
[ "Thread Flags Functions", "group__rtx__evr__thread__flags.html", "group__rtx__evr__thread__flags" ],
[ "Event Flags Functions", "group__rtx__evr__event__flags.html", "group__rtx__evr__event__flags" ],
[ "Timer Functions", "group__rtx__evr__timer.html", "group__rtx__evr__timer" ],
[ "Event Flags Functions", "group__rtx__evr__event__flasg.html", "group__rtx__evr__event__flasg" ],
[ "Mutex Functions", "group__rtx__evr__mutex.html", "group__rtx__evr__mutex" ],
[ "Semaphore Functions", "group__rtx__evr__semaphore.html", "group__rtx__evr__semaphore" ],
[ "Memory Pool Functions", "group__rtx__evr__memory__pool.html", "group__rtx__evr__memory__pool" ],

View file

@ -0,0 +1,855 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Event Flags Functions</title>
<title>CMSIS-RTOS2: Event Flags Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="printComponentTabs.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 46px;">
<td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">CMSIS-RTOS2
&#160;<span id="projectnumber">Version 2.1.3</span>
</div>
<div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<div id="CMSISnav" class="tabs1">
<ul class="tablist">
<script type="text/javascript">
<!--
writeComponentTabs.call(this);
//-->
</script>
</ul>
</div>
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
<li><a href="modules.html"><span>Reference</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__rtx__evr__event__flags.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Event Flags Functions<div class="ingroups"><a class="el" href="group__rtx__evr.html">Event functions</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Events generated by event flag functions.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaa281b7380c0fa725faa722badbeb2e5f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html#gaa281b7380c0fa725faa722badbeb2e5f">EvrRtxEventFlagsError</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, int32_t status)</td></tr>
<tr class="memdesc:gaa281b7380c0fa725faa722badbeb2e5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags error (Error) <a href="#gaa281b7380c0fa725faa722badbeb2e5f">More...</a><br/></td></tr>
<tr class="separator:gaa281b7380c0fa725faa722badbeb2e5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae798cdc4cb10ada732e592318037cba7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html#gae798cdc4cb10ada732e592318037cba7">EvrRtxEventFlagsNew</a> (const <a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">osEventFlagsAttr_t</a> *attr)</td></tr>
<tr class="memdesc:gae798cdc4cb10ada732e592318037cba7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags create and initialize (API) <a href="#gae798cdc4cb10ada732e592318037cba7">More...</a><br/></td></tr>
<tr class="separator:gae798cdc4cb10ada732e592318037cba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa1f48b9787e3a7d4f56449ed1dd12f26"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html#gaa1f48b9787e3a7d4f56449ed1dd12f26">EvrRtxEventFlagsCreated</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, const char *name)</td></tr>
<tr class="memdesc:gaa1f48b9787e3a7d4f56449ed1dd12f26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful event flags create (Op) <a href="#gaa1f48b9787e3a7d4f56449ed1dd12f26">More...</a><br/></td></tr>
<tr class="separator:gaa1f48b9787e3a7d4f56449ed1dd12f26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9ebcbc09a1c15c719d95fe7b8c2ee18"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18">EvrRtxEventFlagsGetName</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, const char *name)</td></tr>
<tr class="memdesc:gae9ebcbc09a1c15c719d95fe7b8c2ee18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags name retrieve (API) <a href="#gae9ebcbc09a1c15c719d95fe7b8c2ee18">More...</a><br/></td></tr>
<tr class="separator:gae9ebcbc09a1c15c719d95fe7b8c2ee18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5e5c9bd8a0522fc9301782edd6e5ec1f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html#ga5e5c9bd8a0522fc9301782edd6e5ec1f">EvrRtxEventFlagsSet</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags)</td></tr>
<tr class="memdesc:ga5e5c9bd8a0522fc9301782edd6e5ec1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags set (API) <a href="#ga5e5c9bd8a0522fc9301782edd6e5ec1f">More...</a><br/></td></tr>
<tr class="separator:ga5e5c9bd8a0522fc9301782edd6e5ec1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b1b471923918ad294d16255d43ab306"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html#ga5b1b471923918ad294d16255d43ab306">EvrRtxEventFlagsSetDone</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t event_flags)</td></tr>
<tr class="memdesc:ga5b1b471923918ad294d16255d43ab306"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful event flags set (Op) <a href="#ga5b1b471923918ad294d16255d43ab306">More...</a><br/></td></tr>
<tr class="separator:ga5b1b471923918ad294d16255d43ab306"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab31f9da565b0170d8e89edf0e848f28b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html#gab31f9da565b0170d8e89edf0e848f28b">EvrRtxEventFlagsClear</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags)</td></tr>
<tr class="memdesc:gab31f9da565b0170d8e89edf0e848f28b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags clear (API) <a href="#gab31f9da565b0170d8e89edf0e848f28b">More...</a><br/></td></tr>
<tr class="separator:gab31f9da565b0170d8e89edf0e848f28b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e4c4e5d45bc721439c1919621a49d5a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html#ga9e4c4e5d45bc721439c1919621a49d5a">EvrRtxEventFlagsClearDone</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t event_flags)</td></tr>
<tr class="memdesc:ga9e4c4e5d45bc721439c1919621a49d5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful event flags clear (Op) <a href="#ga9e4c4e5d45bc721439c1919621a49d5a">More...</a><br/></td></tr>
<tr class="separator:ga9e4c4e5d45bc721439c1919621a49d5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga113c32ff195c612ec2fb6a9dd5740184"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html#ga113c32ff195c612ec2fb6a9dd5740184">EvrRtxEventFlagsGet</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t event_flags)</td></tr>
<tr class="memdesc:ga113c32ff195c612ec2fb6a9dd5740184"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags retrieve (API) <a href="#ga113c32ff195c612ec2fb6a9dd5740184">More...</a><br/></td></tr>
<tr class="separator:ga113c32ff195c612ec2fb6a9dd5740184"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac8361874ffdd854e3778f21d070fed24"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html#gac8361874ffdd854e3778f21d070fed24">EvrRtxEventFlagsWait</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags, uint32_t options, uint32_t timeout)</td></tr>
<tr class="memdesc:gac8361874ffdd854e3778f21d070fed24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait for event flags (API) <a href="#gac8361874ffdd854e3778f21d070fed24">More...</a><br/></td></tr>
<tr class="separator:gac8361874ffdd854e3778f21d070fed24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd598e0b02a31083fb41626d68fa489e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html#gafd598e0b02a31083fb41626d68fa489e">EvrRtxEventFlagsWaitPending</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags, uint32_t options, uint32_t timeout)</td></tr>
<tr class="memdesc:gafd598e0b02a31083fb41626d68fa489e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending wait for event flags (Op) <a href="#gafd598e0b02a31083fb41626d68fa489e">More...</a><br/></td></tr>
<tr class="separator:gafd598e0b02a31083fb41626d68fa489e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga877235cbe04188b831b70a3c2237c827"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html#ga877235cbe04188b831b70a3c2237c827">EvrRtxEventFlagsWaitTimeout</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
<tr class="memdesc:ga877235cbe04188b831b70a3c2237c827"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait timeout for event flags (Op) <a href="#ga877235cbe04188b831b70a3c2237c827">More...</a><br/></td></tr>
<tr class="separator:ga877235cbe04188b831b70a3c2237c827"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b446f241c971db432ebac5d176bd9de"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html#ga7b446f241c971db432ebac5d176bd9de">EvrRtxEventFlagsWaitCompleted</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags, uint32_t options, uint32_t event_flags)</td></tr>
<tr class="memdesc:ga7b446f241c971db432ebac5d176bd9de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful wait for event flags (Op) <a href="#ga7b446f241c971db432ebac5d176bd9de">More...</a><br/></td></tr>
<tr class="separator:ga7b446f241c971db432ebac5d176bd9de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga66f32e4dddc68cdfd56c32b88b7f13ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html#ga66f32e4dddc68cdfd56c32b88b7f13ff">EvrRtxEventFlagsWaitNotCompleted</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags, uint32_t options)</td></tr>
<tr class="memdesc:ga66f32e4dddc68cdfd56c32b88b7f13ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on unsuccessful wait for event flags (Op) <a href="#ga66f32e4dddc68cdfd56c32b88b7f13ff">More...</a><br/></td></tr>
<tr class="separator:ga66f32e4dddc68cdfd56c32b88b7f13ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga10e98e35999350e9e337c716ba4dc079"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html#ga10e98e35999350e9e337c716ba4dc079">EvrRtxEventFlagsDelete</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
<tr class="memdesc:ga10e98e35999350e9e337c716ba4dc079"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags delete (API) <a href="#ga10e98e35999350e9e337c716ba4dc079">More...</a><br/></td></tr>
<tr class="separator:ga10e98e35999350e9e337c716ba4dc079"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ef153a6ee7a8d72375f81128454ede9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flags.html#ga2ef153a6ee7a8d72375f81128454ede9">EvrRtxEventFlagsDestroyed</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
<tr class="memdesc:ga2ef153a6ee7a8d72375f81128454ede9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful event flags delete (Op) <a href="#ga2ef153a6ee7a8d72375f81128454ede9">More...</a><br/></td></tr>
<tr class="separator:ga2ef153a6ee7a8d72375f81128454ede9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gaa281b7380c0fa725faa722badbeb2e5f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsError </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>status</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a> or NULL when ID is unknown. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>extended execution status.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsError</b> is generated when <a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a> routines complete their execution due to an error.</p>
<p>The status parameter indicates the execution status and can be one of the <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t codes</a> or one of the extended execution status codes which are summarized in the table below.</p>
<table class="doxtable">
<tr>
<th align="left">Extended Status Code </th><th align="left">Description </th></tr>
<tr>
<td align="left">osRtxErrorKernelNotReady </td><td align="left">Kernel scheduler is not in Ready state. </td></tr>
<tr>
<td align="left">osRtxErrorKernelNotRunning </td><td align="left">Kernel scheduler is not executing - there is no running thread. </td></tr>
<tr>
<td align="left">osRtxErrorInvalidControlBlock </td><td align="left">Object control block with invalid alignment or size was specified. </td></tr>
<tr>
<td align="left">osRtxErrorInvalidDataMemory </td><td align="left">Object data memory with invalid alignment or size was specified. </td></tr>
<tr>
<td align="left">osRtxErrorInvalidThreadStack </td><td align="left">Thread stack memory with invalid alignment or size was specified. </td></tr>
<tr>
<td align="left">osRtxErrorInvalidPriority </td><td align="left">Invalid thread priority was specified. </td></tr>
<tr>
<td align="left">osRtxErrorThreadNotJoinable </td><td align="left">Specified thread is not joinable. </td></tr>
<tr>
<td align="left">osRtxErrorMutexNotOwned </td><td align="left">Specified mutex is not owned by the current running thread. </td></tr>
<tr>
<td align="left">osRtxErrorMutexNotLocked </td><td align="left">Specified mutex is not locked. </td></tr>
<tr>
<td align="left">osRtxErrorMutexLockLimit </td><td align="left">Maximum number of recursive mutex locks reached. </td></tr>
<tr>
<td align="left">osRtxErrorSemaphoreCountLimit </td><td align="left">Semaphore count limit reached. </td></tr>
<tr>
<td align="left">osRtxErrorTZ_InitContext_S </td><td align="left">Secure context memory system initialization failed. </td></tr>
<tr>
<td align="left">osRtxErrorTZ_AllocContext_S </td><td align="left">Secure context memory allocation failed. </td></tr>
<tr>
<td align="left">osRtxErrorTZ_FreeContext_S </td><td align="left">Secure context memory deallocation failed. </td></tr>
<tr>
<td align="left">osRtxErrorTZ_LoadContext_S </td><td align="left">Secure context load failed. </td></tr>
<tr>
<td align="left">osRtxErrorTZ_SaveContext_S </td><td align="left">Secure context save failed. </td></tr>
</table>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID.</li>
<li><b>status</b> : execution status code. </li>
</ul>
</div>
</div>
<a class="anchor" id="gae798cdc4cb10ada732e592318037cba7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsNew </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">osEventFlagsAttr_t</a> *&#160;</td>
<td class="paramname"><em>attr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td>event flags attributes.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsNew</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a> is called.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>attr</b> : memory address of Event Flags attributes or 0 when they are not specified. </li>
</ul>
</div>
</div>
<a class="anchor" id="gaa1f48b9787e3a7d4f56449ed1dd12f26"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsCreated </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to event flags object name.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsCreated</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a> successfully creates a event flags object.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID. </li>
</ul>
</div>
</div>
<a class="anchor" id="gae9ebcbc09a1c15c719d95fe7b8c2ee18"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsGetName </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to event flags object name.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsGetName</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88">osEventFlagsGetName</a> is called and its execution result is known.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID.</li>
<li><b>name</b> : retrieved memory address of name string (0 in case of a failure). </li>
</ul>
</div>
</div>
<a class="anchor" id="ga5e5c9bd8a0522fc9301782edd6e5ec1f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsSet </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags that shall be set.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsSet</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a> is called.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID.</li>
<li><b>flags</b> : flags that shall be set. </li>
</ul>
</div>
</div>
<a class="anchor" id="ga5b1b471923918ad294d16255d43ab306"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsSetDone </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>event_flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">event_flags</td><td>event flags after setting.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsSetDone</b> is generated when event flags are successfully set.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID.</li>
<li><b>event_flags</b> : event flags after setting. </li>
</ul>
</div>
</div>
<a class="anchor" id="gab31f9da565b0170d8e89edf0e848f28b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsClear </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags that shall be cleared.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsClear</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">osEventFlagsClear</a> is called.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID.</li>
<li><b>flags</b> : flags that shall be cleared. </li>
</ul>
</div>
</div>
<a class="anchor" id="ga9e4c4e5d45bc721439c1919621a49d5a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsClearDone </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>event_flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">event_flags</td><td>event flags before clearing.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsClearDone</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">osEventFlagsClear</a> successfully clears the event flags.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID.</li>
<li><b>event_flags</b> : event flags before clearing. </li>
</ul>
</div>
</div>
<a class="anchor" id="ga113c32ff195c612ec2fb6a9dd5740184"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsGet </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>event_flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">event_flags</td><td>current event flags.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsGet</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga8bda3185f46bfd278cea8a6cf357677d">osEventFlagsGet</a> is called and its execution result is known.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID.</li>
<li><b>event_flags</b> : retrieved current event flags. </li>
</ul>
</div>
</div>
<a class="anchor" id="gac8361874ffdd854e3778f21d070fed24"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsWait </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>flags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>options</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>timeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags to wait for. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>flags options (osFlagsXxxx). </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsWait</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> is called.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID.</li>
<li><b>flags</b> : flags to wait for.</li>
<li><b>options</b> : flags options (refer to <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">event flags options</a>).</li>
<li><b>timeout</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>. </li>
</ul>
</div>
</div>
<a class="anchor" id="gafd598e0b02a31083fb41626d68fa489e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsWaitPending </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>flags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>options</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>timeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags to wait for. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>flags options (osFlagsXxxx). </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsWaitPending</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> starts waiting for event flags to become signaled.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID.</li>
<li><b>flags</b> : flags to wait for.</li>
<li><b>options</b> : flags options (refer to <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">event flags options</a>).</li>
<li><b>timeout</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>. </li>
</ul>
</div>
</div>
<a class="anchor" id="ga877235cbe04188b831b70a3c2237c827"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsWaitTimeout </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsWaitTimeout</b> is generated when wait for event flags to become signaled is aborted due to expired wait timeout.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID. </li>
</ul>
</div>
</div>
<a class="anchor" id="ga7b446f241c971db432ebac5d176bd9de"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsWaitCompleted </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>flags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>options</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>event_flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags to wait for. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>flags options (osFlagsXxxx). </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">event_flags</td><td>event flags before clearing or 0 if specified flags have not been set.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsWaitCompleted</b> is generated when waiting for event flags ends because requested flags were signaled.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID.</li>
<li><b>flags</b> : flags to wait for.</li>
<li><b>options</b> : flags option (refer to <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">event flags options</a>).</li>
<li><b>event_flags</b> : event flags before clearing or 0 if specified flags have not been set. </li>
</ul>
</div>
</div>
<a class="anchor" id="ga66f32e4dddc68cdfd56c32b88b7f13ff"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsWaitNotCompleted </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>flags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>options</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags to wait for. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>flags options (osFlagsXxxx).</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsWaitNotCompleted</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> returns without timeout and specified event flags were not signaled.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID.</li>
<li><b>flags</b> : flags to wait for.</li>
<li><b>options</b> : flags options (refer to <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">event flags options</a>). </li>
</ul>
</div>
</div>
<a class="anchor" id="ga10e98e35999350e9e337c716ba4dc079"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsDelete </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsDelete</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435">osEventFlagsDelete</a> is called.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID. </li>
</ul>
</div>
</div>
<a class="anchor" id="ga2ef153a6ee7a8d72375f81128454ede9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsDestroyed </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsDestroyed</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435">osEventFlagsDelete</a> successfully deletes the event flags object.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID. </li>
</ul>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
-->
</li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,19 @@
var group__rtx__evr__event__flags =
[
[ "EvrRtxEventFlagsError", "group__rtx__evr__event__flags.html#gaa281b7380c0fa725faa722badbeb2e5f", null ],
[ "EvrRtxEventFlagsNew", "group__rtx__evr__event__flags.html#gae798cdc4cb10ada732e592318037cba7", null ],
[ "EvrRtxEventFlagsCreated", "group__rtx__evr__event__flags.html#gaa1f48b9787e3a7d4f56449ed1dd12f26", null ],
[ "EvrRtxEventFlagsGetName", "group__rtx__evr__event__flags.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18", null ],
[ "EvrRtxEventFlagsSet", "group__rtx__evr__event__flags.html#ga5e5c9bd8a0522fc9301782edd6e5ec1f", null ],
[ "EvrRtxEventFlagsSetDone", "group__rtx__evr__event__flags.html#ga5b1b471923918ad294d16255d43ab306", null ],
[ "EvrRtxEventFlagsClear", "group__rtx__evr__event__flags.html#gab31f9da565b0170d8e89edf0e848f28b", null ],
[ "EvrRtxEventFlagsClearDone", "group__rtx__evr__event__flags.html#ga9e4c4e5d45bc721439c1919621a49d5a", null ],
[ "EvrRtxEventFlagsGet", "group__rtx__evr__event__flags.html#ga113c32ff195c612ec2fb6a9dd5740184", null ],
[ "EvrRtxEventFlagsWait", "group__rtx__evr__event__flags.html#gac8361874ffdd854e3778f21d070fed24", null ],
[ "EvrRtxEventFlagsWaitPending", "group__rtx__evr__event__flags.html#gafd598e0b02a31083fb41626d68fa489e", null ],
[ "EvrRtxEventFlagsWaitTimeout", "group__rtx__evr__event__flags.html#ga877235cbe04188b831b70a3c2237c827", null ],
[ "EvrRtxEventFlagsWaitCompleted", "group__rtx__evr__event__flags.html#ga7b446f241c971db432ebac5d176bd9de", null ],
[ "EvrRtxEventFlagsWaitNotCompleted", "group__rtx__evr__event__flags.html#ga66f32e4dddc68cdfd56c32b88b7f13ff", null ],
[ "EvrRtxEventFlagsDelete", "group__rtx__evr__event__flags.html#ga10e98e35999350e9e337c716ba4dc079", null ],
[ "EvrRtxEventFlagsDestroyed", "group__rtx__evr__event__flags.html#ga2ef153a6ee7a8d72375f81128454ede9", null ]
];

View file

@ -1,10 +0,0 @@
var group__rtx__evr__event__flasg =
[
[ "EvrRtxEventFlagsError", "group__rtx__evr__event__flasg.html#gaa281b7380c0fa725faa722badbeb2e5f", null ],
[ "EvrRtxEventFlagsNew", "group__rtx__evr__event__flasg.html#gae798cdc4cb10ada732e592318037cba7", null ],
[ "EvrRtxEventFlagsCreated", "group__rtx__evr__event__flasg.html#gaa1f48b9787e3a7d4f56449ed1dd12f26", null ],
[ "EvrRtxEventFlagsGetName", "group__rtx__evr__event__flasg.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18", null ],
[ "EvrRtxEventFlagsWaitTimeout", "group__rtx__evr__event__flasg.html#ga877235cbe04188b831b70a3c2237c827", null ],
[ "EvrRtxEventFlagsDelete", "group__rtx__evr__event__flasg.html#ga10e98e35999350e9e337c716ba4dc079", null ],
[ "EvrRtxEventFlagsDestroyed", "group__rtx__evr__event__flasg.html#ga2ef153a6ee7a8d72375f81128454ede9", null ]
];

View file

@ -131,9 +131,9 @@ Functions</h2></td></tr>
<tr class="memitem:ga4c2a175b79d39d70a4a5112e270d03f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga4c2a175b79d39d70a4a5112e270d03f2">EvrRtxKernelGetInfo</a> (<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a> *version, char *id_buf, uint32_t id_size)</td></tr>
<tr class="memdesc:ga4c2a175b79d39d70a4a5112e270d03f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS kernel information retrieve (API) <a href="#ga4c2a175b79d39d70a4a5112e270d03f2">More...</a><br/></td></tr>
<tr class="separator:ga4c2a175b79d39d70a4a5112e270d03f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf09b8cd94ad2384e3ab518f0df94a651"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gaf09b8cd94ad2384e3ab518f0df94a651">EvrRtxKernelInfoRetrieved</a> (<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a> *version, char *id_buf)</td></tr>
<tr class="memdesc:gaf09b8cd94ad2384e3ab518f0df94a651"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS kernel information retrieve (Op) <a href="#gaf09b8cd94ad2384e3ab518f0df94a651">More...</a><br/></td></tr>
<tr class="separator:gaf09b8cd94ad2384e3ab518f0df94a651"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga85f9569d363a9a8f9677041405d0935f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga85f9569d363a9a8f9677041405d0935f">EvrRtxKernelInfoRetrieved</a> (const <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a> *version, const char *id_buf, uint32_t id_size)</td></tr>
<tr class="memdesc:ga85f9569d363a9a8f9677041405d0935f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS kernel information retrieve (Op) <a href="#ga85f9569d363a9a8f9677041405d0935f">More...</a><br/></td></tr>
<tr class="separator:ga85f9569d363a9a8f9677041405d0935f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad6407e9ff0910629b041866bd801075a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gad6407e9ff0910629b041866bd801075a">EvrRtxKernelGetState</a> (<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">osKernelState_t</a> state)</td></tr>
<tr class="memdesc:gad6407e9ff0910629b041866bd801075a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on current RTOS Kernel state retrieve (API) <a href="#gad6407e9ff0910629b041866bd801075a">More...</a><br/></td></tr>
<tr class="separator:gad6407e9ff0910629b041866bd801075a"><td class="memSeparator" colspan="2">&#160;</td></tr>
@ -333,21 +333,27 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="gaf09b8cd94ad2384e3ab518f0df94a651"></a>
<a class="anchor" id="ga85f9569d363a9a8f9677041405d0935f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxKernelInfoRetrieved </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a> *&#160;</td>
<td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a> *&#160;</td>
<td class="paramname"><em>version</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>id_buf</em>&#160;</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>id_buf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>id_size</em>&#160;</td>
</tr>
<tr>
<td></td>
@ -359,15 +365,17 @@ Functions</h2></td></tr>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">version</td><td>pointer to buffer for retrieving version information. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">id_buf</td><td>pointer to buffer for retrieving kernel identification string.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">id_buf</td><td>pointer to buffer for retrieving kernel identification string. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">id_size</td><td>size of buffer for kernel identification string.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>KernelInfoRetrieved</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">osKernelGetInfo</a> successfully retrieves kernel information.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>version</b> : memory address of buffer for retrieving version information.</li>
<li><b>id_buf</b> : memory address of buffer for retrieving kernel identification string. </li>
<li><b>ver_api</b> : API version.</li>
<li><b>ver_kernel</b> : kernel version.</li>
<li><b>id</b> : kernel identification string (Detail). </li>
</ul>
</div>
@ -776,7 +784,7 @@ Functions</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -4,7 +4,7 @@ var group__rtx__evr__kernel =
[ "EvrRtxKernelInitialize", "group__rtx__evr__kernel.html#ga7e84d337b452f647c3a3d6937abd6292", null ],
[ "EvrRtxKernelInitialized", "group__rtx__evr__kernel.html#ga5db8d306617656bfec12638e17584d66", null ],
[ "EvrRtxKernelGetInfo", "group__rtx__evr__kernel.html#ga4c2a175b79d39d70a4a5112e270d03f2", null ],
[ "EvrRtxKernelInfoRetrieved", "group__rtx__evr__kernel.html#gaf09b8cd94ad2384e3ab518f0df94a651", null ],
[ "EvrRtxKernelInfoRetrieved", "group__rtx__evr__kernel.html#ga85f9569d363a9a8f9677041405d0935f", null ],
[ "EvrRtxKernelGetState", "group__rtx__evr__kernel.html#gad6407e9ff0910629b041866bd801075a", null ],
[ "EvrRtxKernelStart", "group__rtx__evr__kernel.html#ga75937a761dd488600d2525a532808d2b", null ],
[ "EvrRtxKernelStarted", "group__rtx__evr__kernel.html#ga28043ffc76fec09e6c8763a9a71b7f2a", null ],

View file

@ -435,7 +435,7 @@ Functions</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -294,9 +294,8 @@ Functions</h2></td></tr>
<ul>
<li><b>block_count</b> : maximum number of memory blocks in memory pool.</li>
<li><b>block_size</b> : memory block size in bytes.</li>
<li><b>attr</b> : memory address of Memory Pool attributes or 0 when they are not specified.</li>
<li><b>attr</b> : memory address of Memory Pool attributes or 0 when they are not specified. </li>
</ul>
<p>In case when <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t">memory pool attributes</a> are provided in the API call they are also detailed in the Event Recorder. </p>
</div>
</div>
@ -880,7 +879,7 @@ Functions</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -309,9 +309,8 @@ Functions</h2></td></tr>
<ul>
<li><b>msg_count</b> : maximum number of messages in queue.</li>
<li><b>msg_size</b> : maximum message size in bytes.</li>
<li><b>attr</b> : memory address of Message Queue attributes or 0 when they are not specified.</li>
<li><b>attr</b> : memory address of Message Queue attributes or 0 when they are not specified. </li>
</ul>
<p>In case when <a class="el" href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t">message queue attributes</a> are provided in the API call they are also detailed in the Event Recorder. </p>
</div>
</div>
@ -1114,7 +1113,7 @@ Functions</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -262,9 +262,8 @@ Functions</h2></td></tr>
<p>The event <b>MutexNew</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a> is called.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>attr</b> : memory address of Mutex attributes or 0 when they are not specified.</li>
<li><b>attr</b> : memory address of Mutex attributes or 0 when they are not specified. </li>
</ul>
<p>In case when <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">mutex attributes</a> are provided in the API call they are also detailed in the Event Recorder. </p>
</div>
</div>
@ -680,7 +679,7 @@ Functions</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -282,9 +282,8 @@ Functions</h2></td></tr>
<ul>
<li><b>max_count</b> : maximum number of available tokens.</li>
<li><b>initial_count</b> : initial number of available tokens.</li>
<li><b>attr</b> : memory address of Semaphore attributes or 0 when they are not specified.</li>
<li><b>attr</b> : memory address of Semaphore attributes or 0 when they are not specified. </li>
</ul>
<p>In case when <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t">semaphore attributes</a> are provided in the API call they are also detailed in the Event Recorder. </p>
</div>
</div>
@ -700,7 +699,7 @@ Functions</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -146,6 +146,9 @@ Functions</h2></td></tr>
<tr class="memitem:gabf4a015bd3fb2a33c0d105a871aaba72"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gabf4a015bd3fb2a33c0d105a871aaba72">EvrRtxThreadSetPriority</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a> priority)</td></tr>
<tr class="memdesc:gabf4a015bd3fb2a33c0d105a871aaba72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread priority set (API) <a href="#gabf4a015bd3fb2a33c0d105a871aaba72">More...</a><br/></td></tr>
<tr class="separator:gabf4a015bd3fb2a33c0d105a871aaba72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga831b3e64d459a325fbc13033caa39f05"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga831b3e64d459a325fbc13033caa39f05">EvrRtxThreadPriorityUpdated</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a> priority)</td></tr>
<tr class="memdesc:ga831b3e64d459a325fbc13033caa39f05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread priority updated (Op) <a href="#ga831b3e64d459a325fbc13033caa39f05">More...</a><br/></td></tr>
<tr class="separator:ga831b3e64d459a325fbc13033caa39f05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gada73306deca99987b104aa9840fdd4e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gada73306deca99987b104aa9840fdd4e2">EvrRtxThreadGetPriority</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a> priority)</td></tr>
<tr class="memdesc:gada73306deca99987b104aa9840fdd4e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread priority retrieve (API) <a href="#gada73306deca99987b104aa9840fdd4e2">More...</a><br/></td></tr>
<tr class="separator:gada73306deca99987b104aa9840fdd4e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
@ -180,13 +183,13 @@ Functions</h2></td></tr>
<tr class="memdesc:ga86ac910ac88d8fe54206a12d7ed69a27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread join (Op) <a href="#ga86ac910ac88d8fe54206a12d7ed69a27">More...</a><br/></td></tr>
<tr class="separator:ga86ac910ac88d8fe54206a12d7ed69a27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab9efd66ed2edb439c5081806c9b63cf9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gab9efd66ed2edb439c5081806c9b63cf9">EvrRtxThreadBlocked</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t timeout)</td></tr>
<tr class="memdesc:gab9efd66ed2edb439c5081806c9b63cf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread execution block (Op) <a href="#gab9efd66ed2edb439c5081806c9b63cf9">More...</a><br/></td></tr>
<tr class="memdesc:gab9efd66ed2edb439c5081806c9b63cf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread execution block (Detail) <a href="#gab9efd66ed2edb439c5081806c9b63cf9">More...</a><br/></td></tr>
<tr class="separator:gab9efd66ed2edb439c5081806c9b63cf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3faae4d941ddecfe773ef9f3efe8b901"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga3faae4d941ddecfe773ef9f3efe8b901">EvrRtxThreadUnblocked</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t ret_val)</td></tr>
<tr class="memdesc:ga3faae4d941ddecfe773ef9f3efe8b901"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread execution unblock (Op) <a href="#ga3faae4d941ddecfe773ef9f3efe8b901">More...</a><br/></td></tr>
<tr class="memdesc:ga3faae4d941ddecfe773ef9f3efe8b901"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread execution unblock (Detail) <a href="#ga3faae4d941ddecfe773ef9f3efe8b901">More...</a><br/></td></tr>
<tr class="separator:ga3faae4d941ddecfe773ef9f3efe8b901"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabe470d5bb1373c59c51470fd20b55bcb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gabe470d5bb1373c59c51470fd20b55bcb">EvrRtxThreadPreempted</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
<tr class="memdesc:gabe470d5bb1373c59c51470fd20b55bcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on running thread pre-emption (Op) <a href="#gabe470d5bb1373c59c51470fd20b55bcb">More...</a><br/></td></tr>
<tr class="memdesc:gabe470d5bb1373c59c51470fd20b55bcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on running thread pre-emption (Detail) <a href="#gabe470d5bb1373c59c51470fd20b55bcb">More...</a><br/></td></tr>
<tr class="separator:gabe470d5bb1373c59c51470fd20b55bcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3bc50d5f154463c7f6647544bb5ecab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gae3bc50d5f154463c7f6647544bb5ecab">EvrRtxThreadSwitched</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
<tr class="memdesc:gae3bc50d5f154463c7f6647544bb5ecab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on running thread switch (Op) <a href="#gae3bc50d5f154463c7f6647544bb5ecab">More...</a><br/></td></tr>
@ -206,18 +209,6 @@ Functions</h2></td></tr>
<tr class="memitem:ga1999d77992b03347abdca7ec17f91cca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga1999d77992b03347abdca7ec17f91cca">EvrRtxThreadEnumerate</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> *thread_array, uint32_t array_items, uint32_t count)</td></tr>
<tr class="memdesc:ga1999d77992b03347abdca7ec17f91cca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on active threads enumerate (API) <a href="#ga1999d77992b03347abdca7ec17f91cca">More...</a><br/></td></tr>
<tr class="separator:ga1999d77992b03347abdca7ec17f91cca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadbbee398f4fab418c9b8115fc7392ff8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gadbbee398f4fab418c9b8115fc7392ff8">EvrRtxThreadFlagsWaitTimeout</a> (void)</td></tr>
<tr class="memdesc:gadbbee398f4fab418c9b8115fc7392ff8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait timeout for thread flags (Op) <a href="#gadbbee398f4fab418c9b8115fc7392ff8">More...</a><br/></td></tr>
<tr class="separator:gadbbee398f4fab418c9b8115fc7392ff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadd45d32305aa45668a36f2c9f0f4c758"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gadd45d32305aa45668a36f2c9f0f4c758">EvrRtxThreadDelay</a> (uint32_t ticks)</td></tr>
<tr class="memdesc:gadd45d32305aa45668a36f2c9f0f4c758"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait for timeout (API) <a href="#gadd45d32305aa45668a36f2c9f0f4c758">More...</a><br/></td></tr>
<tr class="separator:gadd45d32305aa45668a36f2c9f0f4c758"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf59defd6c171d2c3d3508e7136278db2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gaf59defd6c171d2c3d3508e7136278db2">EvrRtxThreadDelayUntil</a> (uint32_t ticks)</td></tr>
<tr class="memdesc:gaf59defd6c171d2c3d3508e7136278db2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait until specified time (API) <a href="#gaf59defd6c171d2c3d3508e7136278db2">More...</a><br/></td></tr>
<tr class="separator:gaf59defd6c171d2c3d3508e7136278db2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab46562848142ce5ea806d629fd000168"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gab46562848142ce5ea806d629fd000168">EvrRtxThreadDelayCompleted</a> (void)</td></tr>
<tr class="memdesc:gab46562848142ce5ea806d629fd000168"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on completed wait (Op) <a href="#gab46562848142ce5ea806d629fd000168">More...</a><br/></td></tr>
<tr class="separator:gab46562848142ce5ea806d629fd000168"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
<h2 class="groupheader">Function Documentation</h2>
@ -251,7 +242,7 @@ Functions</h2></td></tr>
</table>
</dd>
</dl>
<p>The event <b>ThreadError</b> is generated when <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html">Thread Flags</a> and <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html">Thread Management</a> routines complete their execution due to an error.</p>
<p>The event <b>ThreadError</b> is generated when <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html">Thread Management</a> routines complete their execution due to an error.</p>
<p>The status parameter indicates the execution status and can be one of the <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t codes</a> or one of the extended execution status codes which are summarized in the table below.</p>
<table class="doxtable">
<tr>
@ -339,9 +330,8 @@ Functions</h2></td></tr>
<ul>
<li><b>func</b> : memory address of thread function.</li>
<li><b>argument</b> : memory address of thread function start argument.</li>
<li><b>attr</b> : memory address of Thread attributes or 0 when they are not specified.</li>
<li><b>attr</b> : memory address of Thread attributes or 0 when they are not specified. </li>
</ul>
<p>In case when <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">thread attributes</a> are provided in the API call they are also detailed in the Event Recorder. </p>
</div>
</div>
@ -610,6 +600,45 @@ Functions</h2></td></tr>
<li><b>priority</b> : new priority value for the thread function. </li>
</ul>
</div>
</div>
<a class="anchor" id="ga831b3e64d459a325fbc13033caa39f05"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxThreadPriorityUpdated </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
<td class="paramname"><em>thread_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a>&#160;</td>
<td class="paramname"><em>priority</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">priority</td><td>new priority value for the thread function.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>ThreadPriorityUpdated</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb">osThreadSetPriority</a> successfully updated the specified thread priority.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>thread_id</b> : thread ID.</li>
<li><b>priority</b> : new priority value for the thread function. </li>
</ul>
</div>
</div>
<a class="anchor" id="gada73306deca99987b104aa9840fdd4e2"></a>
@ -1186,94 +1215,6 @@ Functions</h2></td></tr>
<li><b>count</b> : number of enumerated threads (0 in case of a failure). </li>
</ul>
</div>
</div>
<a class="anchor" id="gadbbee398f4fab418c9b8115fc7392ff8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxThreadFlagsWaitTimeout </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The event <b>ThreadFlagsWaitTimeout</b> is generated when wait for thread flags to become signaled is aborted due to expired wait timeout. </p>
</div>
</div>
<a class="anchor" id="gadd45d32305aa45668a36f2c9f0f4c758"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxThreadDelay </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>ticks</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ticks</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">time ticks</a> value.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>ThreadDelay</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> is called.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ticks</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">time ticks</a> value. </li>
</ul>
</div>
</div>
<a class="anchor" id="gaf59defd6c171d2c3d3508e7136278db2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxThreadDelayUntil </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>ticks</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ticks</td><td>absolute time in ticks.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>ThreadDelayUntil</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">osDelayUntil</a> is called.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ticks</b> : absolute delay time in ticks. </li>
</ul>
</div>
</div>
<a class="anchor" id="gab46562848142ce5ea806d629fd000168"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxThreadDelayCompleted </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The event <b>ThreadDelayCompleted</b> is generated when thread delay expires. </p>
</div>
</div>
</div><!-- contents -->
@ -1281,7 +1222,7 @@ Functions</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -9,6 +9,7 @@ var group__rtx__evr__thread =
[ "EvrRtxThreadGetStackSize", "group__rtx__evr__thread.html#ga1200f51e9152810e76386e241904427c", null ],
[ "EvrRtxThreadGetStackSpace", "group__rtx__evr__thread.html#ga4fd48ef48eefb01a6252cfc02ea169ab", null ],
[ "EvrRtxThreadSetPriority", "group__rtx__evr__thread.html#gabf4a015bd3fb2a33c0d105a871aaba72", null ],
[ "EvrRtxThreadPriorityUpdated", "group__rtx__evr__thread.html#ga831b3e64d459a325fbc13033caa39f05", null ],
[ "EvrRtxThreadGetPriority", "group__rtx__evr__thread.html#gada73306deca99987b104aa9840fdd4e2", null ],
[ "EvrRtxThreadYield", "group__rtx__evr__thread.html#gafed41f1b6bcdde658ca306f8a6d7ac7e", null ],
[ "EvrRtxThreadSuspend", "group__rtx__evr__thread.html#gaa268fe19f933b8d2a830063560694561", null ],
@ -28,9 +29,5 @@ var group__rtx__evr__thread =
[ "EvrRtxThreadTerminate", "group__rtx__evr__thread.html#ga6abe7d167bd5bb91c3d6bf6d2bb417aa", null ],
[ "EvrRtxThreadDestroyed", "group__rtx__evr__thread.html#gaa5aa707fc2d6b44bfcb86bce2e2e90f3", null ],
[ "EvrRtxThreadGetCount", "group__rtx__evr__thread.html#ga6d5932965736e0f2f35fe2d87bd622e7", null ],
[ "EvrRtxThreadEnumerate", "group__rtx__evr__thread.html#ga1999d77992b03347abdca7ec17f91cca", null ],
[ "EvrRtxThreadFlagsWaitTimeout", "group__rtx__evr__thread.html#gadbbee398f4fab418c9b8115fc7392ff8", null ],
[ "EvrRtxThreadDelay", "group__rtx__evr__thread.html#gadd45d32305aa45668a36f2c9f0f4c758", null ],
[ "EvrRtxThreadDelayUntil", "group__rtx__evr__thread.html#gaf59defd6c171d2c3d3508e7136278db2", null ],
[ "EvrRtxThreadDelayCompleted", "group__rtx__evr__thread.html#gab46562848142ce5ea806d629fd000168", null ]
[ "EvrRtxThreadEnumerate", "group__rtx__evr__thread.html#ga1999d77992b03347abdca7ec17f91cca", null ]
];

View file

@ -0,0 +1,622 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Thread Flags Functions</title>
<title>CMSIS-RTOS2: Thread Flags Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="printComponentTabs.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 46px;">
<td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">CMSIS-RTOS2
&#160;<span id="projectnumber">Version 2.1.3</span>
</div>
<div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<div id="CMSISnav" class="tabs1">
<ul class="tablist">
<script type="text/javascript">
<!--
writeComponentTabs.call(this);
//-->
</script>
</ul>
</div>
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
<li><a href="modules.html"><span>Reference</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__rtx__evr__thread__flags.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Thread Flags Functions<div class="ingroups"><a class="el" href="group__rtx__evr.html">Event functions</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Events generated by thread flags functions.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gad3609bfc41e1bee23b41973281096ed6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread__flags.html#gad3609bfc41e1bee23b41973281096ed6">EvrRtxThreadFlagsError</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, int32_t status)</td></tr>
<tr class="memdesc:gad3609bfc41e1bee23b41973281096ed6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread flags error (Error) <a href="#gad3609bfc41e1bee23b41973281096ed6">More...</a><br/></td></tr>
<tr class="separator:gad3609bfc41e1bee23b41973281096ed6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac356c777af86c2d8d9250cbffc516e1d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread__flags.html#gac356c777af86c2d8d9250cbffc516e1d">EvrRtxThreadFlagsSet</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t flags)</td></tr>
<tr class="memdesc:gac356c777af86c2d8d9250cbffc516e1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread flags set (API) <a href="#gac356c777af86c2d8d9250cbffc516e1d">More...</a><br/></td></tr>
<tr class="separator:gac356c777af86c2d8d9250cbffc516e1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd447773c02e235a8d0bb96dd9bb1c4f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread__flags.html#gabd447773c02e235a8d0bb96dd9bb1c4f">EvrRtxThreadFlagsSetDone</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t thread_flags)</td></tr>
<tr class="memdesc:gabd447773c02e235a8d0bb96dd9bb1c4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread flags set (Op) <a href="#gabd447773c02e235a8d0bb96dd9bb1c4f">More...</a><br/></td></tr>
<tr class="separator:gabd447773c02e235a8d0bb96dd9bb1c4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac8ddc747c72f7fc5cfa58edcee56b82d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread__flags.html#gac8ddc747c72f7fc5cfa58edcee56b82d">EvrRtxThreadFlagsClear</a> (uint32_t flags)</td></tr>
<tr class="memdesc:gac8ddc747c72f7fc5cfa58edcee56b82d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread flags clear (API) <a href="#gac8ddc747c72f7fc5cfa58edcee56b82d">More...</a><br/></td></tr>
<tr class="separator:gac8ddc747c72f7fc5cfa58edcee56b82d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad13b17507cc07a4a1e37a5653489943"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread__flags.html#gaad13b17507cc07a4a1e37a5653489943">EvrRtxThreadFlagsClearDone</a> (uint32_t thread_flags)</td></tr>
<tr class="memdesc:gaad13b17507cc07a4a1e37a5653489943"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread flags clear (Op) <a href="#gaad13b17507cc07a4a1e37a5653489943">More...</a><br/></td></tr>
<tr class="separator:gaad13b17507cc07a4a1e37a5653489943"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab1a30a0ac3dfa588ededbfad52bae30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread__flags.html#gaab1a30a0ac3dfa588ededbfad52bae30">EvrRtxThreadFlagsGet</a> (uint32_t thread_flags)</td></tr>
<tr class="memdesc:gaab1a30a0ac3dfa588ededbfad52bae30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread flags retrieve (API) <a href="#gaab1a30a0ac3dfa588ededbfad52bae30">More...</a><br/></td></tr>
<tr class="separator:gaab1a30a0ac3dfa588ededbfad52bae30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad860c571b9b083ff2889fb76fb619f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread__flags.html#gaad860c571b9b083ff2889fb76fb619f1">EvrRtxThreadFlagsWait</a> (uint32_t flags, uint32_t options, uint32_t timeout)</td></tr>
<tr class="memdesc:gaad860c571b9b083ff2889fb76fb619f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait for thread flags (API) <a href="#gaad860c571b9b083ff2889fb76fb619f1">More...</a><br/></td></tr>
<tr class="separator:gaad860c571b9b083ff2889fb76fb619f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad09ec9317a4440e5228870b750e9860e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread__flags.html#gad09ec9317a4440e5228870b750e9860e">EvrRtxThreadFlagsWaitPending</a> (uint32_t flags, uint32_t options, uint32_t timeout)</td></tr>
<tr class="memdesc:gad09ec9317a4440e5228870b750e9860e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending wait for thread flags (Op) <a href="#gad09ec9317a4440e5228870b750e9860e">More...</a><br/></td></tr>
<tr class="separator:gad09ec9317a4440e5228870b750e9860e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae45ec48e082608d2ba72ce7c695899c6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread__flags.html#gae45ec48e082608d2ba72ce7c695899c6">EvrRtxThreadFlagsWaitTimeout</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
<tr class="memdesc:gae45ec48e082608d2ba72ce7c695899c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait timeout for thread flags (Op) <a href="#gae45ec48e082608d2ba72ce7c695899c6">More...</a><br/></td></tr>
<tr class="separator:gae45ec48e082608d2ba72ce7c695899c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5e00be70234d0ca3b0d4d99fb58295bc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread__flags.html#ga5e00be70234d0ca3b0d4d99fb58295bc">EvrRtxThreadFlagsWaitCompleted</a> (uint32_t flags, uint32_t options, uint32_t thread_flags, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
<tr class="memdesc:ga5e00be70234d0ca3b0d4d99fb58295bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful wait for thread flags (Op) <a href="#ga5e00be70234d0ca3b0d4d99fb58295bc">More...</a><br/></td></tr>
<tr class="separator:ga5e00be70234d0ca3b0d4d99fb58295bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf6b9f4882f62a65b4e06e1b3e5c9c5b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread__flags.html#gadf6b9f4882f62a65b4e06e1b3e5c9c5b">EvrRtxThreadFlagsWaitNotCompleted</a> (uint32_t flags, uint32_t options)</td></tr>
<tr class="memdesc:gadf6b9f4882f62a65b4e06e1b3e5c9c5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on unsuccessful wait for thread flags (Op) <a href="#gadf6b9f4882f62a65b4e06e1b3e5c9c5b">More...</a><br/></td></tr>
<tr class="separator:gadf6b9f4882f62a65b4e06e1b3e5c9c5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gad3609bfc41e1bee23b41973281096ed6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxThreadFlagsError </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
<td class="paramname"><em>thread_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>status</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a> or NULL when ID is unknown. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>extended execution status.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>ThreadFlagsError</b> is generated when <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html">Thread Flags</a> routines complete their execution due to an error.</p>
<p>The status parameter indicates the execution status and can be one of the <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t codes</a> or one of the extended execution status codes which are summarized in the table below.</p>
<table class="doxtable">
<tr>
<th align="left">Extended Status Code </th><th align="left">Description </th></tr>
<tr>
<td align="left">osRtxErrorKernelNotReady </td><td align="left">Kernel scheduler is not in Ready state. </td></tr>
<tr>
<td align="left">osRtxErrorKernelNotRunning </td><td align="left">Kernel scheduler is not executing - there is no running thread. </td></tr>
<tr>
<td align="left">osRtxErrorInvalidControlBlock </td><td align="left">Object control block with invalid alignment or size was specified. </td></tr>
<tr>
<td align="left">osRtxErrorInvalidDataMemory </td><td align="left">Object data memory with invalid alignment or size was specified. </td></tr>
<tr>
<td align="left">osRtxErrorInvalidThreadStack </td><td align="left">Thread stack memory with invalid alignment or size was specified. </td></tr>
<tr>
<td align="left">osRtxErrorInvalidPriority </td><td align="left">Invalid thread priority was specified. </td></tr>
<tr>
<td align="left">osRtxErrorThreadNotJoinable </td><td align="left">Specified thread is not joinable. </td></tr>
<tr>
<td align="left">osRtxErrorMutexNotOwned </td><td align="left">Specified mutex is not owned by the current running thread. </td></tr>
<tr>
<td align="left">osRtxErrorMutexNotLocked </td><td align="left">Specified mutex is not locked. </td></tr>
<tr>
<td align="left">osRtxErrorMutexLockLimit </td><td align="left">Maximum number of recursive mutex locks reached. </td></tr>
<tr>
<td align="left">osRtxErrorSemaphoreCountLimit </td><td align="left">Semaphore count limit reached. </td></tr>
<tr>
<td align="left">osRtxErrorTZ_InitContext_S </td><td align="left">Secure context memory system initialization failed. </td></tr>
<tr>
<td align="left">osRtxErrorTZ_AllocContext_S </td><td align="left">Secure context memory allocation failed. </td></tr>
<tr>
<td align="left">osRtxErrorTZ_FreeContext_S </td><td align="left">Secure context memory deallocation failed. </td></tr>
<tr>
<td align="left">osRtxErrorTZ_LoadContext_S </td><td align="left">Secure context load failed. </td></tr>
<tr>
<td align="left">osRtxErrorTZ_SaveContext_S </td><td align="left">Secure context save failed. </td></tr>
</table>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>thread_id</b> : thread ID.</li>
<li><b>status</b> : execution status code. </li>
</ul>
</div>
</div>
<a class="anchor" id="gac356c777af86c2d8d9250cbffc516e1d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxThreadFlagsSet </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
<td class="paramname"><em>thread_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags of the thread that shall be set.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>ThreadFlagsSet</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a> is called.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>thread_id</b> : thread ID.</li>
<li><b>flags</b> : flags that shall be set. </li>
</ul>
</div>
</div>
<a class="anchor" id="gabd447773c02e235a8d0bb96dd9bb1c4f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxThreadFlagsSetDone </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
<td class="paramname"><em>thread_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>thread_flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">thread_flags</td><td>thread flags after setting.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>ThreadFlagsSetDone</b> is generated when thread flags are successfully set.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>thread_id</b> : thread ID.</li>
<li><b>thread_flags</b> : thread flags after setting. </li>
</ul>
</div>
</div>
<a class="anchor" id="gac8ddc747c72f7fc5cfa58edcee56b82d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxThreadFlagsClear </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>flags</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags of the thread that shall be cleared.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>ThreadFlagsClear</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa">osThreadFlagsClear</a> is called.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>flags</b> : flags that shall be cleared. </li>
</ul>
</div>
</div>
<a class="anchor" id="gaad13b17507cc07a4a1e37a5653489943"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxThreadFlagsClearDone </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>thread_flags</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">thread_flags</td><td>thread flags before clearing.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>ThreadFlagsClearDone</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa">osThreadFlagsClear</a> successfully clears thread flags.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>thread_flags</b> : thread flags before clearing. </li>
</ul>
</div>
</div>
<a class="anchor" id="gaab1a30a0ac3dfa588ededbfad52bae30"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxThreadFlagsGet </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>thread_flags</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">thread_flags</td><td>current thread flags.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>ThreadFlagsGet</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga85c8d2c89466e25abbcb545d9ddd71ba">osThreadFlagsGet</a> is called and its execution result is known.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>thread_flags</b> : current thread flags. </li>
</ul>
</div>
</div>
<a class="anchor" id="gaad860c571b9b083ff2889fb76fb619f1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxThreadFlagsWait </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>flags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>options</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>timeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags to wait for. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>flags options (osFlagsXxxx). </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>ThreadFlagsWait</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> is called.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>flags</b> : flags to wait for.</li>
<li><b>options</b> : flags options (refer to <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">thread flags options</a>).</li>
<li><b>timeout</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>. </li>
</ul>
</div>
</div>
<a class="anchor" id="gad09ec9317a4440e5228870b750e9860e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxThreadFlagsWaitPending </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>flags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>options</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>timeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags to wait for. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>flags options (osFlagsXxxx). </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>ThreadFlagsWaitPending</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> starts waiting for thread flags to become signaled.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>flags</b> : flags to wait for.</li>
<li><b>options</b> : flags options (refer to <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">thread flags options</a>).</li>
<li><b>timeout</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>. </li>
</ul>
</div>
</div>
<a class="anchor" id="gae45ec48e082608d2ba72ce7c695899c6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxThreadFlagsWaitTimeout </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
<td class="paramname"><em>thread_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>ThreadFlagsWaitTimeout</b> is generated when wait for thread flags to become signaled is aborted due to expired wait timeout.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>thread_id</b> : thread ID. </li>
</ul>
</div>
</div>
<a class="anchor" id="ga5e00be70234d0ca3b0d4d99fb58295bc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxThreadFlagsWaitCompleted </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>flags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>options</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>thread_flags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
<td class="paramname"><em>thread_id</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags to wait for. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>flags options (osFlagsXxxx). </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">thread_flags</td><td>thread flags before clearing. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>ThreadFlagsWaitCompleted</b> is generated when waiting for thread flags ends because requested flags were signaled.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>flags</b> : flags thread was waiting for.</li>
<li><b>option</b> : flags options (refer to <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">thread flags options</a>).</li>
<li><b>thread_flags</b> : thread flags before clearing.</li>
<li><b>thread_id</b> : thread ID. </li>
</ul>
</div>
</div>
<a class="anchor" id="gadf6b9f4882f62a65b4e06e1b3e5c9c5b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxThreadFlagsWaitNotCompleted </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>flags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>options</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags to wait for. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>flags options (osFlagsXxxx).</td></tr>
</table>
</dd>
</dl>
<p>The event <b>ThreadFlagsWaitNotCompleted</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> returns without timeout and specified thread flags were not signaled.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>flags</b> : flags thread was waiting for.</li>
<li><b>options</b> : flags options (refer to <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">thread flags options</a>). </li>
</ul>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
-->
</li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,14 @@
var group__rtx__evr__thread__flags =
[
[ "EvrRtxThreadFlagsError", "group__rtx__evr__thread__flags.html#gad3609bfc41e1bee23b41973281096ed6", null ],
[ "EvrRtxThreadFlagsSet", "group__rtx__evr__thread__flags.html#gac356c777af86c2d8d9250cbffc516e1d", null ],
[ "EvrRtxThreadFlagsSetDone", "group__rtx__evr__thread__flags.html#gabd447773c02e235a8d0bb96dd9bb1c4f", null ],
[ "EvrRtxThreadFlagsClear", "group__rtx__evr__thread__flags.html#gac8ddc747c72f7fc5cfa58edcee56b82d", null ],
[ "EvrRtxThreadFlagsClearDone", "group__rtx__evr__thread__flags.html#gaad13b17507cc07a4a1e37a5653489943", null ],
[ "EvrRtxThreadFlagsGet", "group__rtx__evr__thread__flags.html#gaab1a30a0ac3dfa588ededbfad52bae30", null ],
[ "EvrRtxThreadFlagsWait", "group__rtx__evr__thread__flags.html#gaad860c571b9b083ff2889fb76fb619f1", null ],
[ "EvrRtxThreadFlagsWaitPending", "group__rtx__evr__thread__flags.html#gad09ec9317a4440e5228870b750e9860e", null ],
[ "EvrRtxThreadFlagsWaitTimeout", "group__rtx__evr__thread__flags.html#gae45ec48e082608d2ba72ce7c695899c6", null ],
[ "EvrRtxThreadFlagsWaitCompleted", "group__rtx__evr__thread__flags.html#ga5e00be70234d0ca3b0d4d99fb58295bc", null ],
[ "EvrRtxThreadFlagsWaitNotCompleted", "group__rtx__evr__thread__flags.html#gadf6b9f4882f62a65b4e06e1b3e5c9c5b", null ]
];

View file

@ -323,9 +323,8 @@ Functions</h2></td></tr>
<li><b>func</b> : start address of a timer call back function.</li>
<li><b>type</b> : timer type: osTimerOnce for one-shot or osTimerPeriodic for periodic behavior.</li>
<li><b>argument</b> : memory address of argument to the timer call back function.</li>
<li><b>attr</b> : memory address of Timer attributes or 0 when they are not specified.</li>
<li><b>attr</b> : memory address of Timer attributes or 0 when they are not specified. </li>
</ul>
<p>In case when <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t">timer attributes</a> are provided in the API call they are also detailed in the Event Recorder. </p>
</div>
</div>
@ -624,7 +623,7 @@ Functions</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -3,8 +3,8 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Event Flags Functions</title>
<title>CMSIS-RTOS2: Event Flags Functions</title>
<title>Generic Wait Functions</title>
<title>CMSIS-RTOS2: Generic Wait Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__rtx__evr__event__flasg.html','');});
$(document).ready(function(){initNavTree('group__rtx__evr__wait.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@ -110,70 +110,56 @@ $(document).ready(function(){initNavTree('group__rtx__evr__event__flasg.html',''
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Event Flags Functions<div class="ingroups"><a class="el" href="group__rtx__evr.html">Event functions</a></div></div> </div>
<div class="title">Generic Wait Functions<div class="ingroups"><a class="el" href="group__rtx__evr.html">Event functions</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Events generated by event flag functions.
<p>Events generated by generic wait functions.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaa281b7380c0fa725faa722badbeb2e5f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#gaa281b7380c0fa725faa722badbeb2e5f">EvrRtxEventFlagsError</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, int32_t status)</td></tr>
<tr class="memdesc:gaa281b7380c0fa725faa722badbeb2e5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags error (Error) <a href="#gaa281b7380c0fa725faa722badbeb2e5f">More...</a><br/></td></tr>
<tr class="separator:gaa281b7380c0fa725faa722badbeb2e5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae798cdc4cb10ada732e592318037cba7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#gae798cdc4cb10ada732e592318037cba7">EvrRtxEventFlagsNew</a> (const <a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">osEventFlagsAttr_t</a> *attr)</td></tr>
<tr class="memdesc:gae798cdc4cb10ada732e592318037cba7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags create and initialize (API) <a href="#gae798cdc4cb10ada732e592318037cba7">More...</a><br/></td></tr>
<tr class="separator:gae798cdc4cb10ada732e592318037cba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa1f48b9787e3a7d4f56449ed1dd12f26"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#gaa1f48b9787e3a7d4f56449ed1dd12f26">EvrRtxEventFlagsCreated</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, const char *name)</td></tr>
<tr class="memdesc:gaa1f48b9787e3a7d4f56449ed1dd12f26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful event flags create (Op) <a href="#gaa1f48b9787e3a7d4f56449ed1dd12f26">More...</a><br/></td></tr>
<tr class="separator:gaa1f48b9787e3a7d4f56449ed1dd12f26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9ebcbc09a1c15c719d95fe7b8c2ee18"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18">EvrRtxEventFlagsGetName</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, const char *name)</td></tr>
<tr class="memdesc:gae9ebcbc09a1c15c719d95fe7b8c2ee18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags name retrieve (API) <a href="#gae9ebcbc09a1c15c719d95fe7b8c2ee18">More...</a><br/></td></tr>
<tr class="separator:gae9ebcbc09a1c15c719d95fe7b8c2ee18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga877235cbe04188b831b70a3c2237c827"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#ga877235cbe04188b831b70a3c2237c827">EvrRtxEventFlagsWaitTimeout</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
<tr class="memdesc:ga877235cbe04188b831b70a3c2237c827"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait timeout for event flags (Op) <a href="#ga877235cbe04188b831b70a3c2237c827">More...</a><br/></td></tr>
<tr class="separator:ga877235cbe04188b831b70a3c2237c827"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga10e98e35999350e9e337c716ba4dc079"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#ga10e98e35999350e9e337c716ba4dc079">EvrRtxEventFlagsDelete</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
<tr class="memdesc:ga10e98e35999350e9e337c716ba4dc079"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags delete (API) <a href="#ga10e98e35999350e9e337c716ba4dc079">More...</a><br/></td></tr>
<tr class="separator:ga10e98e35999350e9e337c716ba4dc079"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ef153a6ee7a8d72375f81128454ede9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#ga2ef153a6ee7a8d72375f81128454ede9">EvrRtxEventFlagsDestroyed</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
<tr class="memdesc:ga2ef153a6ee7a8d72375f81128454ede9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful event flags delete (Op) <a href="#ga2ef153a6ee7a8d72375f81128454ede9">More...</a><br/></td></tr>
<tr class="separator:ga2ef153a6ee7a8d72375f81128454ede9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ca2a1f7c2231057dcdb9df400284c0a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__wait.html#ga9ca2a1f7c2231057dcdb9df400284c0a">EvrRtxDelayError</a> (int32_t status)</td></tr>
<tr class="memdesc:ga9ca2a1f7c2231057dcdb9df400284c0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on delay error (Error) <a href="#ga9ca2a1f7c2231057dcdb9df400284c0a">More...</a><br/></td></tr>
<tr class="separator:ga9ca2a1f7c2231057dcdb9df400284c0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec642f6e093f6c1c9b9d7609c4b0d174"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__wait.html#gaec642f6e093f6c1c9b9d7609c4b0d174">EvrRtxDelay</a> (uint32_t ticks)</td></tr>
<tr class="memdesc:gaec642f6e093f6c1c9b9d7609c4b0d174"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on delay for specified time (API) <a href="#gaec642f6e093f6c1c9b9d7609c4b0d174">More...</a><br/></td></tr>
<tr class="separator:gaec642f6e093f6c1c9b9d7609c4b0d174"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga16728292de4e2665248693fff603a2c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__wait.html#ga16728292de4e2665248693fff603a2c3">EvrRtxDelayUntil</a> (uint32_t ticks)</td></tr>
<tr class="memdesc:ga16728292de4e2665248693fff603a2c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on delay until specified time (API) <a href="#ga16728292de4e2665248693fff603a2c3">More...</a><br/></td></tr>
<tr class="separator:ga16728292de4e2665248693fff603a2c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad489decd779491c1f247214e541cd4e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__wait.html#gad489decd779491c1f247214e541cd4e8">EvrRtxDelayStarted</a> (uint32_t ticks)</td></tr>
<tr class="memdesc:gad489decd779491c1f247214e541cd4e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on delay started (Op) <a href="#gad489decd779491c1f247214e541cd4e8">More...</a><br/></td></tr>
<tr class="separator:gad489decd779491c1f247214e541cd4e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga46ffa7cb290130a3b0d10dbd6c3faddd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__wait.html#ga46ffa7cb290130a3b0d10dbd6c3faddd">EvrRtxDelayUntilStarted</a> (uint32_t ticks)</td></tr>
<tr class="memdesc:ga46ffa7cb290130a3b0d10dbd6c3faddd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on delay until specified time started (Op) <a href="#ga46ffa7cb290130a3b0d10dbd6c3faddd">More...</a><br/></td></tr>
<tr class="separator:ga46ffa7cb290130a3b0d10dbd6c3faddd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff18b7b13dc1fe87d1c9d3b23ed55208"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__wait.html#gaff18b7b13dc1fe87d1c9d3b23ed55208">EvrRtxDelayCompleted</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
<tr class="memdesc:gaff18b7b13dc1fe87d1c9d3b23ed55208"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on delay completed (Op) <a href="#gaff18b7b13dc1fe87d1c9d3b23ed55208">More...</a><br/></td></tr>
<tr class="separator:gaff18b7b13dc1fe87d1c9d3b23ed55208"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gaa281b7380c0fa725faa722badbeb2e5f"></a>
<a class="anchor" id="ga9ca2a1f7c2231057dcdb9df400284c0a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsError </td>
<td class="memname">void EvrRtxDelayError </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>status</em>&#160;</td>
</tr>
<tr>
<td class="paramname"><em>status</em></td><td>)</td>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a> or NULL when ID is unknown. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>extended execution status.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsError</b> is generated when <a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a> routines complete their execution due to an error.</p>
<p>The event <b>DelayError</b> is generated when <a class="el" href="group__CMSIS__RTOS__Wait.html">Generic Wait Functions</a> routines complete their execution due to an error.</p>
<p>The status parameter indicates the execution status and can be one of the <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t codes</a> or one of the extended execution status codes which are summarized in the table below.</p>
<table class="doxtable">
<tr>
@ -213,194 +199,142 @@ Functions</h2></td></tr>
</table>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID.</li>
<li><b>status</b> : execution status code. </li>
</ul>
</div>
</div>
<a class="anchor" id="gae798cdc4cb10ada732e592318037cba7"></a>
<a class="anchor" id="gaec642f6e093f6c1c9b9d7609c4b0d174"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsNew </td>
<td class="memname">void EvrRtxDelay </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">osEventFlagsAttr_t</a> *&#160;</td>
<td class="paramname"><em>attr</em></td><td>)</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>ticks</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td>event flags attributes.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ticks</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">time ticks</a> value.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsNew</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a> is called.</p>
<p>The event <b>Delay</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> is called.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>attr</b> : memory address of Event Flags attributes or 0 when they are not specified.</li>
</ul>
<p>In case when <a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">event flags attributes</a> are provided in the API call they are also detailed in the Event Recorder. </p>
</div>
</div>
<a class="anchor" id="gaa1f48b9787e3a7d4f56449ed1dd12f26"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsCreated </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to event flags object name.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsCreated</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a> successfully creates a event flags object.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID. </li>
<li><b>ticks</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">time ticks</a> value. </li>
</ul>
</div>
</div>
<a class="anchor" id="gae9ebcbc09a1c15c719d95fe7b8c2ee18"></a>
<a class="anchor" id="ga16728292de4e2665248693fff603a2c3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsGetName </td>
<td class="memname">void EvrRtxDelayUntil </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>ticks</em></td><td>)</td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to event flags object name.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ticks</td><td>absolute time in ticks.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsGetName</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88">osEventFlagsGetName</a> is called and its execution result is known.</p>
<p>The event <b>DelayUntil</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">osDelayUntil</a> is called.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID.</li>
<li><b>name</b> : retrieved memory address of name string (0 in case of a failure). </li>
<li><b>ticks</b> : absolute delay time in ticks. </li>
</ul>
</div>
</div>
<a class="anchor" id="ga877235cbe04188b831b70a3c2237c827"></a>
<a class="anchor" id="gad489decd779491c1f247214e541cd4e8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsWaitTimeout </td>
<td class="memname">void EvrRtxDelayStarted </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em></td><td>)</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>ticks</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ticks</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">time ticks</a> value.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsWaitTimeout</b> is generated when wait for event flags to become signaled is aborted due to expired wait timeout.</p>
<p>The event <b>DelayStarted</b> is generated when <a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> delay starts.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID. </li>
<li><b>ticks</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">time ticks</a> value. </li>
</ul>
</div>
</div>
<a class="anchor" id="ga10e98e35999350e9e337c716ba4dc079"></a>
<a class="anchor" id="ga46ffa7cb290130a3b0d10dbd6c3faddd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsDelete </td>
<td class="memname">void EvrRtxDelayUntilStarted </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em></td><td>)</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>ticks</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ticks</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">time ticks</a> value.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsDelete</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435">osEventFlagsDelete</a> is called.</p>
<p>The event <b>DelayUntilStarted</b> is generated when <a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">osDelayUntil</a> delay starts.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID. </li>
<li><b>ticks</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">time ticks</a> value. </li>
</ul>
</div>
</div>
<a class="anchor" id="ga2ef153a6ee7a8d72375f81128454ede9"></a>
<a class="anchor" id="gaff18b7b13dc1fe87d1c9d3b23ed55208"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EvrRtxEventFlagsDestroyed </td>
<td class="memname">void EvrRtxDelayCompleted </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
<td class="paramname"><em>ef_id</em></td><td>)</td>
<td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
<td class="paramname"><em>thread_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
</table>
</dd>
</dl>
<p>The event <b>EventFlagsDestroyed</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435">osEventFlagsDelete</a> successfully deletes the event flags object.</p>
<p>The event <b>DelayCompleted</b> is generated when <a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> or <a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">osDelayUntil</a> delay expires.</p>
<p><b>Value</b> in the Event Recorder shows:</p>
<ul>
<li><b>ef_id</b> : event flags ID. </li>
<li><b>thread_id</b> : thread ID. </li>
</ul>
</div>
@ -410,7 +344,7 @@ Functions</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
<li class="footer">Generated on Wed Jul 10 2019 15:21:04 for CMSIS-RTOS2 Version 2.1.3 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6

View file

@ -0,0 +1,9 @@
var group__rtx__evr__wait =
[
[ "EvrRtxDelayError", "group__rtx__evr__wait.html#ga9ca2a1f7c2231057dcdb9df400284c0a", null ],
[ "EvrRtxDelay", "group__rtx__evr__wait.html#gaec642f6e093f6c1c9b9d7609c4b0d174", null ],
[ "EvrRtxDelayUntil", "group__rtx__evr__wait.html#ga16728292de4e2665248693fff603a2c3", null ],
[ "EvrRtxDelayStarted", "group__rtx__evr__wait.html#gad489decd779491c1f247214e541cd4e8", null ],
[ "EvrRtxDelayUntilStarted", "group__rtx__evr__wait.html#ga46ffa7cb290130a3b0d10dbd6c3faddd", null ],
[ "EvrRtxDelayCompleted", "group__rtx__evr__wait.html#gaff18b7b13dc1fe87d1c9d3b23ed55208", null ]
];

Some files were not shown because too many files have changed in this diff Show more