<!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>Detailed API Function Differences</title>
<title>CMSIS-RTOS2: Detailed API Function Differences</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 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('os2MigrationFunctions.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">Detailed API Function Differences </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>This section lists the CMSIS-RTOS API v1 and API v2 functions along with the differences in functionality. The list is sorted alphabetically by API v2 function names and is structured the following way:</p>
<ul>
<li>RTOS API v2 function prototype</li>
<li>RTOS API v1 function prototype that is equivalent or provides similar functionality</li>
<li>Brief description of the RTOS v2 function.</li>
<li>Description of the difference.</li>
</ul>
<p>The background color indicates:</p>
<ul>
<li><div class="new">Green: New functions in API v2 that are not available in API v1 </div></li>
<li><div class="mod">Amber: Functions that are modified or replaced in API v2 compared to API v1 </div></li>
<li><div class="del">Red: Functions in API v1 that are deprecated in API v2 </div></li>
</ul>
<h1><a class="anchor" id="mig_kernel"></a>
Kernel Information and Control</h1>
<hr/>
<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199" title="Get RTOS Kernel Information. ">osKernelGetInfo</a> (osVersion_t* version, char* id_buf, uint32_t id_size)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get RTOS Kernel Information. <br/>
 New function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199" title="Get RTOS Kernel Information. ">osKernelGetInfo</a>. </div><hr/>
<div class="mod"> <code>osKernelState_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba" title="Get the current RTOS Kernel state. ">osKernelGetState</a> (void)</code> <br/>
 <code>int32_t &#160; &#160; &#160; &#160; osKernelRunning (void)</code> <br/>
 <br/>
 Get the current RTOS Kernel state. <br/>
</p>
<ul>
<li>The function <b>osKernelGetState</b> replaces the RTOS v1 function <b>osKernelRunning</b>.</li>
<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">osKernelState_t</a>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b" title="Get the RTOS kernel tick count. ">osKernelGetTickCount</a> (void)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get the RTOS kernel tick count. <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee" title="Get the RTOS kernel tick frequency. ">osKernelGetTickFreq</a> (void)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get the RTOS kernel tick frequency. <br/>
</p>
<ul>
<li>The function <b>osKernelGetTickFreq</b> replaces the RTOS v1 macro <b>osKernelTickMicroSec</b>.</li>
</ul>
</div><div class="new"> </div><hr/>
<div class="mod"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae0fcaff6cecfb4013bb556c87afcd7d2" title="Get the RTOS kernel system timer count. ">osKernelGetSysTimerCount</a> (void)</code> <br/>
 <code>uint32_t osKernelSysTick (void)</code> <br/>
 <br/>
 Get the RTOS kernel system timer count. <br/>
</p>
<ul>
<li>The function <b>osKernelGetSysTimerCount</b> replaces the RTOS v1 function <b>osKernelSysTick</b>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="new"> <code>uint64_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga4d69215a93220f72be3684cad582f16a" title="Get the RTOS kernel system timer frequency. ">osKernelGetSysTimerFreq</a> (void)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get the RTOS kernel system timer frequency. <br/>
 New function. </div><hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659" title="Initialize the RTOS Kernel. ">osKernelInitialize</a> (void)</code> <br/>
 <code>osStatus &#160; osKernelInitialize (void)</code> <br/>
 <br/>
 Initialize the RTOS Kernel. <br/>
</p>
<ul>
<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12" title="Lock the RTOS Kernel scheduler. ">osKernelLock</a> (void)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Lock the RTOS Kernel scheduler. <br/>
 New function. </div><hr/>
<div class="new"> <code>int32_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720" title="Unlock the RTOS Kernel scheduler. ">osKernelUnlock</a> (void)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Unlock the RTOS Kernel scheduler. <br/>
 New function. </div><hr/>
<div class="new"> <code>void <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289" title="Restore the RTOS Kernel scheduler lock state. ">osKernelRestoreLock</a> (void)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Restore the RTOS Kernel scheduler lock state. <br/>
 New function. </div><hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221" title="Start the RTOS Kernel scheduler. ">osKernelStart</a> (void)</code> <br/>
 <code>osStatus &#160; osKernelStart (void)</code> <br/>
 <br/>
 Start the RTOS Kernel scheduler. <br/>
</p>
<ul>
<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f" title="Suspend the RTOS Kernel scheduler. ">osKernelSuspend</a> (void)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Suspend the RTOS Kernel scheduler. <br/>
 New function. </div><hr/>
<div class="new"> <code>void <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced" title="Resume the RTOS Kernel scheduler. ">osKernelResume</a> (uint32_t sleep_time)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Resume the RTOS Kernel scheduler. <br/>
 New function. </div><h1><a class="anchor" id="mig_threadMgmt"></a>
Thread Management</h1>
<hr/>
<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaaad14cd9547341ea8109dc4e8540f1dc" title="Detach a thread (thread storage can be reclaimed when thread terminates). ">osThreadDetach</a> (osThreadId_t thread_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Detach a thread (thread storage can be reclaimed when thread terminates). <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga5606604d56e21ece1a654664be877439" title="Enumerate active threads. ">osThreadEnumerate</a> (osThreadId_t *thread_array, uint32_t array_items)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Enumerate active threads. <br/>
 New function. </div><hr/>
<div class="new"> <code>__NO_RETURN void <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc" title="Terminate execution of current running thread. ">osThreadExit</a> (void)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Terminate execution of current running thread. <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga495b3f812224e7301f23a691793765db" title="Get number of active threads. ">osThreadGetCount</a> (osThreadId_t thread_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get number of active threads. <br/>
 New function. </div><hr/>
<div class="new"> <code>const char *<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gac3230f3a55a297514b013ebf38f27e0a" title="Get name of a thread. ">osThreadGetName</a> (osThreadId_t thread_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get name of a thread. <br/>
 New function. </div><hr/>
<div class="mod"> <code>osThreadId_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da" title="Return the thread ID of the current running thread. ">osThreadGetId</a> (void)</code> <br/>
 <code>osThreadId &#160; osThreadGetId (void)</code> <br/>
 <br/>
 Return the thread ID of the current running thread. <br/>
</p>
<ul>
<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="mod"> <code>osPriority_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga0aeaf349604f456e68e78f9d3b42e44b" title="Get current priority of a thread. ">osThreadGetPriority</a> (osThreadId_t thread_id)</code> <br/>
 <code>osPriority &#160; osThreadGetPriority (osThreadId thread_id)</code> <br/>
 <br/>
 Get current priority of a thread. <br/>
</p>
<ul>
<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec" title="Priority values. ">osPriority_t</a>.</li>
<li>Parameter type changed to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gab9f8bd715d671c6ee27644867bc1bf65" title="Get stack size of a thread. ">osThreadGetStackSize</a> (osThreadId_t thread_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get stack size of a thread. <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga9c83bd5dd8de329701775d6ef7012720" title="Get available stack space of a thread based on stack watermark recording during execution. ">osThreadGetStackSpace</a> (osThreadId_t thread_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get available stack space of a thread based on stack watermark recording during execution. <br/>
 New function. </div><hr/>
<div class="new"> <code>osThreadState_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gacc0a98b42f0a5928e12dc91dc76866b9" title="Get current thread state of a thread. ">osThreadGetState</a> (osThreadId_t thread_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get current thread state of a thread. <br/>
 New function. </div><hr/>
<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487" title="Wait for specified thread to terminate. ">osThreadJoin</a> (osThreadId_t thread_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Wait for specified thread to terminate. <br/>
 New function. </div><hr/>
<div class="mod"> <code>osThreadId_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f" title="Create a thread and add it to Active Threads. ">osThreadNew</a> (osThreadFunc_t function, void *argument, const <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t" title="Attributes structure for thread. ">osThreadAttr_t</a> *attr)</code> <br/>
 <code>osThreadId &#160; osThreadCreate (const osThreadDef_t *thread_def, void *argument)</code> <br/>
 <br/>
 Create a thread and add it to Active Threads. <br/>
</p>
<ul>
<li>The function <b>osThreadNew</b> replaces the RTOS v1 function <b>osThreadCreate</b>.</li>
<li>Options are now passed using a <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> struct, replacing the <b>osThreadDef</b> macro.</li>
<li>New function prototype is <code>void func (void *arg)</code>, before: <code>void func (const void *arg)</code>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3dbad90eff394b02de76a452c84c5d80" title="Resume execution of a thread. ">osThreadResume</a> (osThreadId_t thread_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Resume execution of a thread. <br/>
 New function. </div><hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb" title="Change priority of a thread. ">osThreadSetPriority</a> (osThreadId_t thread_id, osPriority_t priority)</code> <br/>
 <code>osStatus &#160; osThreadSetPriority (osThreadId thread_id, osPriority priority)</code> <br/>
 <br/>
 Change priority of a thread. <br/>
</p>
<ul>
<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
<li>Parameter types changed to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> and <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec" title="Priority values. ">osPriority_t</a>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9de419d0152bf77e9bbcd1f369fb990" title="Suspend execution of a thread. ">osThreadSuspend</a> (osThreadId_t thread_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Suspend execution of a thread. <br/>
 New function. </div><hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a" title="Terminate execution of a thread. ">osThreadTerminate</a> (osThreadId_t thread_id)</code> <br/>
 <code>osStatus &#160; osThreadTerminate (osThreadId thread_id)</code> <br/>
 <br/>
 Terminate execution of a thread. <br/>
</p>
<ul>
<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
<li>Parameter type changed to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2" title="Pass control to next thread that is in state READY. ">osThreadYield</a> (void)</code> <br/>
 <code>osStatus &#160; osThreadYield (void)</code> <br/>
 <br/>
 Pass control to next thread that is in state <b>READY</b>. <br/>
</p>
<ul>
<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
</ul>
</div><div class="mod"> </div><h1><a class="anchor" id="mig_threadFlags"></a>
Thread Flags</h1>
<p>New section to synchronize threads using flags. Thread flags and the more flexible <a class="el" href="os2MigrationFunctions.html#mig_eventFlags">Event Flags</a> are replacing the RTOS v1 <b>Signal Events</b>. Refer to <a class="el" href="os2MigrationFunctions.html#mig_signalEvents">Signal Events</a> for a list of deprecated functions. Refer to <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html">Thread Flags</a> for details.</p>
<hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9" title="Set the specified Thread Flags of a thread. ">osThreadFlagsSet</a> (osThreadId_t thread_id, uint32_t flags)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Set the specified Thread Flags of a thread. <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa" title="Clear the specified Thread Flags of current running thread. ">osThreadFlagsClear</a> (uint32_t flags)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Clear the specified Thread Flags of current running thread. <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga85c8d2c89466e25abbcb545d9ddd71ba" title="Get the current Thread Flags of current running thread. ">osThreadFlagsGet</a> (void)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get the current Thread Flags of current running thread. <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b" title="Wait for one or more Thread Flags of the current running thread to become signaled. ">osThreadFlagsWait</a> (uint32_t flags, uint32_t options, uint32_t timeout)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Wait for one or more Thread Flags of the current running thread to become signaled. <br/>
 New function. </div><h1><a class="anchor" id="mig_eventFlags"></a>
Event Flags</h1>
<p>New section to synchronize events using flags. Event flags and thread flags are replacing the RTOS v1 <b>Signal Events</b>. All functions listed in the RTOS v1 <b>Signal Events</b> have been deprecated. Refer to <a class="el" href="os2MigrationFunctions.html#mig_signalEvents">Signal Events</a> for a list of deprecated functions. Refer to <a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a> for details about the new function.</p>
<hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5" title="Clear the specified Event Flags. ">osEventFlagsClear</a> (osEventFlagsId_t ef_id, uint32_t flags)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Clear the specified Event Flags. <br/>
 New function. </div><hr/>
<div class="new"> <code>const char *<a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88" title="Get name of an Event Flags object. ">osEventFlagsGetName</a> ((osEventFlagsId_t ef_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get name of an Event Flags object. <br/>
 New function. </div><hr/>
<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435" title="Delete an Event Flags object. ">osEventFlagsDelete</a> (osEventFlagsId_t ef_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Delete an Event Flags object. <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga8bda3185f46bfd278cea8a6cf357677d" title="Get the current Event Flags. ">osEventFlagsGet</a> (osEventFlagsId_t ef_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get the current Event Flags. <br/>
 New function. </div><hr/>
<div class="new"> <code>osEventFlagsId_t <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df" title="Create and Initialize an Event Flags object. ">osEventFlagsNew</a> (const <a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t" title="Attributes structure for event flags. ">osEventFlagsAttr_t</a> *attr)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Create and Initialize an Event Flags object. <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e" title="Set the specified Event Flags. ">osEventFlagsSet</a> (osEventFlagsId_t ef_id, uint32_t flags)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Set the specified Event Flags. <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e" title="Wait for one or more Event Flags to become signaled. ">osEventFlagsWait</a> (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t timeout)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Wait for one or more Event Flags to become signaled. <br/>
 New function. </div><h1><a class="anchor" id="mig_wait"></a>
Generic Wait Functions</h1>
<p>Refer to <a class="el" href="group__CMSIS__RTOS__Wait.html">Generic Wait Functions</a> for details.</p>
<hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e" title="Wait for Timeout (Time Delay). ">osDelay</a> (uint32_t ticks)</code> <br/>
 <code>osStatus &#160; osDelay (uint32_t timeout)</code> <br/>
 <br/>
 Wait for Timeout (Time Delay). <br/>
</p>
<ul>
<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1" title="Wait until specified time. ">osDelayUntil</a> (uint32_t ticks)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Wait until specified time. <br/>
 New function. </div><hr/>
<div class="del"> <em>none</em> <br/>
 <code>osEvent osWait (uint32_t millisec)</code> <br/>
 <br/>
Deprecated. </div><h1><a class="anchor" id="mig_timer"></a>
Timer Management</h1>
<p>Refer to <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html">Timer Management</a> for details.</p>
<hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453" title="Delete a timer. ">osTimerDelete</a> (osTimerId_t timer_id)</code> <br/>
 <code>osStatus &#160; osTimerDelete (osTimerId timer_id)</code> <br/>
 <br/>
 Delete a timer. <br/>
</p>
<ul>
<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
<li>The parameter type has changed to <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="new"> <code>const char *<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga4f82a98eee4d9ea79507e44340d3d319" title="Get name of a timer. ">osTimerGetName</a> (osTimerId_t timer_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get name of a timer. <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga69d3589f54194022c30dd01e45ec6741" title="Check if a timer is running. ">osTimerIsRunning</a> (osTimerId_t timer_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Check if a timer is running. <br/>
 New function. </div><hr/>
<div class="mod"> <code>osTimerId_t <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec" title="Create and Initialize a timer. ">osTimerNew</a> (osTimerFunc_t func, osTimerType_t type, void *argument, const <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t" title="Attributes structure for timer. ">osTimerAttr_t</a> *attr)</code> <br/>
 <code>osTimerId &#160; osTimerCreate (const osTimerDef_t *timer_def, os_timer_type type, void *argument)</code> <br/>
 <br/>
 Create and Initialize a timer. <br/>
</p>
<ul>
<li>The function <b>osTimerNew</b> replaces the RTOS v1 function <b>osTimerCreate</b>.</li>
<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>.</li>
<li>The parameter list and types have changed.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d" title="Start or restart a timer. ">osTimerStart</a> (osTimerId_t timer_id, uint32_t ticks)</code> <br/>
 <code>osStatus &#160; osTimerStart (osTimerId timer_id, uint32_t timeout)</code> <br/>
 <br/>
 Start or restart a timer. <br/>
</p>
<ul>
<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
<li>The first parameter type has changed to <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9" title="Stop a timer. ">osTimerStop</a> (osTimerId_t timer_id)</code> <br/>
 <code>osStatus &#160; osTimerStop (osTimerId timer_id)</code> <br/>
 <br/>
 Stop a timer. <br/>
</p>
<ul>
<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
<li>The parameter type has changed to <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>.</li>
</ul>
</div><div class="mod"> </div><h1><a class="anchor" id="mig_mutex"></a>
Mutexes</h1>
<p>Refer to <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html">Mutex Management</a> for details.</p>
<hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924" title="Acquire a Mutex or timeout if it is locked. ">osMutexAcquire</a> (osMutexId_t mutex_id, uint32_t timeout)</code> <br/>
 <code>osStatus &#160; osMutexWait (osMutexId mutex_id, uint32_t timeout)</code> <br/>
 <br/>
 Acquire a Mutex or timeout if it is locked. <br/>
</p>
<ul>
<li>The function <b>osMutexAcquire</b> replaces the RTOS v1 function <b>osMutexWait</b>.</li>
<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>.</li>
<li>First parameter type changed to <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc" title="Delete a Mutex object. ">osMutexDelete</a> (osMutexId_t mutex_id)</code> <br/>
 <code>osStatus &#160; osMutexDelete (osMutexId mutex_id)</code> <br/>
 <br/>
 Delete a Mutex object. <br/>
</p>
<ul>
<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>.</li>
<li>The parameter type changed to <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="new"> <code>const char *<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga00b5e58cd247a412d1afd18732d8b752" title="Get name of a Mutex object. ">osMutexGetName</a> ((osMutexId_t mutex_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get name of a Mutex object. <br/>
 New function. </div><hr/>
<div class="new"> <code>osThreadId_t <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga7f9a7666df0978738cd570cb700b83fb" title="Get Thread which owns a Mutex object. ">osMutexGetOwner</a> (osMutexId_t mutex_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get Thread which owns a Mutex object. <br/>
 New function. </div><hr/>
<div class="mod"> <code>osMutexId_t <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8" title="Create and Initialize a Mutex object. ">osMutexNew</a> (const <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t" title="Attributes structure for mutex. ">osMutexAttr_t</a> *attr)</code> <br/>
 <code>osMutexId &#160; osMutexCreate (const osMutexDef_t *mutex_def)</code> <br/>
 <br/>
 Create and Initialize a Mutex object. <br/>
</p>
<ul>
<li>The function <b>osMutexNew</b> replaces the RTOS v1 function <b>osMutexCreate</b>.</li>
<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>.</li>
<li>The parameter type changed to <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915" title="Release a Mutex that was acquired by osMutexAcquire. ">osMutexRelease</a> (osMutexId_t mutex_id)</code> <br/>
 <code>osStatus &#160; osMutexRelease (osMutexId mutex_id)</code> <br/>
 <br/>
 Release a Mutex that was acquired by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a>. <br/>
</p>
<ul>
<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>.</li>
<li>The parameter type changed to <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>.</li>
</ul>
</div><div class="mod"> </div><h1><a class="anchor" id="mig_sem"></a>
Semaphores</h1>
<p>Refer to <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html">Semaphores</a> for details.</p>
<hr/>
<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b" title="Acquire a Semaphore token or timeout if no tokens are available. ">osSemaphoreAcquire</a> (osSemaphoreId_t semaphore_id, uint32_t timeout)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Acquire a Semaphore token or timeout if no tokens are available. <br/>
 New function. Replaces <code>osSemaphoreWait</code>. </div><hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga81258ce9c67fa89f07cc49d2e136cd88" title="Delete a Semaphore object. ">osSemaphoreDelete</a> (osSemaphoreId_t semaphore_id)</code> <br/>
 <code>osStatus &#160; osSemaphoreDelete (osSemaphoreId semaphore_id)</code> <br/>
 <br/>
 Delete a Semaphore object. <br/>
</p>
<ul>
<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
<li>The parameter type has changed to <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7559d4dff3cda9992fc5ab5de3e74c70" title="Get current Semaphore token count. ">osSemaphoreGetCount</a> (osSemaphoreId_t semaphore_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get current Semaphore token count. <br/>
 New function. </div><hr/>
<div class="new"> <code>const char *<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga9586952051f00285f1482dbe6695bbc4" title="Get name of a Semaphore object. ">osSemaphoreGetName</a> ((osSemaphoreId_t semaphore_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get name of a Semaphore object. <br/>
 New function. </div><hr/>
<div class="mod"> <code>osSemaphoreId_t <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a" title="Create and Initialize a Semaphore object. ">osSemaphoreNew</a> (uint32_t max_count, uint32_t initial_count, const <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t" title="Attributes structure for semaphore. ">osSemaphoreAttr_t</a> *attr)</code> <br/>
 <code>osSemaphoreId &#160; osSemaphoreCreate (const osSemaphoreDef_t *semaphore_def, int32_t count)</code> <br/>
 <br/>
 Create and Initialize a Semaphore object. <br/>
</p>
<ul>
<li>The function <b>osSemaphoreNew</b> replaces the RTOS v1 function <b>osSemaphoreCreate</b>.</li>
<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>.</li>
<li>The parameter list and types have changed.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6" title="Release a Semaphore token up to the initial maximum count. ">osSemaphoreRelease</a> (osSemaphoreId_t semaphore_id)</code> <br/>
 <code>osStatus &#160; osSemaphoreRelease (osSemaphoreId semaphore_id)</code> <br/>
 <br/>
 Release a Semaphore token up to the initial maximum count. <br/>
</p>
<ul>
<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
<li>The parameter type has changed to <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="del"> <em>none</em> <br/>
 <code>int32_t osSemaphoreWait (osSemaphoreId semaphore_id, uint32_t timeout)</code> <br/>
 <br/>
Deprecated. Replaced by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b" title="Acquire a Semaphore token or timeout if no tokens are available. ">osSemaphoreAcquire</a>. </div><h1><a class="anchor" id="mig_memPool"></a>
Memory Pool</h1>
<hr/>
<div class="mod"> <code>void * <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe" title="Allocate a memory block from a Memory Pool. ">osMemoryPoolAlloc</a> (osMemoryPoolId_t mp_id, uint32_t timeout)</code> <br/>
 <code>void * osPoolAlloc &#160;(osPoolId pool_id)</code> <br/>
 <br/>
 Allocate a memory block from a Memory Pool. <br/>
</p>
<ul>
<li>The function <b>osMemoryPoolAlloc</b> replaces both RTOS v1 functions <b>osPoolAlloc</b>.</li>
<li>The parameter list and types changed.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8c39e7e5cd2b9eda907466808e59d62e" title="Delete a Memory Pool object. ">osMemoryPoolDelete</a> (osMemoryPoolId_t mp_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Delete a Memory Pool object. <br/>
 New function. </div><hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16" title="Return an allocated memory block back to a Memory Pool. ">osMemoryPoolFree</a> (osMemoryPoolId_t mp_id, void * block)</code> <br/>
 <code>osStatus &#160; osPoolFree (osPoolId pool_id, void * block)</code> <br/>
 <br/>
 Return an allocated memory block back to a Memory Pool. <br/>
</p>
<ul>
<li>The function <b>osMemoryPoolFree</b> replaces the RTOS v1 function <b>osPoolFree</b>.</li>
<li>The first parameter type <b>osMemoryPoolId_t</b> replaces the ROTS v1 type <b>osPoolId</b>.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab2bf059b7fa7679c3cccdaeec60b6c0e" title="Get memory block size in a Memory Pool. ">osMemoryPoolGetBlockSize</a> (osMemoryPoolId_t mp_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get memory block size in a Memory Pool. <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gad696e94bfbe28f0b6613f9303fdf6a37" title="Get maximum number of memory blocks in a Memory Pool. ">osMemoryPoolGetCapacity</a> (osMemoryPoolId_t mp_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get maximum number of memory blocks in a Memory Pool. <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga958a9449bff8c95ce213de98eef5739d" title="Get number of memory blocks used in a Memory Pool. ">osMemoryPoolGetCount</a> (osMemoryPoolId_t mp_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get number of memory blocks used in a Memory Pool. <br/>
 New function. </div><hr/>
<div class="new"> <code>const char *<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab414a1e138205a55820acfa277c8f386" title="Get name of a Memory Pool object. ">osMemoryPoolGetName</a> ((osMemoryPoolId_t mp_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get name of a Memory Pool object. <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga0394cffa9479a7994e3b03c79c1cb909" title="Get number of memory blocks available in a Memory Pool. ">osMemoryPoolGetSpace</a> (osMemoryPoolId_t mp_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get number of memory blocks available in a Memory Pool. <br/>
 New function. </div><hr/>
<div class="mod"> <code>osMemoryPoolId_t <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc" title="Create and Initialize a Memory Pool object. ">osMemoryPoolNew</a> (uint32_t block_count, uint32_t block_size, const <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t" title="Attributes structure for memory pool. ">osMemoryPoolAttr_t</a> *attr)</code> <br/>
 <code>osPoolId &#160; &#160; &#160; &#160; osPoolCreate (const osPoolDef_t * pool_def)</code> <br/>
 <br/>
 Get number of memory blocks available in a Memory Pool. <br/>
</p>
<ul>
<li>The function <b>osMemoryPoolNew</b> replaces the RTOS v1 function <b>osPoolCreate</b>.</li>
<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>.</li>
<li>Parameter list and parameter types have changed.</li>
</ul>
</div><div class="mod"> </div><h1><a class="anchor" id="mig_msgQueue"></a>
Message Queue</h1>
<p>In general, messages are now using fixed size memory instead of being 32-bit values. Refer to <a class="el" href="group__CMSIS__RTOS__Message.html">Message Queue</a> for details.</p>
<hr/>
<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__Message.html#gaba987f665444e0d83fa6a3a68bc72abe" title="Delete a Message Queue object. ">osMessageQueueDelete</a> (osMessageQueueId_t mq_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Delete a Message Queue object. <br/>
 New function. </div><hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e" title="Get a Message from a Queue or timeout if Queue is empty. ">osMessageQueueGet</a> (osMessageQueueId_t mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout)</code> <br/>
 <code>osEvent &#160;&#160; osMessageGet (osMessageQId queue_id, uint32_t timeout)</code> <br/>
 <br/>
 Get a Message from a Queue or timeout if Queue is empty. <br/>
</p>
<ul>
<li>The function <b>osMessageQueueGet</b> replaces the RTOS v1 function <b>osMessageGet</b>.</li>
<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
<li>The parameter list and parameter types have changed.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__Message.html#gac24f87d4f395e9e9c900c320e45ade8a" title="Get maximum number of messages in a Message Queue. ">osMessageQueueGetCapacity</a> (osMessageQueueId_t mq_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get maximum number of messages in a Message Queue. <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__Message.html#ga6a32ac394fcff568b251c160cc3014b2" title="Get number of queued messages in a Message Queue. ">osMessageQueueGetCount</a> (osMessageQueueId_t mq_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get number of queued messages in a Message Queue. <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__Message.html#ga96d3d84069b20359de48109e28a1a89e" title="Get maximum message size in a Memory Pool. ">osMessageQueueGetMsgSize</a> (osMessageQueueId_t mq_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get maximum message size in a Memory Pool. <br/>
 New function. </div><hr/>
<div class="new"> <code>const char *<a class="el" href="group__CMSIS__RTOS__Message.html#gae7cf7bf2b97a5ae481fb60fcce99247a" title="Get name of a Message Queue object. ">osMessageQueueGetName</a> ((osMessageQueueId_t mq_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get name of a Message Queue object. <br/>
 New function. </div><hr/>
<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__Message.html#gaddf0904427436dd3880d46263c2dc9fa" title="Get number of available slots for messages in a Message Queue. ">osMessageQueueGetSpace</a> (osMessageQueueId_t mq_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Get number of available slots for messages in a Message Queue. <br/>
 New function. </div><hr/>
<div class="mod"> <code>osMessageQueueId_t <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed" title="Create and Initialize a Message Queue object. ">osMessageQueueNew</a> (uint32_t msg_count, uint32_t msg_size, const <a class="el" href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t" title="Attributes structure for message queue. ">osMessageQueueAttr_t</a> *attr)</code> <br/>
 <code>osMessageQId &#160; &#160; &#160; osMessageCreate (const osMessageQDef_t *queue_def, osThreadId thread_id)</code> <br/>
 <br/>
 Create and Initialize a Message Queue object. <br/>
</p>
<ul>
<li>The function <b>osMessageQueueNew</b> replaces the RTOS v1 function <b>osMessageCreate</b>.</li>
<li>The return type changed to <a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>.</li>
<li>The parameter list and parameter types have changed.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc" title="Put a Message into a Queue or timeout if Queue is full. ">osMessageQueuePut</a> (osMessageQueueId_t mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout)</code> <br/>
 <code>osStatus &#160; osMessagePut (osMessageQId queue_id, uint32_t info, uint32_t timeout)</code> <br/>
 <br/>
 Put a Message into a Queue or timeout if Queue is full. <br/>
</p>
<ul>
<li>The function <b>osMessageQueuePut</b> replaces the RTOS v1 function <b>osMessagePut</b>.</li>
<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
<li>The parameter list and parameter types have changed.</li>
</ul>
</div><div class="mod"> </div><hr/>
<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__Message.html#gac6dce7f9ad132d266292c2e979d861b4" title="Reset a Message Queue to initial empty state. ">osMessageQueueReset</a> (osMessageQueueId_t mq_id)</code> <br/>
 <em>none</em> <br/>
 <br/>
 Reset a Message Queue to initial empty state. <br/>
 New function. </div><h1><a class="anchor" id="mig_mailQueue"></a>
Mail Queue</h1>
<p>The <b>Mail Queue</b> RTOS v1 functions have been deprecated. Use the functionality of the <a class="el" href="group__CMSIS__RTOS__Message.html">Message Queue</a> instead. Differences are listed under <a class="el" href="os2MigrationFunctions.html#mig_msgQueue">Message Queue</a>.</p>
<hr/>
<div class="del"> <em>none</em> <br/>
 <code>void * osMailAlloc (osMailQId queue_id, uint32_t timeout)</code> <br/>
 <br/>
Deprecated. </div><hr/>
<div class="del"> <em>none</em> <br/>
 <code>void * osMailCAlloc (osMailQId queue_id, uint32_t timeout)</code> <br/>
 <br/>
Deprecated. </div><hr/>
<div class="del"> <em>none</em> <br/>
 <code>osMailQId osMailCreate (const osMailQDef_t *queue_def, osThreadId thread_id)</code> <br/>
 <br/>
Deprecated. </div><hr/>
<div class="del"> <em>none</em> <br/>
 <code>osStatus osMailFree (osMailQId queue_id, void *mail)</code> <br/>
 <br/>
Deprecated. </div><hr/>
<div class="del"> <em>none</em> <br/>
 <code>osEvent osMailGet (osMailQId queue_id, uint32_t timeout)</code> <br/>
 <br/>
Deprecated. </div><hr/>
<div class="del"> <em>none</em> <br/>
 <code>osStatus osMailPut (osMailQId queue_id, void *mail)</code> <br/>
 <br/>
Deprecated. </div><h1><a class="anchor" id="mig_signalEvents"></a>
Signal Events</h1>
<p>The section RTOS v1 <b>Signal Events</b> has been deprecated. Use the functions listed under <a class="el" href="os2MigrationFunctions.html#mig_threadFlags">Thread Flags</a> instead.</p>
<hr/>
<div class="del"> <em>none</em> <br/>
 <code>int32_t osSignalClear (osThreadId thread_id, int32_t signals)</code> <br/>
 <br/>
Deprecated. </div><hr/>
<div class="del"> <em>none</em> <br/>
 <code>int32_t osSignalSet (osThreadId thread_id, int32_t signals)</code> <br/>
 <br/>
Deprecated. </div><hr/>
<div class="del"> <em>none</em> <br/>
 <code>osEvent osSignalWait (int32_t signals, uint32_t timeout)</code> <br/>
 <br/>
Deprecated. </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="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="os2Migration.html">Migration from API v1 to API v2</a></li>
    <li class="footer">Generated on Wed Aug 1 2018 17:12:45 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>
