MCB1700_Welcome/Doxygen/html/queue_8h_source.html

650 lines
135 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta name="generator" content="Doxygen 1.8.20"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Labor04: queue.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</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: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Labor04
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.20 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('queue_8h_source.html',''); initResizable(); });
/* @license-end */
</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)">
</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">queue.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="queue_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * FreeRTOS Kernel V10.0.0</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a copy of</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * this software and associated documentation files (the &quot;Software&quot;), to deal in</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * the Software without restriction, including without limitation the rights to</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * the Software, and to permit persons to whom the Software is furnished to do so,</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * subject to the following conditions:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be included in all</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * copies or substantial portions of the Software. If you wish to use our Amazon</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * FreeRTOS name, please do so in a fair use way that does not cause confusion.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * http://www.FreeRTOS.org</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * http://aws.amazon.com/freertos</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * 1 tab == 4 spaces!</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifndef QUEUE_H</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define QUEUE_H</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#ifndef INC_FREERTOS_H</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#error &quot;include FreeRTOS.h&quot; must appear in source files before &quot;include queue.h&quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264"> 47</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">void</span> * <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="queue_8h.html#a32a86d604e1706d72a5a4c62d8262f56"> 54</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">void</span> * <a class="code" href="queue_8h.html#a32a86d604e1706d72a5a4c62d8262f56">QueueSetHandle_t</a>;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="queue_8h.html#a6c19a940d8fe07d338928ecea68b1776"> 61</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">void</span> * <a class="code" href="queue_8h.html#a6c19a940d8fe07d338928ecea68b1776">QueueSetMemberHandle_t</a>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment">/* For internal use only. */</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="queue_8h.html#a4d78fa863fbeb90425a2dda08fae8b12"> 64</a></span>&#160;<span class="preprocessor">#define queueSEND_TO_BACK ( ( BaseType_t ) 0 )</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="queue_8h.html#a6bae395a00f1a4455f0e7fe3c9e76c14"> 65</a></span>&#160;<span class="preprocessor">#define queueSEND_TO_FRONT ( ( BaseType_t ) 1 )</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="queue_8h.html#a5bb1c4a46d4b08b6d35cf586983476ef"> 66</a></span>&#160;<span class="preprocessor">#define queueOVERWRITE ( ( BaseType_t ) 2 )</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; </div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment">/* For internal use only. These definitions *must* match those in queue.c. */</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="queue_8h.html#a3f926bea6ffa4e2f1af900431d0d90a5"> 69</a></span>&#160;<span class="preprocessor">#define queueQUEUE_TYPE_BASE ( ( uint8_t ) 0U )</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="queue_8h.html#a9b8e1b1d5d9952bd0121ae71cf3aba8d"> 70</a></span>&#160;<span class="preprocessor">#define queueQUEUE_TYPE_SET ( ( uint8_t ) 0U )</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="queue_8h.html#ae9c10f504e758fb69271024dc8d8a8c9"> 71</a></span>&#160;<span class="preprocessor">#define queueQUEUE_TYPE_MUTEX ( ( uint8_t ) 1U )</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="queue_8h.html#abccf1c95aa0942f8df163d414010542b"> 72</a></span>&#160;<span class="preprocessor">#define queueQUEUE_TYPE_COUNTING_SEMAPHORE ( ( uint8_t ) 2U )</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="queue_8h.html#a8af9c6a83fce59c386da4f22248b56ae"> 73</a></span>&#160;<span class="preprocessor">#define queueQUEUE_TYPE_BINARY_SEMAPHORE ( ( uint8_t ) 3U )</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="queue_8h.html#a6f68aa65394f83b57e34061d9ff44b47"> 74</a></span>&#160;<span class="preprocessor">#define queueQUEUE_TYPE_RECURSIVE_MUTEX ( ( uint8_t ) 4U )</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="preprocessor">#if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="preprocessor">#define xQueueCreate( uxQueueLength, uxItemSize ) xQueueGenericCreate( ( uxQueueLength ), ( uxItemSize ), ( queueQUEUE_TYPE_BASE ) )</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="preprocessor">#if( configSUPPORT_STATIC_ALLOCATION == 1 )</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="preprocessor">#define xQueueCreateStatic( uxQueueLength, uxItemSize, pucQueueStorage, pxQueueBuffer ) xQueueGenericCreateStatic( ( uxQueueLength ), ( uxItemSize ), ( pucQueueStorage ), ( pxQueueBuffer ), ( queueQUEUE_TYPE_BASE ) )</span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* configSUPPORT_STATIC_ALLOCATION */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; </div>
<div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="queue_8h.html#aa612fcc2b1ceee0200f34b942e300b41"> 312</a></span>&#160;<span class="preprocessor">#define xQueueSendToFront( xQueue, pvItemToQueue, xTicksToWait ) xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_FRONT )</span></div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; </div>
<div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="queue_8h.html#a81d24a2c1199d58efb76fbee15853112"> 394</a></span>&#160;<span class="preprocessor">#define xQueueSendToBack( xQueue, pvItemToQueue, xTicksToWait ) xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )</span></div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; </div>
<div class="line"><a name="l00478"></a><span class="lineno"><a class="line" href="queue_8h.html#af7eb49d3249351176992950d9185abe9"> 478</a></span>&#160;<span class="preprocessor">#define xQueueSend( xQueue, pvItemToQueue, xTicksToWait ) xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )</span></div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; </div>
<div class="line"><a name="l00561"></a><span class="lineno"><a class="line" href="queue_8h.html#a8e9ced123b5a0e37a36d3bbdb2e56b4e"> 561</a></span>&#160;<span class="preprocessor">#define xQueueOverwrite( xQueue, pvItemToQueue ) xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), 0, queueOVERWRITE )</span></div>
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; </div>
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; </div>
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#a7ce86d1026e0c3055a523935bf53c0b3">xQueueGenericSend</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue, <span class="keyword">const</span> <span class="keywordtype">void</span> * <span class="keyword">const</span> pvItemToQueue, <a class="code" href="portmacro_8h.html#aa69c48c6e902ce54f70886e6573c92a9">TickType_t</a> xTicksToWait, <span class="keyword">const</span> <a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> xCopyPosition ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; </div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#a3f9e430276fe5244417fd82644ec8a75">xQueuePeek</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue, <span class="keywordtype">void</span> * <span class="keyword">const</span> pvBuffer, <a class="code" href="portmacro_8h.html#aa69c48c6e902ce54f70886e6573c92a9">TickType_t</a> xTicksToWait ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; </div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#ac402adf98be1fb8ca0345f30dc11a9dc">xQueuePeekFromISR</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue, <span class="keywordtype">void</span> * <span class="keyword">const</span> pvBuffer ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; </div>
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#ae8364d988c6f9b63c771cc2b3dfe5df9">xQueueReceive</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue, <span class="keywordtype">void</span> * <span class="keyword">const</span> pvBuffer, <a class="code" href="portmacro_8h.html#aa69c48c6e902ce54f70886e6573c92a9">TickType_t</a> xTicksToWait ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; </div>
<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160;<a class="code" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a> <a class="code" href="queue_8h.html#add7ee0701ba35904d190811b9e5a4eda">uxQueueMessagesWaiting</a>( <span class="keyword">const</span> <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; </div>
<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160;<a class="code" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a> <a class="code" href="queue_8h.html#aae75791e91707c1e0bb31d761921531c">uxQueueSpacesAvailable</a>( <span class="keyword">const</span> <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; </div>
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160;<span class="keywordtype">void</span> <a class="code" href="queue_8h.html#a707cbcfe3aed6b877b6aa6d9d75a3f22">vQueueDelete</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; </div>
<div class="line"><a name="l00983"></a><span class="lineno"><a class="line" href="queue_8h.html#af03b83396462affe9e28302660e7b9c6"> 983</a></span>&#160;<span class="preprocessor">#define xQueueSendToFrontFromISR( xQueue, pvItemToQueue, pxHigherPriorityTaskWoken ) xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_FRONT )</span></div>
<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; </div>
<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; </div>
<div class="line"><a name="l01054"></a><span class="lineno"><a class="line" href="queue_8h.html#a51e9f73417b11441a181cdc4f33a68e9"> 1054</a></span>&#160;<span class="preprocessor">#define xQueueSendToBackFromISR( xQueue, pvItemToQueue, pxHigherPriorityTaskWoken ) xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_BACK )</span></div>
<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; </div>
<div class="line"><a name="l01141"></a><span class="lineno"><a class="line" href="queue_8h.html#abdcd6a86ef82034d002193e79cfd3ce8"> 1141</a></span>&#160;<span class="preprocessor">#define xQueueOverwriteFromISR( xQueue, pvItemToQueue, pxHigherPriorityTaskWoken ) xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueOVERWRITE )</span></div>
<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160; </div>
<div class="line"><a name="l01215"></a><span class="lineno"><a class="line" href="queue_8h.html#a21d5919ed26c21d121df4a4debeb643c"> 1215</a></span>&#160;<span class="preprocessor">#define xQueueSendFromISR( xQueue, pvItemToQueue, pxHigherPriorityTaskWoken ) xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_BACK )</span></div>
<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160; </div>
<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#a263711eb0124112e828a18fd4b8ab29d">xQueueGenericSendFromISR</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue, <span class="keyword">const</span> <span class="keywordtype">void</span> * <span class="keyword">const</span> pvItemToQueue, <a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> * <span class="keyword">const</span> pxHigherPriorityTaskWoken, <span class="keyword">const</span> <a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> xCopyPosition ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#ad14ae1174c2772cffc9e0c2c45dc55a6">xQueueGiveFromISR</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue, <a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> * <span class="keyword">const</span> pxHigherPriorityTaskWoken ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160; </div>
<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#acdf528f5c91131ae2f31c669cfd65758">xQueueReceiveFromISR</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue, <span class="keywordtype">void</span> * <span class="keyword">const</span> pvBuffer, <a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> * <span class="keyword">const</span> pxHigherPriorityTaskWoken ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160; </div>
<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;<span class="comment"> * Utilities to query queues that are safe to use from an ISR. These utilities</span></div>
<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;<span class="comment"> * should be used only from witin an ISR, or within a critical section.</span></div>
<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#aa11139c58f4eecaa0c50078f2976d010">xQueueIsQueueEmptyFromISR</a>( <span class="keyword">const</span> <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#a81319b3aa562733957c5a12a088516d3">xQueueIsQueueFullFromISR</a>( <span class="keyword">const</span> <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;<a class="code" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a> <a class="code" href="queue_8h.html#a3e89b6189166f9544f283435e2732f9a">uxQueueMessagesWaitingFromISR</a>( <span class="keyword">const</span> <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160; </div>
<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160;<span class="comment"> * The functions defined above are for passing data to and from tasks. The</span></div>
<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160;<span class="comment"> * functions below are the equivalents for passing data to and from</span></div>
<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160;<span class="comment"> * co-routines.</span></div>
<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160;<span class="comment"> * These functions are called from the co-routine macro implementation and</span></div>
<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160;<span class="comment"> * should not be called directly from application code. Instead use the macro</span></div>
<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160;<span class="comment"> * wrappers defined within croutine.h.</span></div>
<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l01403"></a><span class="lineno"><a class="line" href="queue_8h.html#a80af2aff3f472600a12dea0642fa8b27"> 1403</a></span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#a80af2aff3f472600a12dea0642fa8b27">xQueueCRSendFromISR</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue, <span class="keyword">const</span> <span class="keywordtype">void</span> *pvItemToQueue, <a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> xCoRoutinePreviouslyWoken );</div>
<div class="line"><a name="l01404"></a><span class="lineno"><a class="line" href="queue_8h.html#ad66b08c1d6a17efa8985605bf182b997"> 1404</a></span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#ad66b08c1d6a17efa8985605bf182b997">xQueueCRReceiveFromISR</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue, <span class="keywordtype">void</span> *pvBuffer, <a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> *pxTaskWoken );</div>
<div class="line"><a name="l01405"></a><span class="lineno"><a class="line" href="queue_8h.html#abb5d7bd9b62f2b642104fde73c1c666b"> 1405</a></span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#abb5d7bd9b62f2b642104fde73c1c666b">xQueueCRSend</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue, <span class="keyword">const</span> <span class="keywordtype">void</span> *pvItemToQueue, <a class="code" href="portmacro_8h.html#aa69c48c6e902ce54f70886e6573c92a9">TickType_t</a> xTicksToWait );</div>
<div class="line"><a name="l01406"></a><span class="lineno"><a class="line" href="queue_8h.html#a88a02b37c486c38b8c4112e16dfed099"> 1406</a></span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#a88a02b37c486c38b8c4112e16dfed099">xQueueCRReceive</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue, <span class="keywordtype">void</span> *pvBuffer, <a class="code" href="portmacro_8h.html#aa69c48c6e902ce54f70886e6573c92a9">TickType_t</a> xTicksToWait );</div>
<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160; </div>
<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160;<span class="comment"> * For internal use only. Use xSemaphoreCreateMutex(),</span></div>
<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160;<span class="comment"> * xSemaphoreCreateCounting() or xSemaphoreGetMutexHolder() instead of calling</span></div>
<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160;<span class="comment"> * these functions directly.</span></div>
<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l01413"></a><span class="lineno"><a class="line" href="queue_8h.html#acac7df114346b4219bc2aab79cac35b5"> 1413</a></span>&#160;<a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> <a class="code" href="queue_8h.html#acac7df114346b4219bc2aab79cac35b5">xQueueCreateMutex</a>( <span class="keyword">const</span> uint8_t ucQueueType ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01414"></a><span class="lineno"><a class="line" href="queue_8h.html#af92945589381b740932a7cc41e212a37"> 1414</a></span>&#160;<a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> <a class="code" href="queue_8h.html#af92945589381b740932a7cc41e212a37">xQueueCreateMutexStatic</a>( <span class="keyword">const</span> uint8_t ucQueueType, <a class="code" href="structx_s_t_a_t_i_c___q_u_e_u_e.html">StaticQueue_t</a> *pxStaticQueue ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01415"></a><span class="lineno"><a class="line" href="queue_8h.html#ac74677a8d243c76843c25fdb06436043"> 1415</a></span>&#160;<a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> <a class="code" href="queue_8h.html#ac74677a8d243c76843c25fdb06436043">xQueueCreateCountingSemaphore</a>( <span class="keyword">const</span> <a class="code" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a> uxMaxCount, <span class="keyword">const</span> <a class="code" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a> uxInitialCount ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01416"></a><span class="lineno"><a class="line" href="queue_8h.html#a601cb15993988a393676a9df74b067bd"> 1416</a></span>&#160;<a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> <a class="code" href="queue_8h.html#a601cb15993988a393676a9df74b067bd">xQueueCreateCountingSemaphoreStatic</a>( <span class="keyword">const</span> <a class="code" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a> uxMaxCount, <span class="keyword">const</span> <a class="code" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a> uxInitialCount, <a class="code" href="structx_s_t_a_t_i_c___q_u_e_u_e.html">StaticQueue_t</a> *pxStaticQueue ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#a124567e9fc3a37b99f7e184ae98de9f8">xQueueSemaphoreTake</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue, <a class="code" href="portmacro_8h.html#aa69c48c6e902ce54f70886e6573c92a9">TickType_t</a> xTicksToWait ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01418"></a><span class="lineno"><a class="line" href="queue_8h.html#ac0db78cd3f300adcf29d618d7a0ec6fa"> 1418</a></span>&#160;<span class="keywordtype">void</span>* <a class="code" href="queue_8h.html#ac0db78cd3f300adcf29d618d7a0ec6fa">xQueueGetMutexHolder</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xSemaphore ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01419"></a><span class="lineno"><a class="line" href="queue_8h.html#a2bab773f100e4945e6ba8a7924b85f50"> 1419</a></span>&#160;<span class="keywordtype">void</span>* <a class="code" href="queue_8h.html#a2bab773f100e4945e6ba8a7924b85f50">xQueueGetMutexHolderFromISR</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xSemaphore ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160; </div>
<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160;<span class="comment"> * For internal use only. Use xSemaphoreTakeMutexRecursive() or</span></div>
<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;<span class="comment"> * xSemaphoreGiveMutexRecursive() instead of calling these functions directly.</span></div>
<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l01425"></a><span class="lineno"><a class="line" href="queue_8h.html#a74e27d539a884589ebbbdfcc371a48cd"> 1425</a></span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#a74e27d539a884589ebbbdfcc371a48cd">xQueueTakeMutexRecursive</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xMutex, <a class="code" href="portmacro_8h.html#aa69c48c6e902ce54f70886e6573c92a9">TickType_t</a> xTicksToWait ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01426"></a><span class="lineno"><a class="line" href="queue_8h.html#ac72c90f499bd0a5b5a90d1d3b05cb0ca"> 1426</a></span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#ac72c90f499bd0a5b5a90d1d3b05cb0ca">xQueueGiveMutexRecursive</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> pxMutex ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160; </div>
<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160;<span class="comment"> * Reset a queue back to its original empty state. The return value is now</span></div>
<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;<span class="comment"> * obsolete and is always set to pdPASS.</span></div>
<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l01432"></a><span class="lineno"><a class="line" href="queue_8h.html#a94df8d8bc938424151f8196db2f1177b"> 1432</a></span>&#160;<span class="preprocessor">#define xQueueReset( xQueue ) xQueueGenericReset( xQueue, pdFALSE )</span></div>
<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160; </div>
<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;<span class="comment"> * The registry is provided as a means for kernel aware debuggers to</span></div>
<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160;<span class="comment"> * locate queues, semaphores and mutexes. Call vQueueAddToRegistry() add</span></div>
<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;<span class="comment"> * a queue, semaphore or mutex handle to the registry if you want the handle</span></div>
<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160;<span class="comment"> * to be available to a kernel aware debugger. If you are not using a kernel</span></div>
<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;<span class="comment"> * aware debugger then this function can be ignored.</span></div>
<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;<span class="comment"> * configQUEUE_REGISTRY_SIZE defines the maximum number of handles the</span></div>
<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;<span class="comment"> * registry can hold. configQUEUE_REGISTRY_SIZE must be greater than 0</span></div>
<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160;<span class="comment"> * within FreeRTOSConfig.h for the registry to be available. Its value</span></div>
<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;<span class="comment"> * does not effect the number of queues, semaphores and mutexes that can be</span></div>
<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160;<span class="comment"> * created - just the number that the registry can hold.</span></div>
<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160;<span class="comment"> * @param xQueue The handle of the queue being added to the registry. This</span></div>
<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160;<span class="comment"> * is the handle returned by a call to xQueueCreate(). Semaphore and mutex</span></div>
<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160;<span class="comment"> * handles can also be passed in here.</span></div>
<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160;<span class="comment"> * @param pcName The name to be associated with the handle. This is the</span></div>
<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160;<span class="comment"> * name that the kernel aware debugger will display. The queue registry only</span></div>
<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160;<span class="comment"> * stores a pointer to the string - so the string must be persistent (global or</span></div>
<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;<span class="comment"> * preferably in ROM/Flash), not on the stack.</span></div>
<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160;<span class="preprocessor">#if( configQUEUE_REGISTRY_SIZE &gt; 0 )</span></div>
<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;<span class="keywordtype">void</span> <a class="code" href="_free_r_t_o_s_8h.html#a3e103eedd5088f5f30bc55e55820a9e3">vQueueAddToRegistry</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue, <span class="keyword">const</span> <span class="keywordtype">char</span> *pcName ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>; <span class="comment">/*lint !e971 Unqualified char types are allowed for strings and single characters only. */</span></div>
<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160; </div>
<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160;<span class="comment"> * The registry is provided as a means for kernel aware debuggers to</span></div>
<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160;<span class="comment"> * locate queues, semaphores and mutexes. Call vQueueAddToRegistry() add</span></div>
<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160;<span class="comment"> * a queue, semaphore or mutex handle to the registry if you want the handle</span></div>
<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;<span class="comment"> * to be available to a kernel aware debugger, and vQueueUnregisterQueue() to</span></div>
<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160;<span class="comment"> * remove the queue, semaphore or mutex from the register. If you are not using</span></div>
<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160;<span class="comment"> * a kernel aware debugger then this function can be ignored.</span></div>
<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160;<span class="comment"> * @param xQueue The handle of the queue being removed from the registry.</span></div>
<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160;<span class="preprocessor">#if( configQUEUE_REGISTRY_SIZE &gt; 0 )</span></div>
<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160;<span class="keywordtype">void</span> <a class="code" href="_free_r_t_o_s_8h.html#af007b655ee91c919bad9cd2798195899">vQueueUnregisterQueue</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160; </div>
<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160;<span class="comment"> * The queue registry is provided as a means for kernel aware debuggers to</span></div>
<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160;<span class="comment"> * locate queues, semaphores and mutexes. Call pcQueueGetName() to look</span></div>
<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160;<span class="comment"> * up and return the name of a queue in the queue registry from the queue&#39;s</span></div>
<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160;<span class="comment"> * handle.</span></div>
<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160;<span class="comment"> * @param xQueue The handle of the queue the name of which will be returned.</span></div>
<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160;<span class="comment"> * @return If the queue is in the registry then a pointer to the name of the</span></div>
<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;<span class="comment"> * queue is returned. If the queue is not in the registry then NULL is</span></div>
<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;<span class="comment"> * returned.</span></div>
<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160;<span class="preprocessor">#if( configQUEUE_REGISTRY_SIZE &gt; 0 )</span></div>
<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="_free_r_t_o_s_8h.html#ae9c520a136753cfb579e5caac11077a6">pcQueueGetName</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>; <span class="comment">/*lint !e971 Unqualified char types are allowed for strings and single characters only. */</span></div>
<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160; </div>
<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160;<span class="comment"> * Generic version of the function used to creaet a queue using dynamic memory</span></div>
<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;<span class="comment"> * allocation. This is called by other functions and macros that create other</span></div>
<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160;<span class="comment"> * RTOS objects that use the queue structure as their base.</span></div>
<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;<span class="preprocessor">#if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )</span></div>
<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160;<a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> <a class="code" href="queue_8c.html#ac999cdfbb09fff396fa818bb9a30b4e5">xQueueGenericCreate</a>( <span class="keyword">const</span> <a class="code" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a> uxQueueLength, <span class="keyword">const</span> <a class="code" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a> uxItemSize, <span class="keyword">const</span> uint8_t ucQueueType ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160; </div>
<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160;<span class="comment"> * Generic version of the function used to creaet a queue using dynamic memory</span></div>
<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160;<span class="comment"> * allocation. This is called by other functions and macros that create other</span></div>
<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160;<span class="comment"> * RTOS objects that use the queue structure as their base.</span></div>
<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160;<span class="preprocessor">#if( configSUPPORT_STATIC_ALLOCATION == 1 )</span></div>
<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160;<a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueueGenericCreateStatic( <span class="keyword">const</span> <a class="code" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a> uxQueueLength, <span class="keyword">const</span> <a class="code" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a> uxItemSize, uint8_t *pucQueueStorage, <a class="code" href="structx_s_t_a_t_i_c___q_u_e_u_e.html">StaticQueue_t</a> *pxStaticQueue, <span class="keyword">const</span> uint8_t ucQueueType ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160; </div>
<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160;<span class="comment"> * Queue sets provide a mechanism to allow a task to block (pend) on a read</span></div>
<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160;<span class="comment"> * operation from multiple queues or semaphores simultaneously.</span></div>
<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;<span class="comment"> * See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this</span></div>
<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;<span class="comment"> * function.</span></div>
<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160;<span class="comment"> * A queue set must be explicitly created using a call to xQueueCreateSet()</span></div>
<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160;<span class="comment"> * before it can be used. Once created, standard FreeRTOS queues and semaphores</span></div>
<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160;<span class="comment"> * can be added to the set using calls to xQueueAddToSet().</span></div>
<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;<span class="comment"> * xQueueSelectFromSet() is then used to determine which, if any, of the queues</span></div>
<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;<span class="comment"> * or semaphores contained in the set is in a state where a queue read or</span></div>
<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;<span class="comment"> * semaphore take operation would be successful.</span></div>
<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160;<span class="comment"> * Note 1: See the documentation on http://wwwFreeRTOS.org/RTOS-queue-sets.html</span></div>
<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;<span class="comment"> * for reasons why queue sets are very rarely needed in practice as there are</span></div>
<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160;<span class="comment"> * simpler methods of blocking on multiple objects.</span></div>
<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160;<span class="comment"> * Note 2: Blocking on a queue set that contains a mutex will not cause the</span></div>
<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160;<span class="comment"> * mutex holder to inherit the priority of the blocked task.</span></div>
<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160;<span class="comment"> * Note 3: An additional 4 bytes of RAM is required for each space in a every</span></div>
<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160;<span class="comment"> * queue added to a queue set. Therefore counting semaphores that have a high</span></div>
<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160;<span class="comment"> * maximum count value should not be added to a queue set.</span></div>
<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160;<span class="comment"> * Note 4: A receive (in the case of a queue) or take (in the case of a</span></div>
<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160;<span class="comment"> * semaphore) operation must not be performed on a member of a queue set unless</span></div>
<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160;<span class="comment"> * a call to xQueueSelectFromSet() has first returned a handle to that set member.</span></div>
<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160;<span class="comment"> * @param uxEventQueueLength Queue sets store events that occur on</span></div>
<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160;<span class="comment"> * the queues and semaphores contained in the set. uxEventQueueLength specifies</span></div>
<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160;<span class="comment"> * the maximum number of events that can be queued at once. To be absolutely</span></div>
<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;<span class="comment"> * certain that events are not lost uxEventQueueLength should be set to the</span></div>
<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160;<span class="comment"> * total sum of the length of the queues added to the set, where binary</span></div>
<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160;<span class="comment"> * semaphores and mutexes have a length of 1, and counting semaphores have a</span></div>
<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160;<span class="comment"> * length set by their maximum count value. Examples:</span></div>
<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160;<span class="comment"> * + If a queue set is to hold a queue of length 5, another queue of length 12,</span></div>
<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160;<span class="comment"> * and a binary semaphore, then uxEventQueueLength should be set to</span></div>
<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160;<span class="comment"> * (5 + 12 + 1), or 18.</span></div>
<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160;<span class="comment"> * + If a queue set is to hold three binary semaphores then uxEventQueueLength</span></div>
<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;<span class="comment"> * should be set to (1 + 1 + 1 ), or 3.</span></div>
<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160;<span class="comment"> * + If a queue set is to hold a counting semaphore that has a maximum count of</span></div>
<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160;<span class="comment"> * 5, and a counting semaphore that has a maximum count of 3, then</span></div>
<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160;<span class="comment"> * uxEventQueueLength should be set to (5 + 3), or 8.</span></div>
<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160;<span class="comment"> * @return If the queue set is created successfully then a handle to the created</span></div>
<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160;<span class="comment"> * queue set is returned. Otherwise NULL is returned.</span></div>
<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l01555"></a><span class="lineno"><a class="line" href="queue_8h.html#ad4208ad97f737af942a13e64b45e83e8"> 1555</a></span>&#160;<a class="code" href="queue_8h.html#a32a86d604e1706d72a5a4c62d8262f56">QueueSetHandle_t</a> <a class="code" href="queue_8h.html#ad4208ad97f737af942a13e64b45e83e8">xQueueCreateSet</a>( <span class="keyword">const</span> <a class="code" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a> uxEventQueueLength ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160; </div>
<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160;<span class="comment"> * Adds a queue or semaphore to a queue set that was previously created by a</span></div>
<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160;<span class="comment"> * call to xQueueCreateSet().</span></div>
<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160;<span class="comment"> * See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this</span></div>
<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160;<span class="comment"> * function.</span></div>
<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160;<span class="comment"> * Note 1: A receive (in the case of a queue) or take (in the case of a</span></div>
<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160;<span class="comment"> * semaphore) operation must not be performed on a member of a queue set unless</span></div>
<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160;<span class="comment"> * a call to xQueueSelectFromSet() has first returned a handle to that set member.</span></div>
<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;<span class="comment"> * @param xQueueOrSemaphore The handle of the queue or semaphore being added to</span></div>
<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160;<span class="comment"> * the queue set (cast to an QueueSetMemberHandle_t type).</span></div>
<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160;<span class="comment"> * @param xQueueSet The handle of the queue set to which the queue or semaphore</span></div>
<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160;<span class="comment"> * is being added.</span></div>
<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160;<span class="comment"> * @return If the queue or semaphore was successfully added to the queue set</span></div>
<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160;<span class="comment"> * then pdPASS is returned. If the queue could not be successfully added to the</span></div>
<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;<span class="comment"> * queue set because it is already a member of a different queue set then pdFAIL</span></div>
<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160;<span class="comment"> * is returned.</span></div>
<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l01579"></a><span class="lineno"><a class="line" href="queue_8h.html#ae07b563e6bbe42a977f7c46853aa11eb"> 1579</a></span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#ae07b563e6bbe42a977f7c46853aa11eb">xQueueAddToSet</a>( <a class="code" href="queue_8h.html#a6c19a940d8fe07d338928ecea68b1776">QueueSetMemberHandle_t</a> xQueueOrSemaphore, <a class="code" href="queue_8h.html#a32a86d604e1706d72a5a4c62d8262f56">QueueSetHandle_t</a> xQueueSet ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160; </div>
<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;<span class="comment"> * Removes a queue or semaphore from a queue set. A queue or semaphore can only</span></div>
<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160;<span class="comment"> * be removed from a set if the queue or semaphore is empty.</span></div>
<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160;<span class="comment"> * See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this</span></div>
<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160;<span class="comment"> * function.</span></div>
<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160;<span class="comment"> * @param xQueueOrSemaphore The handle of the queue or semaphore being removed</span></div>
<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160;<span class="comment"> * from the queue set (cast to an QueueSetMemberHandle_t type).</span></div>
<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160;<span class="comment"> * @param xQueueSet The handle of the queue set in which the queue or semaphore</span></div>
<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160;<span class="comment"> * is included.</span></div>
<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160;<span class="comment"> * @return If the queue or semaphore was successfully removed from the queue set</span></div>
<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160;<span class="comment"> * then pdPASS is returned. If the queue was not in the queue set, or the</span></div>
<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160;<span class="comment"> * queue (or semaphore) was not empty, then pdFAIL is returned.</span></div>
<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l01598"></a><span class="lineno"><a class="line" href="queue_8h.html#ab16fdd17b9b6d74a82c8366f47cda162"> 1598</a></span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#ab16fdd17b9b6d74a82c8366f47cda162">xQueueRemoveFromSet</a>( <a class="code" href="queue_8h.html#a6c19a940d8fe07d338928ecea68b1776">QueueSetMemberHandle_t</a> xQueueOrSemaphore, <a class="code" href="queue_8h.html#a32a86d604e1706d72a5a4c62d8262f56">QueueSetHandle_t</a> xQueueSet ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160; </div>
<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160;<span class="comment"> * xQueueSelectFromSet() selects from the members of a queue set a queue or</span></div>
<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160;<span class="comment"> * semaphore that either contains data (in the case of a queue) or is available</span></div>
<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160;<span class="comment"> * to take (in the case of a semaphore). xQueueSelectFromSet() effectively</span></div>
<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160;<span class="comment"> * allows a task to block (pend) on a read operation on all the queues and</span></div>
<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160;<span class="comment"> * semaphores in a queue set simultaneously.</span></div>
<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160;<span class="comment"> * See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this</span></div>
<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160;<span class="comment"> * function.</span></div>
<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160;<span class="comment"> * Note 1: See the documentation on http://wwwFreeRTOS.org/RTOS-queue-sets.html</span></div>
<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160;<span class="comment"> * for reasons why queue sets are very rarely needed in practice as there are</span></div>
<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160;<span class="comment"> * simpler methods of blocking on multiple objects.</span></div>
<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160;<span class="comment"> * Note 2: Blocking on a queue set that contains a mutex will not cause the</span></div>
<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160;<span class="comment"> * mutex holder to inherit the priority of the blocked task.</span></div>
<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160;<span class="comment"> * Note 3: A receive (in the case of a queue) or take (in the case of a</span></div>
<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160;<span class="comment"> * semaphore) operation must not be performed on a member of a queue set unless</span></div>
<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160;<span class="comment"> * a call to xQueueSelectFromSet() has first returned a handle to that set member.</span></div>
<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160;<span class="comment"> * @param xQueueSet The queue set on which the task will (potentially) block.</span></div>
<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160;<span class="comment"> * @param xTicksToWait The maximum time, in ticks, that the calling task will</span></div>
<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160;<span class="comment"> * remain in the Blocked state (with other tasks executing) to wait for a member</span></div>
<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160;<span class="comment"> * of the queue set to be ready for a successful queue read or semaphore take</span></div>
<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160;<span class="comment"> * operation.</span></div>
<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160;<span class="comment"> * @return xQueueSelectFromSet() will return the handle of a queue (cast to</span></div>
<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160;<span class="comment"> * a QueueSetMemberHandle_t type) contained in the queue set that contains data,</span></div>
<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160;<span class="comment"> * or the handle of a semaphore (cast to a QueueSetMemberHandle_t type) contained</span></div>
<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160;<span class="comment"> * in the queue set that is available, or NULL if no such queue or semaphore</span></div>
<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160;<span class="comment"> * exists before before the specified block time expires.</span></div>
<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l01634"></a><span class="lineno"><a class="line" href="queue_8h.html#a71f56e6277ed4e419c707c8d0c785065"> 1634</a></span>&#160;<a class="code" href="queue_8h.html#a6c19a940d8fe07d338928ecea68b1776">QueueSetMemberHandle_t</a> <a class="code" href="queue_8h.html#a71f56e6277ed4e419c707c8d0c785065">xQueueSelectFromSet</a>( <a class="code" href="queue_8h.html#a32a86d604e1706d72a5a4c62d8262f56">QueueSetHandle_t</a> xQueueSet, <span class="keyword">const</span> <a class="code" href="portmacro_8h.html#aa69c48c6e902ce54f70886e6573c92a9">TickType_t</a> xTicksToWait ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160; </div>
<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160;<span class="comment"> * A version of xQueueSelectFromSet() that can be used from an ISR.</span></div>
<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l01639"></a><span class="lineno"><a class="line" href="queue_8h.html#ac58b34fd733cf460cddab1abb9a899b3"> 1639</a></span>&#160;<a class="code" href="queue_8h.html#a6c19a940d8fe07d338928ecea68b1776">QueueSetMemberHandle_t</a> <a class="code" href="queue_8h.html#ac58b34fd733cf460cddab1abb9a899b3">xQueueSelectFromSetFromISR</a>( <a class="code" href="queue_8h.html#a32a86d604e1706d72a5a4c62d8262f56">QueueSetHandle_t</a> xQueueSet ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160; </div>
<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160;<span class="comment">/* Not public API functions. */</span></div>
<div class="line"><a name="l01642"></a><span class="lineno"><a class="line" href="queue_8h.html#abaa0f8224837d82e60cf799127185546"> 1642</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="queue_8h.html#abaa0f8224837d82e60cf799127185546">vQueueWaitForMessageRestricted</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue, <a class="code" href="portmacro_8h.html#aa69c48c6e902ce54f70886e6573c92a9">TickType_t</a> xTicksToWait, <span class="keyword">const</span> <a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> xWaitIndefinitely ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160;<a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> <a class="code" href="queue_8h.html#a3c13a9fe455ec2d35b5f8386a1040599">xQueueGenericReset</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue, <a class="code" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> xNewQueue ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01644"></a><span class="lineno"><a class="line" href="queue_8h.html#a37c8b0ea8f2e6c5fa5082afb9721f986"> 1644</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="queue_8h.html#a37c8b0ea8f2e6c5fa5082afb9721f986">vQueueSetQueueNumber</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue, <a class="code" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a> uxQueueNumber ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01645"></a><span class="lineno"><a class="line" href="queue_8h.html#a7f7a4d9b75dcfbcefb2384da5df5290e"> 1645</a></span>&#160;<a class="code" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a> <a class="code" href="queue_8h.html#a7f7a4d9b75dcfbcefb2384da5df5290e">uxQueueGetQueueNumber</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01646"></a><span class="lineno"><a class="line" href="queue_8h.html#a9730db0a2f63acbf7197fa4150d7fe08"> 1646</a></span>&#160;uint8_t <a class="code" href="queue_8h.html#a9730db0a2f63acbf7197fa4150d7fe08">ucQueueGetQueueType</a>( <a class="code" href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a> xQueue ) <a class="code" href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a>;</div>
<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160; </div>
<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160; </div>
<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;}</div>
<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160; </div>
<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* QUEUE_H */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160; </div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aqueue_8h_html_ac72c90f499bd0a5b5a90d1d3b05cb0ca"><div class="ttname"><a href="queue_8h.html#ac72c90f499bd0a5b5a90d1d3b05cb0ca">xQueueGiveMutexRecursive</a></div><div class="ttdeci">BaseType_t xQueueGiveMutexRecursive(QueueHandle_t pxMutex) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="aqueue_8h_html_a71f56e6277ed4e419c707c8d0c785065"><div class="ttname"><a href="queue_8h.html#a71f56e6277ed4e419c707c8d0c785065">xQueueSelectFromSet</a></div><div class="ttdeci">QueueSetMemberHandle_t xQueueSelectFromSet(QueueSetHandle_t xQueueSet, const TickType_t xTicksToWait) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_af007b655ee91c919bad9cd2798195899"><div class="ttname"><a href="_free_r_t_o_s_8h.html#af007b655ee91c919bad9cd2798195899">vQueueUnregisterQueue</a></div><div class="ttdeci">#define vQueueUnregisterQueue(xQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:284</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a1f1f4a1fea93a33050fa6c27c30752d5"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a1f1f4a1fea93a33050fa6c27c30752d5">traceQUEUE_RECEIVE_FROM_ISR_FAILED</a></div><div class="ttdeci">#define traceQUEUE_RECEIVE_FROM_ISR_FAILED(pxQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:477</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_ad2d983d63b7d1c3d9208b14d3b76df53"><div class="ttname"><a href="_free_r_t_o_s_8h.html#ad2d983d63b7d1c3d9208b14d3b76df53">traceTAKE_MUTEX_RECURSIVE_FAILED</a></div><div class="ttdeci">#define traceTAKE_MUTEX_RECURSIVE_FAILED(pxMutex)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:425</div></div>
<div class="ttc" id="aprojdefs_8h_html_ae40de11e4044a83a97d2cb5d00ce608b"><div class="ttname"><a href="projdefs_8h.html#ae40de11e4044a83a97d2cb5d00ce608b">errQUEUE_FULL</a></div><div class="ttdeci">#define errQUEUE_FULL</div><div class="ttdef"><b>Definition:</b> projdefs.h:51</div></div>
<div class="ttc" id="aqueue_8c_html_acb67c81366c00896b21cd826e07d885d"><div class="ttname"><a href="queue_8c.html#acb67c81366c00896b21cd826e07d885d">xQueueGenericSend</a></div><div class="ttdeci">BaseType_t xQueueGenericSend(QueueHandle_t xQueue, const void *const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition)</div><div class="ttdef"><b>Definition:</b> queue.c:726</div></div>
<div class="ttc" id="acroutine_8h_html"><div class="ttname"><a href="croutine_8h.html">croutine.h</a></div></div>
<div class="ttc" id="atask_8h_html"><div class="ttname"><a href="task_8h.html">task.h</a></div></div>
<div class="ttc" id="astructx_l_i_s_t_html"><div class="ttname"><a href="structx_l_i_s_t.html">xLIST</a></div><div class="ttdef"><b>Definition:</b> list.h:165</div></div>
<div class="ttc" id="aqueue_8c_html_afe3f7afb2a02c085f2d634003902cbc0"><div class="ttname"><a href="queue_8c.html#afe3f7afb2a02c085f2d634003902cbc0">uxQueueType</a></div><div class="ttdeci">#define uxQueueType</div><div class="ttdef"><b>Definition:</b> queue.c:68</div></div>
<div class="ttc" id="astruct_queue_definition_html_a216cc99516d7f82573f6cb19f5a9f626"><div class="ttname"><a href="struct_queue_definition.html#a216cc99516d7f82573f6cb19f5a9f626">QueueDefinition::uxItemSize</a></div><div class="ttdeci">UBaseType_t uxItemSize</div><div class="ttdef"><b>Definition:</b> queue.c:106</div></div>
<div class="ttc" id="aqueue_8c_html_a2b09c2ec35345544f7c904da7c824a52"><div class="ttname"><a href="queue_8c.html#a2b09c2ec35345544f7c904da7c824a52">pxMutexHolder</a></div><div class="ttdeci">#define pxMutexHolder</div><div class="ttdef"><b>Definition:</b> queue.c:67</div></div>
<div class="ttc" id="atask_8h_html_a14513b7dd36055f73fba3c5ebbdc1b06"><div class="ttname"><a href="task_8h.html#a14513b7dd36055f73fba3c5ebbdc1b06">xTaskRemoveFromEventList</a></div><div class="ttdeci">BaseType_t xTaskRemoveFromEventList(const List_t *const pxEventList) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> tasks.c:2983</div></div>
<div class="ttc" id="atask_8h_html_a56ae23bc0dece4522d666959902221ca"><div class="ttname"><a href="task_8h.html#a56ae23bc0dece4522d666959902221ca">vTaskPlaceOnEventList</a></div><div class="ttdeci">void vTaskPlaceOnEventList(List_t *const pxEventList, const TickType_t xTicksToWait) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> tasks.c:2909</div></div>
<div class="ttc" id="aqueue_8h_html_ae07b563e6bbe42a977f7c46853aa11eb"><div class="ttname"><a href="queue_8h.html#ae07b563e6bbe42a977f7c46853aa11eb">xQueueAddToSet</a></div><div class="ttdeci">BaseType_t xQueueAddToSet(QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="aqueue_8h_html_ac0db78cd3f300adcf29d618d7a0ec6fa"><div class="ttname"><a href="queue_8h.html#ac0db78cd3f300adcf29d618d7a0ec6fa">xQueueGetMutexHolder</a></div><div class="ttdeci">void * xQueueGetMutexHolder(QueueHandle_t xSemaphore) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="astruct_queue_definition_html_afb61b3f2247402ed3b8b159311c408b7"><div class="ttname"><a href="struct_queue_definition.html#afb61b3f2247402ed3b8b159311c408b7">QueueDefinition::uxMessagesWaiting</a></div><div class="ttdeci">volatile UBaseType_t uxMessagesWaiting</div><div class="ttdef"><b>Definition:</b> queue.c:104</div></div>
<div class="ttc" id="aqueue_8h_html_aae75791e91707c1e0bb31d761921531c"><div class="ttname"><a href="queue_8h.html#aae75791e91707c1e0bb31d761921531c">uxQueueSpacesAvailable</a></div><div class="ttdeci">UBaseType_t uxQueueSpacesAvailable(const QueueHandle_t xQueue) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:1912</div></div>
<div class="ttc" id="aqueue_8h_html_a80af2aff3f472600a12dea0642fa8b27"><div class="ttname"><a href="queue_8h.html#a80af2aff3f472600a12dea0642fa8b27">xQueueCRSendFromISR</a></div><div class="ttdeci">BaseType_t xQueueCRSendFromISR(QueueHandle_t xQueue, const void *pvItemToQueue, BaseType_t xCoRoutinePreviouslyWoken)</div></div>
<div class="ttc" id="aheap__1_8c_html_a1e7cea2fd1bc894ea3b5f5e8179d259b"><div class="ttname"><a href="heap__1_8c.html#a1e7cea2fd1bc894ea3b5f5e8179d259b">vPortFree</a></div><div class="ttdeci">void vPortFree(void *pv)</div><div class="ttdef"><b>Definition:</b> heap_1.c:123</div></div>
<div class="ttc" id="aqueue_8c_html_ad0a166f3b1219a5e37e31f8090d4800d"><div class="ttname"><a href="queue_8c.html#ad0a166f3b1219a5e37e31f8090d4800d">xQueueReceive</a></div><div class="ttdeci">BaseType_t xQueueReceive(QueueHandle_t xQueue, void *const pvBuffer, TickType_t xTicksToWait)</div><div class="ttdef"><b>Definition:</b> queue.c:1240</div></div>
<div class="ttc" id="aqueue_8h_html_ad14ae1174c2772cffc9e0c2c45dc55a6"><div class="ttname"><a href="queue_8h.html#ad14ae1174c2772cffc9e0c2c45dc55a6">xQueueGiveFromISR</a></div><div class="ttdeci">BaseType_t xQueueGiveFromISR(QueueHandle_t xQueue, BaseType_t *const pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:1075</div></div>
<div class="ttc" id="alist_8c_html_aa0831d347bba16bfbe524f4faa790b9d"><div class="ttname"><a href="list_8c.html#aa0831d347bba16bfbe524f4faa790b9d">vListInitialise</a></div><div class="ttdeci">void vListInitialise(List_t *const pxList)</div><div class="ttdef"><b>Definition:</b> list.c:38</div></div>
<div class="ttc" id="aqueue_8h_html_a7f7a4d9b75dcfbcefb2384da5df5290e"><div class="ttname"><a href="queue_8h.html#a7f7a4d9b75dcfbcefb2384da5df5290e">uxQueueGetQueueNumber</a></div><div class="ttdeci">UBaseType_t uxQueueGetQueueNumber(QueueHandle_t xQueue) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="aqueue_8h_html_ab16fdd17b9b6d74a82c8366f47cda162"><div class="ttname"><a href="queue_8h.html#ab16fdd17b9b6d74a82c8366f47cda162">xQueueRemoveFromSet</a></div><div class="ttdeci">BaseType_t xQueueRemoveFromSet(QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="aqueue_8c_html_adb4472163ac5b0e8ad72183d69387b81"><div class="ttname"><a href="queue_8c.html#adb4472163ac5b0e8ad72183d69387b81">queueYIELD_IF_USING_PREEMPTION</a></div><div class="ttdeci">#define queueYIELD_IF_USING_PREEMPTION()</div><div class="ttdef"><b>Definition:</b> queue.c:81</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a6b41ab1bbdaa0eb7f8e790602ed21077"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a6b41ab1bbdaa0eb7f8e790602ed21077">traceGIVE_MUTEX_RECURSIVE_FAILED</a></div><div class="ttdeci">#define traceGIVE_MUTEX_RECURSIVE_FAILED(pxMutex)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:417</div></div>
<div class="ttc" id="astruct_queue_definition_html_a2017e9e2e81e1fd301fa88236614653e"><div class="ttname"><a href="struct_queue_definition.html#a2017e9e2e81e1fd301fa88236614653e">QueueDefinition::cRxLock</a></div><div class="ttdeci">volatile int8_t cRxLock</div><div class="ttdef"><b>Definition:</b> queue.c:108</div></div>
<div class="ttc" id="ampu__wrappers_8h_html_a56a0b54ca924c56d192d4389ba585ed5"><div class="ttname"><a href="mpu__wrappers_8h.html#a56a0b54ca924c56d192d4389ba585ed5">PRIVILEGED_DATA</a></div><div class="ttdeci">#define PRIVILEGED_DATA</div><div class="ttdef"><b>Definition:</b> mpu_wrappers.h:175</div></div>
<div class="ttc" id="alist_8h_html_a18b4aded515bdc512017ea6e677a13bb"><div class="ttname"><a href="list_8h.html#a18b4aded515bdc512017ea6e677a13bb">listCURRENT_LIST_LENGTH</a></div><div class="ttdeci">#define listCURRENT_LIST_LENGTH(pxList)</div><div class="ttdef"><b>Definition:</b> list.h:255</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a2f326b01ad82a3ab14cc9fc4b3abd6b8"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a2f326b01ad82a3ab14cc9fc4b3abd6b8">traceQUEUE_REGISTRY_ADD</a></div><div class="ttdeci">#define traceQUEUE_REGISTRY_ADD(xQueue, pcQueueName)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:609</div></div>
<div class="ttc" id="aprojdefs_8h_html_a99e2866c8cf4fe86db87dab62e7d6aa6"><div class="ttname"><a href="projdefs_8h.html#a99e2866c8cf4fe86db87dab62e7d6aa6">pdFAIL</a></div><div class="ttdeci">#define pdFAIL</div><div class="ttdef"><b>Definition:</b> projdefs.h:49</div></div>
<div class="ttc" id="atask_8h_html_a9bff8681d5ed262e71b92805ca0da909"><div class="ttname"><a href="task_8h.html#a9bff8681d5ed262e71b92805ca0da909">vTaskInternalSetTimeOutState</a></div><div class="ttdeci">void vTaskInternalSetTimeOutState(TimeOut_t *const pxTimeOut) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> tasks.c:3097</div></div>
<div class="ttc" id="aqueue_8c_html_ade16d14675fc1ac34af04a1162a6b883"><div class="ttname"><a href="queue_8c.html#ade16d14675fc1ac34af04a1162a6b883">Queue_t</a></div><div class="ttdeci">xQUEUE Queue_t</div><div class="ttdef"><b>Definition:</b> queue.c:128</div></div>
<div class="ttc" id="acroutine_8h_html_a6b5b1c5857d38b79c96636754208e32d"><div class="ttname"><a href="croutine_8h.html#a6b5b1c5857d38b79c96636754208e32d">vCoRoutineAddToDelayedList</a></div><div class="ttdeci">void vCoRoutineAddToDelayedList(TickType_t xTicksToDelay, List_t *pxEventList)</div></div>
<div class="ttc" id="aprojdefs_8h_html_a4a7ca54ee5527cd7a14830956e05ea55"><div class="ttname"><a href="projdefs_8h.html#a4a7ca54ee5527cd7a14830956e05ea55">errQUEUE_BLOCKED</a></div><div class="ttdeci">#define errQUEUE_BLOCKED</div><div class="ttdef"><b>Definition:</b> projdefs.h:55</div></div>
<div class="ttc" id="aqueue_8h_html_abccf1c95aa0942f8df163d414010542b"><div class="ttname"><a href="queue_8h.html#abccf1c95aa0942f8df163d414010542b">queueQUEUE_TYPE_COUNTING_SEMAPHORE</a></div><div class="ttdeci">#define queueQUEUE_TYPE_COUNTING_SEMAPHORE</div><div class="ttdef"><b>Definition:</b> queue.h:72</div></div>
<div class="ttc" id="aqueue_8h_html_a9b8e1b1d5d9952bd0121ae71cf3aba8d"><div class="ttname"><a href="queue_8h.html#a9b8e1b1d5d9952bd0121ae71cf3aba8d">queueQUEUE_TYPE_SET</a></div><div class="ttdeci">#define queueQUEUE_TYPE_SET</div><div class="ttdef"><b>Definition:</b> queue.h:70</div></div>
<div class="ttc" id="astruct_queue_definition_html_ab82fde395583afddc970865ec7d92a10"><div class="ttname"><a href="struct_queue_definition.html#ab82fde395583afddc970865ec7d92a10">QueueDefinition::u</a></div><div class="ttdeci">union QueueDefinition::@2 u</div></div>
<div class="ttc" id="aqueue_8c_html_ad9a2e17b2b13d4878f7af1361437320e"><div class="ttname"><a href="queue_8c.html#ad9a2e17b2b13d4878f7af1361437320e">prvCopyDataFromQueue</a></div><div class="ttdeci">static void prvCopyDataFromQueue(Queue_t *const pxQueue, void *const pvBuffer) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:2120</div></div>
<div class="ttc" id="aqueue_8h_html_a88a02b37c486c38b8c4112e16dfed099"><div class="ttname"><a href="queue_8h.html#a88a02b37c486c38b8c4112e16dfed099">xQueueCRReceive</a></div><div class="ttdeci">BaseType_t xQueueCRReceive(QueueHandle_t xQueue, void *pvBuffer, TickType_t xTicksToWait)</div></div>
<div class="ttc" id="atask_8h_html_a3b018a85d339e536a6c05748dd666a3a"><div class="ttname"><a href="task_8h.html#a3b018a85d339e536a6c05748dd666a3a">xTaskCheckForTimeOut</a></div><div class="ttdeci">BaseType_t xTaskCheckForTimeOut(TimeOut_t *const pxTimeOut, TickType_t *const pxTicksToWait) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> tasks.c:3105</div></div>
<div class="ttc" id="aqueue_8h_html_a263711eb0124112e828a18fd4b8ab29d"><div class="ttname"><a href="queue_8h.html#a263711eb0124112e828a18fd4b8ab29d">xQueueGenericSendFromISR</a></div><div class="ttdeci">BaseType_t xQueueGenericSendFromISR(QueueHandle_t xQueue, const void *const pvItemToQueue, BaseType_t *const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:924</div></div>
<div class="ttc" id="astruct_queue_definition_html_a619169da78e43281a73fbdf13f9eddfb"><div class="ttname"><a href="struct_queue_definition.html#a619169da78e43281a73fbdf13f9eddfb">QueueDefinition::uxLength</a></div><div class="ttdeci">UBaseType_t uxLength</div><div class="ttdef"><b>Definition:</b> queue.c:105</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a82b39aa722910a5e43793e882ded0faf"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a82b39aa722910a5e43793e882ded0faf">traceQUEUE_RECEIVE</a></div><div class="ttdeci">#define traceQUEUE_RECEIVE(pxQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:445</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_ae9c520a136753cfb579e5caac11077a6"><div class="ttname"><a href="_free_r_t_o_s_8h.html#ae9c520a136753cfb579e5caac11077a6">pcQueueGetName</a></div><div class="ttdeci">#define pcQueueGetName(xQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:285</div></div>
<div class="ttc" id="aqueue_8c_html_a60a95aa91f84782416755f38616231fd"><div class="ttname"><a href="queue_8c.html#a60a95aa91f84782416755f38616231fd">queueLOCKED_UNMODIFIED</a></div><div class="ttdeci">#define queueLOCKED_UNMODIFIED</div><div class="ttdef"><b>Definition:</b> queue.c:54</div></div>
<div class="ttc" id="astruct_queue_definition_html_a77c52e94671f477fd2942db97e20838b"><div class="ttname"><a href="struct_queue_definition.html#a77c52e94671f477fd2942db97e20838b">QueueDefinition::cTxLock</a></div><div class="ttdeci">volatile int8_t cTxLock</div><div class="ttdef"><b>Definition:</b> queue.c:109</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_afa4b34739a92eb44f09947a669c98fb7"><div class="ttname"><a href="_free_r_t_o_s_8h.html#afa4b34739a92eb44f09947a669c98fb7">traceQUEUE_PEEK_FAILED</a></div><div class="ttdeci">#define traceQUEUE_PEEK_FAILED(pxQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:453</div></div>
<div class="ttc" id="atask_8h_html_a366b302eba79d10b5ee2a3756f0fcc43"><div class="ttname"><a href="task_8h.html#a366b302eba79d10b5ee2a3756f0fcc43">vTaskSuspendAll</a></div><div class="ttdeci">void vTaskSuspendAll(void) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> tasks.c:2031</div></div>
<div class="ttc" id="aqueue_8h_html_abb5d7bd9b62f2b642104fde73c1c666b"><div class="ttname"><a href="queue_8h.html#abb5d7bd9b62f2b642104fde73c1c666b">xQueueCRSend</a></div><div class="ttdeci">BaseType_t xQueueCRSend(QueueHandle_t xQueue, const void *pvItemToQueue, TickType_t xTicksToWait)</div></div>
<div class="ttc" id="aqueue_8h_html_ad66b08c1d6a17efa8985605bf182b997"><div class="ttname"><a href="queue_8h.html#ad66b08c1d6a17efa8985605bf182b997">xQueueCRReceiveFromISR</a></div><div class="ttdeci">BaseType_t xQueueCRReceiveFromISR(QueueHandle_t xQueue, void *pvBuffer, BaseType_t *pxTaskWoken)</div></div>
<div class="ttc" id="aqueue_8h_html_a124567e9fc3a37b99f7e184ae98de9f8"><div class="ttname"><a href="queue_8h.html#a124567e9fc3a37b99f7e184ae98de9f8">xQueueSemaphoreTake</a></div><div class="ttdeci">BaseType_t xQueueSemaphoreTake(QueueHandle_t xQueue, TickType_t xTicksToWait) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:1382</div></div>
<div class="ttc" id="astruct_queue_definition_html_a5cfd8ae6db5da134ed16405043a0d898"><div class="ttname"><a href="struct_queue_definition.html#a5cfd8ae6db5da134ed16405043a0d898">QueueDefinition::xTasksWaitingToSend</a></div><div class="ttdeci">List_t xTasksWaitingToSend</div><div class="ttdef"><b>Definition:</b> queue.c:101</div></div>
<div class="ttc" id="aqueue_8h_html_a81319b3aa562733957c5a12a088516d3"><div class="ttname"><a href="queue_8h.html#a81319b3aa562733957c5a12a088516d3">xQueueIsQueueFullFromISR</a></div><div class="ttdeci">BaseType_t xQueueIsQueueFullFromISR(const QueueHandle_t xQueue) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:2318</div></div>
<div class="ttc" id="aqueue_8c_html_ad5d110bc27c691ff8da238e0116bf92a"><div class="ttname"><a href="queue_8c.html#ad5d110bc27c691ff8da238e0116bf92a">uxQueueMessagesWaitingFromISR</a></div><div class="ttdeci">UBaseType_t uxQueueMessagesWaitingFromISR(const QueueHandle_t xQueue)</div><div class="ttdef"><b>Definition:</b> queue.c:1930</div></div>
<div class="ttc" id="aqueue_8c_html_a5e54273dbe3f56b8bdc8f7abee67a871"><div class="ttname"><a href="queue_8c.html#a5e54273dbe3f56b8bdc8f7abee67a871">xQueueGenericReset</a></div><div class="ttdeci">BaseType_t xQueueGenericReset(QueueHandle_t xQueue, BaseType_t xNewQueue)</div><div class="ttdef"><b>Definition:</b> queue.c:248</div></div>
<div class="ttc" id="aprojdefs_8h_html_a07848d3078849bd32353c69d30a479b3"><div class="ttname"><a href="projdefs_8h.html#a07848d3078849bd32353c69d30a479b3">pdPASS</a></div><div class="ttdeci">#define pdPASS</div><div class="ttdef"><b>Definition:</b> projdefs.h:48</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a088b831fdffacf61abf9c7312a2386ad"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a088b831fdffacf61abf9c7312a2386ad">traceTAKE_MUTEX_RECURSIVE</a></div><div class="ttdeci">#define traceTAKE_MUTEX_RECURSIVE(pxMutex)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:421</div></div>
<div class="ttc" id="ampu__wrappers_8h_html_a4785c4f4a8c04b835139dcc2a6682078"><div class="ttname"><a href="mpu__wrappers_8h.html#a4785c4f4a8c04b835139dcc2a6682078">PRIVILEGED_FUNCTION</a></div><div class="ttdeci">#define PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> mpu_wrappers.h:174</div></div>
<div class="ttc" id="aqueue_8c_html_a0f632268707981dea3f177f5fba36e22"><div class="ttname"><a href="queue_8c.html#a0f632268707981dea3f177f5fba36e22">prvInitialiseNewQueue</a></div><div class="ttdeci">static void prvInitialiseNewQueue(const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t *pucQueueStorage, const uint8_t ucQueueType, Queue_t *pxNewQueue) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:409</div></div>
<div class="ttc" id="astruct_queue_definition_html_adfa75f7bc22a3a58a907676c0164a1c1"><div class="ttname"><a href="struct_queue_definition.html#adfa75f7bc22a3a58a907676c0164a1c1">QueueDefinition::pcHead</a></div><div class="ttdeci">int8_t * pcHead</div><div class="ttdef"><b>Definition:</b> queue.c:91</div></div>
<div class="ttc" id="astruct_queue_definition_html_ae3c791284df4f19b849e56f972b13db4"><div class="ttname"><a href="struct_queue_definition.html#ae3c791284df4f19b849e56f972b13db4">QueueDefinition::uxRecursiveCallCount</a></div><div class="ttdeci">UBaseType_t uxRecursiveCallCount</div><div class="ttdef"><b>Definition:</b> queue.c:98</div></div>
<div class="ttc" id="astructx_s_t_a_t_i_c___q_u_e_u_e_html"><div class="ttname"><a href="structx_s_t_a_t_i_c___q_u_e_u_e.html">xSTATIC_QUEUE</a></div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:1048</div></div>
<div class="ttc" id="aportmacro_8h_html_aa69c48c6e902ce54f70886e6573c92a9"><div class="ttname"><a href="portmacro_8h.html#aa69c48c6e902ce54f70886e6573c92a9">TickType_t</a></div><div class="ttdeci">uint32_t TickType_t</div><div class="ttdef"><b>Definition:</b> portmacro.h:64</div></div>
<div class="ttc" id="aqueue_8c_html_acdb781ba6b38714cf41f7417de8fe6bf"><div class="ttname"><a href="queue_8c.html#acdb781ba6b38714cf41f7417de8fe6bf">queueUNLOCKED</a></div><div class="ttdeci">#define queueUNLOCKED</div><div class="ttdef"><b>Definition:</b> queue.c:53</div></div>
<div class="ttc" id="atask_8h_html_aa1a0ae86baba1a7edda940a6ecd4cfb4"><div class="ttname"><a href="task_8h.html#aa1a0ae86baba1a7edda940a6ecd4cfb4">pvTaskIncrementMutexHeldCount</a></div><div class="ttdeci">void * pvTaskIncrementMutexHeldCount(void) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="aqueue_8c_html_a4df49fafb6ba4400ede6f2d07a40865f"><div class="ttname"><a href="queue_8c.html#a4df49fafb6ba4400ede6f2d07a40865f">xQueueGiveFromISR</a></div><div class="ttdeci">BaseType_t xQueueGiveFromISR(QueueHandle_t xQueue, BaseType_t *const pxHigherPriorityTaskWoken)</div><div class="ttdef"><b>Definition:</b> queue.c:1075</div></div>
<div class="ttc" id="aqueue_8h_html_a601cb15993988a393676a9df74b067bd"><div class="ttname"><a href="queue_8h.html#a601cb15993988a393676a9df74b067bd">xQueueCreateCountingSemaphoreStatic</a></div><div class="ttdeci">QueueHandle_t xQueueCreateCountingSemaphoreStatic(const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount, StaticQueue_t *pxStaticQueue) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a71fa002ce8a199d38e697d94c613649f"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a71fa002ce8a199d38e697d94c613649f">traceQUEUE_SEND_FROM_ISR_FAILED</a></div><div class="ttdeci">#define traceQUEUE_SEND_FROM_ISR_FAILED(pxQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:469</div></div>
<div class="ttc" id="aqueue_8h_html_abaa0f8224837d82e60cf799127185546"><div class="ttname"><a href="queue_8h.html#abaa0f8224837d82e60cf799127185546">vQueueWaitForMessageRestricted</a></div><div class="ttdeci">void vQueueWaitForMessageRestricted(QueueHandle_t xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a3e2a14b61c26f9690deb26d76cc801ee"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a3e2a14b61c26f9690deb26d76cc801ee">traceQUEUE_PEEK_FROM_ISR</a></div><div class="ttdeci">#define traceQUEUE_PEEK_FROM_ISR(pxQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:457</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_ab4896b8d7e443200918a6e4a7f64585d"><div class="ttname"><a href="_free_r_t_o_s_8h.html#ab4896b8d7e443200918a6e4a7f64585d">traceQUEUE_SEND_FAILED</a></div><div class="ttdeci">#define traceQUEUE_SEND_FAILED(pxQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:441</div></div>
<div class="ttc" id="astruct_queue_definition_html_af716fa534e7d09f91df1fbdd8ab7a693"><div class="ttname"><a href="struct_queue_definition.html#af716fa534e7d09f91df1fbdd8ab7a693">QueueDefinition::pcReadFrom</a></div><div class="ttdeci">int8_t * pcReadFrom</div><div class="ttdef"><b>Definition:</b> queue.c:97</div></div>
<div class="ttc" id="aqueue_8c_html_ac61ec62828e70ed35d18559a35550462"><div class="ttname"><a href="queue_8c.html#ac61ec62828e70ed35d18559a35550462">xQueueReceiveFromISR</a></div><div class="ttdeci">BaseType_t xQueueReceiveFromISR(QueueHandle_t xQueue, void *const pvBuffer, BaseType_t *const pxHigherPriorityTaskWoken)</div><div class="ttdef"><b>Definition:</b> queue.c:1751</div></div>
<div class="ttc" id="alist_8h_html_a63742b27958b959ac9ab69d8e9aed241"><div class="ttname"><a href="list_8h.html#a63742b27958b959ac9ab69d8e9aed241">listGET_ITEM_VALUE_OF_HEAD_ENTRY</a></div><div class="ttdeci">#define listGET_ITEM_VALUE_OF_HEAD_ENTRY(pxList)</div><div class="ttdef"><b>Definition:</b> list.h:217</div></div>
<div class="ttc" id="aqueue_8h_html_a74e27d539a884589ebbbdfcc371a48cd"><div class="ttname"><a href="queue_8h.html#a74e27d539a884589ebbbdfcc371a48cd">xQueueTakeMutexRecursive</a></div><div class="ttdeci">BaseType_t xQueueTakeMutexRecursive(QueueHandle_t xMutex, TickType_t xTicksToWait) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="atask_8h_html_ab7bf0ae866292ba8296091a9d5209689"><div class="ttname"><a href="task_8h.html#ab7bf0ae866292ba8296091a9d5209689">taskENTER_CRITICAL</a></div><div class="ttdeci">#define taskENTER_CRITICAL()</div><div class="ttdef"><b>Definition:</b> task.h:179</div></div>
<div class="ttc" id="aqueue_8h_html_a5bb1c4a46d4b08b6d35cf586983476ef"><div class="ttname"><a href="queue_8h.html#a5bb1c4a46d4b08b6d35cf586983476ef">queueOVERWRITE</a></div><div class="ttdeci">#define queueOVERWRITE</div><div class="ttdef"><b>Definition:</b> queue.h:66</div></div>
<div class="ttc" id="aprojdefs_8h_html_aa56260e937e7e203026707e5ba944273"><div class="ttname"><a href="projdefs_8h.html#aa56260e937e7e203026707e5ba944273">pdFALSE</a></div><div class="ttdeci">#define pdFALSE</div><div class="ttdef"><b>Definition:</b> projdefs.h:45</div></div>
<div class="ttc" id="aqueue_8h_html_a2bab773f100e4945e6ba8a7924b85f50"><div class="ttname"><a href="queue_8h.html#a2bab773f100e4945e6ba8a7924b85f50">xQueueGetMutexHolderFromISR</a></div><div class="ttdeci">void * xQueueGetMutexHolderFromISR(QueueHandle_t xSemaphore) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="aqueue_8c_html_af67763957452955ac663c374d71278ce"><div class="ttname"><a href="queue_8c.html#af67763957452955ac663c374d71278ce">xQueuePeekFromISR</a></div><div class="ttdeci">BaseType_t xQueuePeekFromISR(QueueHandle_t xQueue, void *const pvBuffer)</div><div class="ttdef"><b>Definition:</b> queue.c:1842</div></div>
<div class="ttc" id="aqueue_8h_html_a32a86d604e1706d72a5a4c62d8262f56"><div class="ttname"><a href="queue_8h.html#a32a86d604e1706d72a5a4c62d8262f56">QueueSetHandle_t</a></div><div class="ttdeci">void * QueueSetHandle_t</div><div class="ttdef"><b>Definition:</b> queue.h:54</div></div>
<div class="ttc" id="a_free_r_t_o_s_config_8h_html_a9a78f5ac61e6cb172dadf2a51f11db38"><div class="ttname"><a href="_free_r_t_o_s_config_8h.html#a9a78f5ac61e6cb172dadf2a51f11db38">configMAX_PRIORITIES</a></div><div class="ttdeci">#define configMAX_PRIORITIES</div><div class="ttdef"><b>Definition:</b> FreeRTOSConfig.h:22</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a2eff67edaee170b33b549966d8b99b47"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a2eff67edaee170b33b549966d8b99b47">traceCREATE_MUTEX</a></div><div class="ttdeci">#define traceCREATE_MUTEX(pxNewQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:405</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a22e8979e2849d002747c0dd4c7c37908"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a22e8979e2849d002747c0dd4c7c37908">StaticQueue_t</a></div><div class="ttdeci">struct xSTATIC_QUEUE StaticQueue_t</div></div>
<div class="ttc" id="aqueue_8h_html_a4d78fa863fbeb90425a2dda08fae8b12"><div class="ttname"><a href="queue_8h.html#a4d78fa863fbeb90425a2dda08fae8b12">queueSEND_TO_BACK</a></div><div class="ttdeci">#define queueSEND_TO_BACK</div><div class="ttdef"><b>Definition:</b> queue.h:64</div></div>
<div class="ttc" id="aqueue_8h_html_aa11139c58f4eecaa0c50078f2976d010"><div class="ttname"><a href="queue_8h.html#aa11139c58f4eecaa0c50078f2976d010">xQueueIsQueueEmptyFromISR</a></div><div class="ttdeci">BaseType_t xQueueIsQueueEmptyFromISR(const QueueHandle_t xQueue) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:2279</div></div>
<div class="ttc" id="aportmacro_8h_html_a646f89d4298e4f5afd522202b11cb2e6"><div class="ttname"><a href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a></div><div class="ttdeci">unsigned long UBaseType_t</div><div class="ttdef"><b>Definition:</b> portmacro.h:58</div></div>
<div class="ttc" id="aqueue_8c_html_ae4efd14c0f4dee7f189ef2e4d9ce1f1b"><div class="ttname"><a href="queue_8c.html#ae4efd14c0f4dee7f189ef2e4d9ce1f1b">prvLockQueue</a></div><div class="ttdeci">#define prvLockQueue(pxQueue)</div><div class="ttdef"><b>Definition:</b> queue.c:233</div></div>
<div class="ttc" id="aqueue_8h_html_ac402adf98be1fb8ca0345f30dc11a9dc"><div class="ttname"><a href="queue_8h.html#ac402adf98be1fb8ca0345f30dc11a9dc">xQueuePeekFromISR</a></div><div class="ttdeci">BaseType_t xQueuePeekFromISR(QueueHandle_t xQueue, void *const pvBuffer) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:1842</div></div>
<div class="ttc" id="astructx_t_i_m_e___o_u_t_html"><div class="ttname"><a href="structx_t_i_m_e___o_u_t.html">xTIME_OUT</a></div><div class="ttdef"><b>Definition:</b> task.h:95</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_acd24b909ecdd18ed844cdede3027e534"><div class="ttname"><a href="_free_r_t_o_s_8h.html#acd24b909ecdd18ed844cdede3027e534">traceQUEUE_PEEK</a></div><div class="ttdeci">#define traceQUEUE_PEEK(pxQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:449</div></div>
<div class="ttc" id="aqueue_8h_html_ae8364d988c6f9b63c771cc2b3dfe5df9"><div class="ttname"><a href="queue_8h.html#ae8364d988c6f9b63c771cc2b3dfe5df9">xQueueReceive</a></div><div class="ttdeci">BaseType_t xQueueReceive(QueueHandle_t xQueue, void *const pvBuffer, TickType_t xTicksToWait) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:1240</div></div>
<div class="ttc" id="aportmacro_8h_html_a6e3d10ee1a0734a647ca192523c2cfc1"><div class="ttname"><a href="portmacro_8h.html#a6e3d10ee1a0734a647ca192523c2cfc1">portDISABLE_INTERRUPTS</a></div><div class="ttdeci">#define portDISABLE_INTERRUPTS()</div><div class="ttdef"><b>Definition:</b> portmacro.h:105</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a72ea0f09cc6a38363f2b5217aab27fd3"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a72ea0f09cc6a38363f2b5217aab27fd3">traceQUEUE_PEEK_FROM_ISR_FAILED</a></div><div class="ttdeci">#define traceQUEUE_PEEK_FROM_ISR_FAILED(pxQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:481</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a9484f4523e4bec2ab2dc233f2556c3c5"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a9484f4523e4bec2ab2dc233f2556c3c5">traceBLOCKING_ON_QUEUE_SEND</a></div><div class="ttdeci">#define traceBLOCKING_ON_QUEUE_SEND(pxQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:371</div></div>
<div class="ttc" id="aqueue_8h_html"><div class="ttname"><a href="queue_8h.html">queue.h</a></div></div>
<div class="ttc" id="aqueue_8h_html_a3f9e430276fe5244417fd82644ec8a75"><div class="ttname"><a href="queue_8h.html#a3f9e430276fe5244417fd82644ec8a75">xQueuePeek</a></div><div class="ttdeci">BaseType_t xQueuePeek(QueueHandle_t xQueue, void *const pvBuffer, TickType_t xTicksToWait) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:1601</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a3803714a43519a6bfc93dadfa255bf14"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a3803714a43519a6bfc93dadfa255bf14">traceCREATE_COUNTING_SEMAPHORE</a></div><div class="ttdeci">#define traceCREATE_COUNTING_SEMAPHORE()</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:429</div></div>
<div class="ttc" id="aqueue_8c_html_a76bbe8ebd21b3e89784e865d06f1058c"><div class="ttname"><a href="queue_8c.html#a76bbe8ebd21b3e89784e865d06f1058c">xQueueIsQueueFullFromISR</a></div><div class="ttdeci">BaseType_t xQueueIsQueueFullFromISR(const QueueHandle_t xQueue)</div><div class="ttdef"><b>Definition:</b> queue.c:2318</div></div>
<div class="ttc" id="alist_8h_html_aaba6eb05d67ebc8026bea29193eca28f"><div class="ttname"><a href="list_8h.html#aaba6eb05d67ebc8026bea29193eca28f">listLIST_IS_EMPTY</a></div><div class="ttdeci">#define listLIST_IS_EMPTY(pxList)</div><div class="ttdef"><b>Definition:</b> list.h:250</div></div>
<div class="ttc" id="aqueue_8c_html_a77098159b7735e0c27e27aa7072376c6"><div class="ttname"><a href="queue_8c.html#a77098159b7735e0c27e27aa7072376c6">prvCopyDataToQueue</a></div><div class="ttdeci">static BaseType_t prvCopyDataToQueue(Queue_t *const pxQueue, const void *pvItemToQueue, const BaseType_t xPosition) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:2041</div></div>
<div class="ttc" id="aqueue_8h_html_acdf528f5c91131ae2f31c669cfd65758"><div class="ttname"><a href="queue_8h.html#acdf528f5c91131ae2f31c669cfd65758">xQueueReceiveFromISR</a></div><div class="ttdeci">BaseType_t xQueueReceiveFromISR(QueueHandle_t xQueue, void *const pvBuffer, BaseType_t *const pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:1751</div></div>
<div class="ttc" id="aqueue_8h_html_add7ee0701ba35904d190811b9e5a4eda"><div class="ttname"><a href="queue_8h.html#add7ee0701ba35904d190811b9e5a4eda">uxQueueMessagesWaiting</a></div><div class="ttdeci">UBaseType_t uxQueueMessagesWaiting(const QueueHandle_t xQueue) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:1896</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_aa42efc6b6938c6f2a5f04c7367f59b22"><div class="ttname"><a href="_free_r_t_o_s_8h.html#aa42efc6b6938c6f2a5f04c7367f59b22">traceGIVE_MUTEX_RECURSIVE</a></div><div class="ttdeci">#define traceGIVE_MUTEX_RECURSIVE(pxMutex)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:413</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_ace59eac86a08f533c19edf91594961c6"><div class="ttname"><a href="_free_r_t_o_s_8h.html#ace59eac86a08f533c19edf91594961c6">traceQUEUE_RECEIVE_FROM_ISR</a></div><div class="ttdeci">#define traceQUEUE_RECEIVE_FROM_ISR(pxQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:473</div></div>
<div class="ttc" id="astruct_queue_definition_html"><div class="ttname"><a href="struct_queue_definition.html">QueueDefinition</a></div><div class="ttdef"><b>Definition:</b> queue.c:90</div></div>
<div class="ttc" id="a_free_r_t_o_s_config_8h_html_aa4b5138c4e42a180f0abd4f2455f90fb"><div class="ttname"><a href="_free_r_t_o_s_config_8h.html#aa4b5138c4e42a180f0abd4f2455f90fb">configQUEUE_REGISTRY_SIZE</a></div><div class="ttdeci">#define configQUEUE_REGISTRY_SIZE</div><div class="ttdef"><b>Definition:</b> FreeRTOSConfig.h:27</div></div>
<div class="ttc" id="atask_8h_html_aa11e6a58d2534fe91ed8ee3a02c9b5e0"><div class="ttname"><a href="task_8h.html#aa11e6a58d2534fe91ed8ee3a02c9b5e0">vTaskPriorityDisinheritAfterTimeout</a></div><div class="ttdeci">void vTaskPriorityDisinheritAfterTimeout(TaskHandle_t const pxMutexHolder, UBaseType_t uxHighestPriorityWaitingTask) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="astruct_queue_definition_html_a8ad185d9d83713c774e6a897580d8313"><div class="ttname"><a href="struct_queue_definition.html#a8ad185d9d83713c774e6a897580d8313">QueueDefinition::xTasksWaitingToReceive</a></div><div class="ttdeci">List_t xTasksWaitingToReceive</div><div class="ttdef"><b>Definition:</b> queue.c:102</div></div>
<div class="ttc" id="atask_8h_html_a0cad071ca127a35df93166e9ed5b6ada"><div class="ttname"><a href="task_8h.html#a0cad071ca127a35df93166e9ed5b6ada">taskSCHEDULER_SUSPENDED</a></div><div class="ttdeci">#define taskSCHEDULER_SUSPENDED</div><div class="ttdef"><b>Definition:</b> task.h:219</div></div>
<div class="ttc" id="aqueue_8c_html_a70546f6b48a8b715eae3dd84e0546045"><div class="ttname"><a href="queue_8c.html#a70546f6b48a8b715eae3dd84e0546045">prvIsQueueFull</a></div><div class="ttdeci">static BaseType_t prvIsQueueFull(const Queue_t *pxQueue) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:2297</div></div>
<div class="ttc" id="aqueue_8h_html_ac74677a8d243c76843c25fdb06436043"><div class="ttname"><a href="queue_8h.html#ac74677a8d243c76843c25fdb06436043">xQueueCreateCountingSemaphore</a></div><div class="ttdeci">QueueHandle_t xQueueCreateCountingSemaphore(const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="aqueue_8c_html_a4158a6134c9d1c60ffdb18d279d475b1"><div class="ttname"><a href="queue_8c.html#a4158a6134c9d1c60ffdb18d279d475b1">uxQueueMessagesWaiting</a></div><div class="ttdeci">UBaseType_t uxQueueMessagesWaiting(const QueueHandle_t xQueue)</div><div class="ttdef"><b>Definition:</b> queue.c:1896</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html"><div class="ttname"><a href="_free_r_t_o_s_8h.html">FreeRTOS.h</a></div></div>
<div class="ttc" id="aprojdefs_8h_html_a3b2e2afaa2851576dfc2779a7fea59b4"><div class="ttname"><a href="projdefs_8h.html#a3b2e2afaa2851576dfc2779a7fea59b4">errQUEUE_YIELD</a></div><div class="ttdeci">#define errQUEUE_YIELD</div><div class="ttdef"><b>Definition:</b> projdefs.h:56</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a590bfae4dcb6be8a4b3daadf09a1b587"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a590bfae4dcb6be8a4b3daadf09a1b587">traceQUEUE_SEND_FROM_ISR</a></div><div class="ttdeci">#define traceQUEUE_SEND_FROM_ISR(pxQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:465</div></div>
<div class="ttc" id="aprojdefs_8h_html_a4d79b09954b1efa73ad8d87a36b4a575"><div class="ttname"><a href="projdefs_8h.html#a4d79b09954b1efa73ad8d87a36b4a575">errQUEUE_EMPTY</a></div><div class="ttdeci">#define errQUEUE_EMPTY</div><div class="ttdef"><b>Definition:</b> projdefs.h:50</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a10f75d20c71c4289f96d1b89cb6c62e2"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a10f75d20c71c4289f96d1b89cb6c62e2">portASSERT_IF_INTERRUPT_PRIORITY_INVALID</a></div><div class="ttdeci">#define portASSERT_IF_INTERRUPT_PRIORITY_INVALID()</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:779</div></div>
<div class="ttc" id="aqueue_8h_html_acac7df114346b4219bc2aab79cac35b5"><div class="ttname"><a href="queue_8h.html#acac7df114346b4219bc2aab79cac35b5">xQueueCreateMutex</a></div><div class="ttdeci">QueueHandle_t xQueueCreateMutex(const uint8_t ucQueueType) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="aportmacro_8h_html_abc47e85a6befbb47961ad5ee7aa57173"><div class="ttname"><a href="portmacro_8h.html#abc47e85a6befbb47961ad5ee7aa57173">portENABLE_INTERRUPTS</a></div><div class="ttdeci">#define portENABLE_INTERRUPTS()</div><div class="ttdef"><b>Definition:</b> portmacro.h:106</div></div>
<div class="ttc" id="aqueue_8c_html_ac999cdfbb09fff396fa818bb9a30b4e5"><div class="ttname"><a href="queue_8c.html#ac999cdfbb09fff396fa818bb9a30b4e5">xQueueGenericCreate</a></div><div class="ttdeci">QueueHandle_t xQueueGenericCreate(const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, const uint8_t ucQueueType)</div><div class="ttdef"><b>Definition:</b> queue.c:359</div></div>
<div class="ttc" id="aportmacro_8h_html_a79d65a5d0f6f9133a0739832e9d8367e"><div class="ttname"><a href="portmacro_8h.html#a79d65a5d0f6f9133a0739832e9d8367e">portCLEAR_INTERRUPT_MASK_FROM_ISR</a></div><div class="ttdeci">#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x)</div><div class="ttdef"><b>Definition:</b> portmacro.h:110</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a656fccb9717146cc4036ff8701eeb67e"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a656fccb9717146cc4036ff8701eeb67e">traceCREATE_COUNTING_SEMAPHORE_FAILED</a></div><div class="ttdeci">#define traceCREATE_COUNTING_SEMAPHORE_FAILED()</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:433</div></div>
<div class="ttc" id="aqueue_8c_html_a35c0b4f9a0e940cb3a86ca4c5e84c41c"><div class="ttname"><a href="queue_8c.html#a35c0b4f9a0e940cb3a86ca4c5e84c41c">vQueueDelete</a></div><div class="ttdeci">void vQueueDelete(QueueHandle_t xQueue)</div><div class="ttdef"><b>Definition:</b> queue.c:1942</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a657997eddb8c89bef7157e74bac003e2"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a657997eddb8c89bef7157e74bac003e2">traceBLOCKING_ON_QUEUE_RECEIVE</a></div><div class="ttdeci">#define traceBLOCKING_ON_QUEUE_RECEIVE(pxQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:355</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_af4484fc07631a16e45ac5f29a3f0556e"><div class="ttname"><a href="_free_r_t_o_s_8h.html#af4484fc07631a16e45ac5f29a3f0556e">portYIELD_WITHIN_API</a></div><div class="ttdeci">#define portYIELD_WITHIN_API</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:723</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a5cfc9dd899c89966172cb329740f551a"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a5cfc9dd899c89966172cb329740f551a">traceQUEUE_SEND</a></div><div class="ttdeci">#define traceQUEUE_SEND(pxQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:437</div></div>
<div class="ttc" id="aportmacro_8h_html_a46fb21e00ae0729d7515c0fbf2269796"><div class="ttname"><a href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a></div><div class="ttdeci">long BaseType_t</div><div class="ttdef"><b>Definition:</b> portmacro.h:57</div></div>
<div class="ttc" id="aprojdefs_8h_html_af268cf937960eb029256bd9c4d949fbe"><div class="ttname"><a href="projdefs_8h.html#af268cf937960eb029256bd9c4d949fbe">pdTRUE</a></div><div class="ttdeci">#define pdTRUE</div><div class="ttdef"><b>Definition:</b> projdefs.h:46</div></div>
<div class="ttc" id="aqueue_8h_html_aaf19d499892a4ce1409326ece00f5264"><div class="ttname"><a href="queue_8h.html#aaf19d499892a4ce1409326ece00f5264">QueueHandle_t</a></div><div class="ttdeci">void * QueueHandle_t</div><div class="ttdef"><b>Definition:</b> queue.h:47</div></div>
<div class="ttc" id="aqueue_8c_html_a166c89c5c3a213c7e52283e024bb1d50"><div class="ttname"><a href="queue_8c.html#a166c89c5c3a213c7e52283e024bb1d50">queueMUTEX_GIVE_BLOCK_TIME</a></div><div class="ttdeci">#define queueMUTEX_GIVE_BLOCK_TIME</div><div class="ttdef"><b>Definition:</b> queue.c:74</div></div>
<div class="ttc" id="aqueue_8h_html_a9730db0a2f63acbf7197fa4150d7fe08"><div class="ttname"><a href="queue_8h.html#a9730db0a2f63acbf7197fa4150d7fe08">ucQueueGetQueueType</a></div><div class="ttdeci">uint8_t ucQueueGetQueueType(QueueHandle_t xQueue) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a0dbf5969c9d984920177a19d5b402e4e"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a0dbf5969c9d984920177a19d5b402e4e">traceQUEUE_RECEIVE_FAILED</a></div><div class="ttdeci">#define traceQUEUE_RECEIVE_FAILED(pxQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:461</div></div>
<div class="ttc" id="aqueue_8h_html_a7ce86d1026e0c3055a523935bf53c0b3"><div class="ttname"><a href="queue_8h.html#a7ce86d1026e0c3055a523935bf53c0b3">xQueueGenericSend</a></div><div class="ttdeci">BaseType_t xQueueGenericSend(QueueHandle_t xQueue, const void *const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:726</div></div>
<div class="ttc" id="atask_8h_html_a998c69e37431a3a32c637b31ff60089a"><div class="ttname"><a href="task_8h.html#a998c69e37431a3a32c637b31ff60089a">vTaskMissedYield</a></div><div class="ttdeci">void vTaskMissedYield(void) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> tasks.c:3168</div></div>
<div class="ttc" id="aqueue_8h_html_ac58b34fd733cf460cddab1abb9a899b3"><div class="ttname"><a href="queue_8h.html#ac58b34fd733cf460cddab1abb9a899b3">xQueueSelectFromSetFromISR</a></div><div class="ttdeci">QueueSetMemberHandle_t xQueueSelectFromSetFromISR(QueueSetHandle_t xQueueSet) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_aae8ebd9c82ecd564953a37bb26a5a1e5"><div class="ttname"><a href="_free_r_t_o_s_8h.html#aae8ebd9c82ecd564953a37bb26a5a1e5">traceQUEUE_DELETE</a></div><div class="ttdeci">#define traceQUEUE_DELETE(pxQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:485</div></div>
<div class="ttc" id="aqueue_8c_html_a8f21d4b7a21be0d109953120c93f6741"><div class="ttname"><a href="queue_8c.html#a8f21d4b7a21be0d109953120c93f6741">prvIsQueueEmpty</a></div><div class="ttdeci">static BaseType_t prvIsQueueEmpty(const Queue_t *pxQueue) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:2258</div></div>
<div class="ttc" id="atask_8h_html_a85a0f9c9f817b18686efbf8f37c72dfc"><div class="ttname"><a href="task_8h.html#a85a0f9c9f817b18686efbf8f37c72dfc">xTaskGetCurrentTaskHandle</a></div><div class="ttdeci">TaskHandle_t xTaskGetCurrentTaskHandle(void) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> tasks.c:3755</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a3e103eedd5088f5f30bc55e55820a9e3"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a3e103eedd5088f5f30bc55e55820a9e3">vQueueAddToRegistry</a></div><div class="ttdeci">#define vQueueAddToRegistry(xQueue, pcName)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:283</div></div>
<div class="ttc" id="aqueue_8c_html_a0fb58b25eb396a5cf8e1688b7e1a56cb"><div class="ttname"><a href="queue_8c.html#a0fb58b25eb396a5cf8e1688b7e1a56cb">xQueueGenericSendFromISR</a></div><div class="ttdeci">BaseType_t xQueueGenericSendFromISR(QueueHandle_t xQueue, const void *const pvItemToQueue, BaseType_t *const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition)</div><div class="ttdef"><b>Definition:</b> queue.c:924</div></div>
<div class="ttc" id="acroutine_8h_html_af2a96db518b18f5a7e1cd2fdf3c82873"><div class="ttname"><a href="croutine_8h.html#af2a96db518b18f5a7e1cd2fdf3c82873">xCoRoutineRemoveFromEventList</a></div><div class="ttdeci">BaseType_t xCoRoutineRemoveFromEventList(const List_t *pxEventList)</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_aa01e89d6df9ac9c4506f8918cc809ddf"><div class="ttname"><a href="_free_r_t_o_s_8h.html#aa01e89d6df9ac9c4506f8918cc809ddf">traceCREATE_MUTEX_FAILED</a></div><div class="ttdeci">#define traceCREATE_MUTEX_FAILED()</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:409</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a3a0d6a2e556a9bb303cbcb2a23700118"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a3a0d6a2e556a9bb303cbcb2a23700118">traceQUEUE_CREATE_FAILED</a></div><div class="ttdeci">#define traceQUEUE_CREATE_FAILED(ucQueueType)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:401</div></div>
<div class="ttc" id="atask_8h_html_aac8f36abc45ac4ee714bd6b81e3b1643"><div class="ttname"><a href="task_8h.html#aac8f36abc45ac4ee714bd6b81e3b1643">taskEXIT_CRITICAL</a></div><div class="ttdeci">#define taskEXIT_CRITICAL()</div><div class="ttdef"><b>Definition:</b> task.h:194</div></div>
<div class="ttc" id="atask_8h_html_aa715a488a6014df5a9393ca38c5938c0"><div class="ttname"><a href="task_8h.html#aa715a488a6014df5a9393ca38c5938c0">xTaskPriorityInherit</a></div><div class="ttdeci">BaseType_t xTaskPriorityInherit(TaskHandle_t const pxMutexHolder) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="aqueue_8c_html_adfb14d07644ad4da4bd2303105884227"><div class="ttname"><a href="queue_8c.html#adfb14d07644ad4da4bd2303105884227">queueSEMAPHORE_QUEUE_ITEM_LENGTH</a></div><div class="ttdeci">#define queueSEMAPHORE_QUEUE_ITEM_LENGTH</div><div class="ttdef"><b>Definition:</b> queue.c:73</div></div>
<div class="ttc" id="aqueue_8h_html_a37c8b0ea8f2e6c5fa5082afb9721f986"><div class="ttname"><a href="queue_8h.html#a37c8b0ea8f2e6c5fa5082afb9721f986">vQueueSetQueueNumber</a></div><div class="ttdeci">void vQueueSetQueueNumber(QueueHandle_t xQueue, UBaseType_t uxQueueNumber) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="astruct_queue_definition_html_aec0a6e253e1e05c107bf2a77c1bed940"><div class="ttname"><a href="struct_queue_definition.html#aec0a6e253e1e05c107bf2a77c1bed940">QueueDefinition::pcTail</a></div><div class="ttdeci">int8_t * pcTail</div><div class="ttdef"><b>Definition:</b> queue.c:92</div></div>
<div class="ttc" id="atask_8h_html_a003f8ae6d649225abd030cc76e1c7d0e"><div class="ttname"><a href="task_8h.html#a003f8ae6d649225abd030cc76e1c7d0e">xTaskResumeAll</a></div><div class="ttdeci">BaseType_t xTaskResumeAll(void) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> tasks.c:2104</div></div>
<div class="ttc" id="atask_8h_html_a0241000e08a261372186d34825a35979"><div class="ttname"><a href="task_8h.html#a0241000e08a261372186d34825a35979">xTaskGetSchedulerState</a></div><div class="ttdeci">BaseType_t xTaskGetSchedulerState(void) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a228c70cd48927d6ab730ed1a6dfbe35f"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a228c70cd48927d6ab730ed1a6dfbe35f">configASSERT</a></div><div class="ttdeci">#define configASSERT(x)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:235</div></div>
<div class="ttc" id="aqueue_8c_html_a7d076f57a56ef50315418f8bbfba96fd"><div class="ttname"><a href="queue_8c.html#a7d076f57a56ef50315418f8bbfba96fd">xQueueIsQueueEmptyFromISR</a></div><div class="ttdeci">BaseType_t xQueueIsQueueEmptyFromISR(const QueueHandle_t xQueue)</div><div class="ttdef"><b>Definition:</b> queue.c:2279</div></div>
<div class="ttc" id="aqueue_8h_html_a707cbcfe3aed6b877b6aa6d9d75a3f22"><div class="ttname"><a href="queue_8h.html#a707cbcfe3aed6b877b6aa6d9d75a3f22">vQueueDelete</a></div><div class="ttdeci">void vQueueDelete(QueueHandle_t xQueue) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:1942</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a62dcc27e040063ec72e174c985740f96"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a62dcc27e040063ec72e174c985740f96">traceQUEUE_CREATE</a></div><div class="ttdeci">#define traceQUEUE_CREATE(pxNewQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:397</div></div>
<div class="ttc" id="aqueue_8c_html_a27d6fb77ce7a0b5a16f6471730d33201"><div class="ttname"><a href="queue_8c.html#a27d6fb77ce7a0b5a16f6471730d33201">uxQueueSpacesAvailable</a></div><div class="ttdeci">UBaseType_t uxQueueSpacesAvailable(const QueueHandle_t xQueue)</div><div class="ttdef"><b>Definition:</b> queue.c:1912</div></div>
<div class="ttc" id="aqueue_8c_html_a8f68e37e931bbf95440c8845f512e090"><div class="ttname"><a href="queue_8c.html#a8f68e37e931bbf95440c8845f512e090">xQueuePeek</a></div><div class="ttdeci">BaseType_t xQueuePeek(QueueHandle_t xQueue, void *const pvBuffer, TickType_t xTicksToWait)</div><div class="ttdef"><b>Definition:</b> queue.c:1601</div></div>
<div class="ttc" id="aqueue_8h_html_a3e89b6189166f9544f283435e2732f9a"><div class="ttname"><a href="queue_8h.html#a3e89b6189166f9544f283435e2732f9a">uxQueueMessagesWaitingFromISR</a></div><div class="ttdeci">UBaseType_t uxQueueMessagesWaitingFromISR(const QueueHandle_t xQueue) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:1930</div></div>
<div class="ttc" id="aqueue_8h_html_ad4208ad97f737af942a13e64b45e83e8"><div class="ttname"><a href="queue_8h.html#ad4208ad97f737af942a13e64b45e83e8">xQueueCreateSet</a></div><div class="ttdeci">QueueSetHandle_t xQueueCreateSet(const UBaseType_t uxEventQueueLength) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="atask_8h_html_a02fe2e1419fd6c35f75a1357c5e5ce22"><div class="ttname"><a href="task_8h.html#a02fe2e1419fd6c35f75a1357c5e5ce22">xTaskPriorityDisinherit</a></div><div class="ttdeci">BaseType_t xTaskPriorityDisinherit(TaskHandle_t const pxMutexHolder) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="aqueue_8c_html_a7297c84a7c770ed57567bad1d3e2faf6"><div class="ttname"><a href="queue_8c.html#a7297c84a7c770ed57567bad1d3e2faf6">prvUnlockQueue</a></div><div class="ttdeci">static void prvUnlockQueue(Queue_t *const pxQueue) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:2138</div></div>
<div class="ttc" id="aqueue_8c_html_ade45e48664e5ec17ea091f00cd34394f"><div class="ttname"><a href="queue_8c.html#ade45e48664e5ec17ea091f00cd34394f">xQueueSemaphoreTake</a></div><div class="ttdeci">BaseType_t xQueueSemaphoreTake(QueueHandle_t xQueue, TickType_t xTicksToWait)</div><div class="ttdef"><b>Definition:</b> queue.c:1382</div></div>
<div class="ttc" id="astruct_queue_definition_html_aa018576801d60d3a78ffacab53dc8b79"><div class="ttname"><a href="struct_queue_definition.html#aa018576801d60d3a78ffacab53dc8b79">QueueDefinition::pcWriteTo</a></div><div class="ttdeci">int8_t * pcWriteTo</div><div class="ttdef"><b>Definition:</b> queue.c:93</div></div>
<div class="ttc" id="aqueue_8h_html_af92945589381b740932a7cc41e212a37"><div class="ttname"><a href="queue_8h.html#af92945589381b740932a7cc41e212a37">xQueueCreateMutexStatic</a></div><div class="ttdeci">QueueHandle_t xQueueCreateMutexStatic(const uint8_t ucQueueType, StaticQueue_t *pxStaticQueue) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_a186c66f73c470500e556ec0f2fd3994f"><div class="ttname"><a href="_free_r_t_o_s_8h.html#a186c66f73c470500e556ec0f2fd3994f">traceBLOCKING_ON_QUEUE_PEEK</a></div><div class="ttdeci">#define traceBLOCKING_ON_QUEUE_PEEK(pxQueue)</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:363</div></div>
<div class="ttc" id="aqueue_8h_html_a6c19a940d8fe07d338928ecea68b1776"><div class="ttname"><a href="queue_8h.html#a6c19a940d8fe07d338928ecea68b1776">QueueSetMemberHandle_t</a></div><div class="ttdeci">void * QueueSetMemberHandle_t</div><div class="ttdef"><b>Definition:</b> queue.h:61</div></div>
<div class="ttc" id="aqueue_8h_html_a3c13a9fe455ec2d35b5f8386a1040599"><div class="ttname"><a href="queue_8h.html#a3c13a9fe455ec2d35b5f8386a1040599">xQueueGenericReset</a></div><div class="ttdeci">BaseType_t xQueueGenericReset(QueueHandle_t xQueue, BaseType_t xNewQueue) PRIVILEGED_FUNCTION</div><div class="ttdef"><b>Definition:</b> queue.c:248</div></div>
<div class="ttc" id="atask_8h_html_ada3eb00e16241f5b648184a406a6a6fd"><div class="ttname"><a href="task_8h.html#ada3eb00e16241f5b648184a406a6a6fd">vTaskPlaceOnEventListRestricted</a></div><div class="ttdeci">void vTaskPlaceOnEventListRestricted(List_t *const pxEventList, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely) PRIVILEGED_FUNCTION</div></div>
<div class="ttc" id="atask_8h_html_a94ed0b9b3b4e8ccc859c322f18583e67"><div class="ttname"><a href="task_8h.html#a94ed0b9b3b4e8ccc859c322f18583e67">tskIDLE_PRIORITY</a></div><div class="ttdeci">#define tskIDLE_PRIORITY</div><div class="ttdef"><b>Definition:</b> task.h:155</div></div>
<div class="ttc" id="aportmacro_8h_html_a31b4260dbc1823ba80b578f86eb15a98"><div class="ttname"><a href="portmacro_8h.html#a31b4260dbc1823ba80b578f86eb15a98">portSET_INTERRUPT_MASK_FROM_ISR</a></div><div class="ttdeci">#define portSET_INTERRUPT_MASK_FROM_ISR()</div><div class="ttdef"><b>Definition:</b> portmacro.h:109</div></div>
<div class="ttc" id="aqueue_8c_html_a3c73744015d2aad19ca749e89e747e2a"><div class="ttname"><a href="queue_8c.html#a3c73744015d2aad19ca749e89e747e2a">xQUEUE</a></div><div class="ttdeci">struct QueueDefinition xQUEUE</div></div>
<div class="ttc" id="aqueue_8c_html_a0799077a434aea43f5cca3cda3625aa8"><div class="ttname"><a href="queue_8c.html#a0799077a434aea43f5cca3cda3625aa8">queueQUEUE_IS_MUTEX</a></div><div class="ttdeci">#define queueQUEUE_IS_MUTEX</div><div class="ttdef"><b>Definition:</b> queue.c:69</div></div>
<div class="ttc" id="a_free_r_t_o_s_8h_html_ac77e2af1a6b0d38fbab36cf2aa96f1a8"><div class="ttname"><a href="_free_r_t_o_s_8h.html#ac77e2af1a6b0d38fbab36cf2aa96f1a8">mtCOVERAGE_TEST_MARKER</a></div><div class="ttdeci">#define mtCOVERAGE_TEST_MARKER()</div><div class="ttdef"><b>Definition:</b> FreeRTOS.h:787</div></div>
<div class="ttc" id="aheap__1_8c_html_a0379669d07d76cc81e3028123113b271"><div class="ttname"><a href="heap__1_8c.html#a0379669d07d76cc81e3028123113b271">pvPortMalloc</a></div><div class="ttdeci">void * pvPortMalloc(size_t xWantedSize)</div><div class="ttdef"><b>Definition:</b> heap_1.c:71</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="queue_8h.html">queue.h</a></li>
<li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
</ul>
</div>
</body>
</html>