MCB1700_Welcome/Doxygen/html/croutine_8h.html

610 lines
33 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: croutine.h File Reference</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('croutine_8h.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="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">croutine.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="list_8h_source.html">list.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for croutine.h:</div>
<div class="dyncontent">
<div class="center"><img src="croutine_8h__incl.png" border="0" usemap="#acroutine_8h" alt=""/></div>
<map name="croutine_8h" id="acroutine_8h">
<area shape="rect" title=" " alt="" coords="5,5,84,32"/>
<area shape="rect" href="list_8h.html" title=" " alt="" coords="19,80,70,107"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="croutine_8h__dep__incl.png" border="0" usemap="#acroutine_8hdep" alt=""/></div>
<map name="croutine_8hdep" id="acroutine_8hdep">
<area shape="rect" title=" " alt="" coords="5,5,84,32"/>
<area shape="rect" href="croutine_8c.html" title=" " alt="" coords="5,80,84,107"/>
</map>
</div>
</div>
<p><a href="croutine_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcor_co_routine_control_block.html">corCoRoutineControlBlock</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a19a57a201a325e8af1207ed68c4aedde"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#a19a57a201a325e8af1207ed68c4aedde">crSTART</a>(pxCRCB)&#160;&#160;&#160;switch( ( ( <a class="el" href="croutine_8h.html#a1c15f304ffe02d0777ae2509b3658e6f">CRCB_t</a> * )( pxCRCB ) )-&gt;uxState ) { case 0:</td></tr>
<tr class="separator:a19a57a201a325e8af1207ed68c4aedde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6038cc976689b50000475ebfc4e2f23"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#ae6038cc976689b50000475ebfc4e2f23">crEND</a>()&#160;&#160;&#160;}</td></tr>
<tr class="separator:ae6038cc976689b50000475ebfc4e2f23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8ec8c0192674b896b04df1f82d679f7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#aa8ec8c0192674b896b04df1f82d679f7">crSET_STATE0</a>(xHandle)&#160;&#160;&#160;( ( <a class="el" href="croutine_8h.html#a1c15f304ffe02d0777ae2509b3658e6f">CRCB_t</a> * )( xHandle ) )-&gt;uxState = (__LINE__ * 2); return; case (__LINE__ * 2):</td></tr>
<tr class="separator:aa8ec8c0192674b896b04df1f82d679f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a345ffc731dc40152bfb1162453ecc1f7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#a345ffc731dc40152bfb1162453ecc1f7">crSET_STATE1</a>(xHandle)&#160;&#160;&#160;( ( <a class="el" href="croutine_8h.html#a1c15f304ffe02d0777ae2509b3658e6f">CRCB_t</a> * )( xHandle ) )-&gt;uxState = ((__LINE__ * 2)+1); return; case ((__LINE__ * 2)+1):</td></tr>
<tr class="separator:a345ffc731dc40152bfb1162453ecc1f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05a06feb11028f2d1d440ea335f562ba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#a05a06feb11028f2d1d440ea335f562ba">crDELAY</a>(xHandle, xTicksToDelay)</td></tr>
<tr class="separator:a05a06feb11028f2d1d440ea335f562ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26af3d36f22a04168eebdf5b08465d6e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#a26af3d36f22a04168eebdf5b08465d6e">crQUEUE_SEND</a>(xHandle, pxQueue, pvItemToQueue, xTicksToWait, pxResult)</td></tr>
<tr class="separator:a26af3d36f22a04168eebdf5b08465d6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a586d57fd9a3e2aa5ae66484ed3be36c9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#a586d57fd9a3e2aa5ae66484ed3be36c9">crQUEUE_RECEIVE</a>(xHandle, pxQueue, pvBuffer, xTicksToWait, pxResult)</td></tr>
<tr class="separator:a586d57fd9a3e2aa5ae66484ed3be36c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8eb0a81c5cf69de7e4edd73ce44a3be"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#ac8eb0a81c5cf69de7e4edd73ce44a3be">crQUEUE_SEND_FROM_ISR</a>(pxQueue, pvItemToQueue, xCoRoutinePreviouslyWoken)&#160;&#160;&#160;<a class="el" href="queue_8h.html#a80af2aff3f472600a12dea0642fa8b27">xQueueCRSendFromISR</a>( ( pxQueue ), ( pvItemToQueue ), ( xCoRoutinePreviouslyWoken ) )</td></tr>
<tr class="separator:ac8eb0a81c5cf69de7e4edd73ce44a3be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c0fa977ca69adbddb4811affa2a71f7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#a9c0fa977ca69adbddb4811affa2a71f7">crQUEUE_RECEIVE_FROM_ISR</a>(pxQueue, pvBuffer, pxCoRoutineWoken)&#160;&#160;&#160;<a class="el" href="queue_8h.html#ad66b08c1d6a17efa8985605bf182b997">xQueueCRReceiveFromISR</a>( ( pxQueue ), ( pvBuffer ), ( pxCoRoutineWoken ) )</td></tr>
<tr class="separator:a9c0fa977ca69adbddb4811affa2a71f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a33b9d058688c92258155b5756d9936dd"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#a33b9d058688c92258155b5756d9936dd">CoRoutineHandle_t</a></td></tr>
<tr class="separator:a33b9d058688c92258155b5756d9936dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a397a7505718dd366d8411ce324c49758"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#a397a7505718dd366d8411ce324c49758">crCOROUTINE_CODE</a>) (<a class="el" href="croutine_8h.html#a33b9d058688c92258155b5756d9936dd">CoRoutineHandle_t</a>, <a class="el" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a>)</td></tr>
<tr class="separator:a397a7505718dd366d8411ce324c49758"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c15f304ffe02d0777ae2509b3658e6f"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structcor_co_routine_control_block.html">corCoRoutineControlBlock</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#a1c15f304ffe02d0777ae2509b3658e6f">CRCB_t</a></td></tr>
<tr class="separator:a1c15f304ffe02d0777ae2509b3658e6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae0e03637a3d2c134e9b52006f353d8c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#ae0e03637a3d2c134e9b52006f353d8c0">xCoRoutineCreate</a> (<a class="el" href="croutine_8h.html#a397a7505718dd366d8411ce324c49758">crCOROUTINE_CODE</a> pxCoRoutineCode, <a class="el" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a> uxPriority, <a class="el" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a> uxIndex)</td></tr>
<tr class="separator:ae0e03637a3d2c134e9b52006f353d8c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5333c649a2c063006ca3cd7a3b5b9240"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#a5333c649a2c063006ca3cd7a3b5b9240">vCoRoutineSchedule</a> (void)</td></tr>
<tr class="separator:a5333c649a2c063006ca3cd7a3b5b9240"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b5b1c5857d38b79c96636754208e32d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#a6b5b1c5857d38b79c96636754208e32d">vCoRoutineAddToDelayedList</a> (<a class="el" href="portmacro_8h.html#aa69c48c6e902ce54f70886e6573c92a9">TickType_t</a> xTicksToDelay, <a class="el" href="list_8h.html#ad14d7e3de1350e459c7c23c6f59c902a">List_t</a> *pxEventList)</td></tr>
<tr class="separator:a6b5b1c5857d38b79c96636754208e32d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2a96db518b18f5a7e1cd2fdf3c82873"><td class="memItemLeft" align="right" valign="top"><a class="el" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#af2a96db518b18f5a7e1cd2fdf3c82873">xCoRoutineRemoveFromEventList</a> (const <a class="el" href="list_8h.html#ad14d7e3de1350e459c7c23c6f59c902a">List_t</a> *pxEventList)</td></tr>
<tr class="separator:af2a96db518b18f5a7e1cd2fdf3c82873"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a05a06feb11028f2d1d440ea335f562ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05a06feb11028f2d1d440ea335f562ba">&#9670;&nbsp;</a></span>crDELAY</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define crDELAY</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">xHandle, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">xTicksToDelay&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">if</span>( ( xTicksToDelay ) &gt; 0 ) \</div>
<div class="line"> { \</div>
<div class="line"> vCoRoutineAddToDelayedList( ( xTicksToDelay ), NULL ); \</div>
<div class="line"> } \</div>
<div class="line"> crSET_STATE0( ( xHandle ) );</div>
</div><!-- fragment -->
</div>
</div>
<a id="ae6038cc976689b50000475ebfc4e2f23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6038cc976689b50000475ebfc4e2f23">&#9670;&nbsp;</a></span>crEND</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define crEND</td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td>&#160;&#160;&#160;}</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a586d57fd9a3e2aa5ae66484ed3be36c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a586d57fd9a3e2aa5ae66484ed3be36c9">&#9670;&nbsp;</a></span>crQUEUE_RECEIVE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define crQUEUE_RECEIVE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">xHandle, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">pxQueue, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">pvBuffer, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">xTicksToWait, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">pxResult&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{ \</div>
<div class="line"> *( pxResult ) = <a class="code" href="queue_8h.html#a88a02b37c486c38b8c4112e16dfed099">xQueueCRReceive</a>( ( pxQueue) , ( pvBuffer ), ( xTicksToWait ) ); \</div>
<div class="line"> if( *( pxResult ) == <a class="code" href="projdefs_8h.html#a4a7ca54ee5527cd7a14830956e05ea55">errQUEUE_BLOCKED</a> ) \</div>
<div class="line"> { \</div>
<div class="line"> crSET_STATE0( ( xHandle ) ); \</div>
<div class="line"> *( pxResult ) = <a class="code" href="queue_8h.html#a88a02b37c486c38b8c4112e16dfed099">xQueueCRReceive</a>( ( pxQueue) , ( pvBuffer ), 0 ); \</div>
<div class="line"> } \</div>
<div class="line"> if( *( pxResult ) == <a class="code" href="projdefs_8h.html#a3b2e2afaa2851576dfc2779a7fea59b4">errQUEUE_YIELD</a> ) \</div>
<div class="line"> { \</div>
<div class="line"> crSET_STATE1( ( xHandle ) ); \</div>
<div class="line"> *( pxResult ) = <a class="code" href="projdefs_8h.html#a07848d3078849bd32353c69d30a479b3">pdPASS</a>; \</div>
<div class="line"> } \</div>
<div class="line">}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a9c0fa977ca69adbddb4811affa2a71f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c0fa977ca69adbddb4811affa2a71f7">&#9670;&nbsp;</a></span>crQUEUE_RECEIVE_FROM_ISR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define crQUEUE_RECEIVE_FROM_ISR</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">pxQueue, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">pvBuffer, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">pxCoRoutineWoken&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td>&#160;&#160;&#160;<a class="el" href="queue_8h.html#ad66b08c1d6a17efa8985605bf182b997">xQueueCRReceiveFromISR</a>( ( pxQueue ), ( pvBuffer ), ( pxCoRoutineWoken ) )</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a26af3d36f22a04168eebdf5b08465d6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26af3d36f22a04168eebdf5b08465d6e">&#9670;&nbsp;</a></span>crQUEUE_SEND</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define crQUEUE_SEND</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">xHandle, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">pxQueue, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">pvItemToQueue, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">xTicksToWait, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">pxResult&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{ \</div>
<div class="line"> *( pxResult ) = <a class="code" href="queue_8h.html#abb5d7bd9b62f2b642104fde73c1c666b">xQueueCRSend</a>( ( pxQueue) , ( pvItemToQueue) , ( xTicksToWait ) ); \</div>
<div class="line"> if( *( pxResult ) == <a class="code" href="projdefs_8h.html#a4a7ca54ee5527cd7a14830956e05ea55">errQUEUE_BLOCKED</a> ) \</div>
<div class="line"> { \</div>
<div class="line"> crSET_STATE0( ( xHandle ) ); \</div>
<div class="line"> *pxResult = <a class="code" href="queue_8h.html#abb5d7bd9b62f2b642104fde73c1c666b">xQueueCRSend</a>( ( pxQueue ), ( pvItemToQueue ), 0 ); \</div>
<div class="line"> } \</div>
<div class="line"> if( *pxResult == <a class="code" href="projdefs_8h.html#a3b2e2afaa2851576dfc2779a7fea59b4">errQUEUE_YIELD</a> ) \</div>
<div class="line"> { \</div>
<div class="line"> crSET_STATE1( ( xHandle ) ); \</div>
<div class="line"> *pxResult = <a class="code" href="projdefs_8h.html#a07848d3078849bd32353c69d30a479b3">pdPASS</a>; \</div>
<div class="line"> } \</div>
<div class="line">}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ac8eb0a81c5cf69de7e4edd73ce44a3be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8eb0a81c5cf69de7e4edd73ce44a3be">&#9670;&nbsp;</a></span>crQUEUE_SEND_FROM_ISR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define crQUEUE_SEND_FROM_ISR</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">pxQueue, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">pvItemToQueue, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">xCoRoutinePreviouslyWoken&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td>&#160;&#160;&#160;<a class="el" href="queue_8h.html#a80af2aff3f472600a12dea0642fa8b27">xQueueCRSendFromISR</a>( ( pxQueue ), ( pvItemToQueue ), ( xCoRoutinePreviouslyWoken ) )</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa8ec8c0192674b896b04df1f82d679f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8ec8c0192674b896b04df1f82d679f7">&#9670;&nbsp;</a></span>crSET_STATE0</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define crSET_STATE0</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">xHandle</td><td>)</td>
<td>&#160;&#160;&#160;( ( <a class="el" href="croutine_8h.html#a1c15f304ffe02d0777ae2509b3658e6f">CRCB_t</a> * )( xHandle ) )-&gt;uxState = (__LINE__ * 2); return; case (__LINE__ * 2):</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a345ffc731dc40152bfb1162453ecc1f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a345ffc731dc40152bfb1162453ecc1f7">&#9670;&nbsp;</a></span>crSET_STATE1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define crSET_STATE1</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">xHandle</td><td>)</td>
<td>&#160;&#160;&#160;( ( <a class="el" href="croutine_8h.html#a1c15f304ffe02d0777ae2509b3658e6f">CRCB_t</a> * )( xHandle ) )-&gt;uxState = ((__LINE__ * 2)+1); return; case ((__LINE__ * 2)+1):</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a19a57a201a325e8af1207ed68c4aedde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19a57a201a325e8af1207ed68c4aedde">&#9670;&nbsp;</a></span>crSTART</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define crSTART</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">pxCRCB</td><td>)</td>
<td>&#160;&#160;&#160;switch( ( ( <a class="el" href="croutine_8h.html#a1c15f304ffe02d0777ae2509b3658e6f">CRCB_t</a> * )( pxCRCB ) )-&gt;uxState ) { case 0:</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a33b9d058688c92258155b5756d9936dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33b9d058688c92258155b5756d9936dd">&#9670;&nbsp;</a></span>CoRoutineHandle_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void* <a class="el" href="croutine_8h.html#a33b9d058688c92258155b5756d9936dd">CoRoutineHandle_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1c15f304ffe02d0777ae2509b3658e6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c15f304ffe02d0777ae2509b3658e6f">&#9670;&nbsp;</a></span>CRCB_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structcor_co_routine_control_block.html">corCoRoutineControlBlock</a> <a class="el" href="croutine_8h.html#a1c15f304ffe02d0777ae2509b3658e6f">CRCB_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a397a7505718dd366d8411ce324c49758"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a397a7505718dd366d8411ce324c49758">&#9670;&nbsp;</a></span>crCOROUTINE_CODE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* crCOROUTINE_CODE) (<a class="el" href="croutine_8h.html#a33b9d058688c92258155b5756d9936dd">CoRoutineHandle_t</a>, <a class="el" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a>)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a6b5b1c5857d38b79c96636754208e32d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b5b1c5857d38b79c96636754208e32d">&#9670;&nbsp;</a></span>vCoRoutineAddToDelayedList()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void vCoRoutineAddToDelayedList </td>
<td>(</td>
<td class="paramtype"><a class="el" href="portmacro_8h.html#aa69c48c6e902ce54f70886e6573c92a9">TickType_t</a>&#160;</td>
<td class="paramname"><em>xTicksToDelay</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="list_8h.html#ad14d7e3de1350e459c7c23c6f59c902a">List_t</a> *&#160;</td>
<td class="paramname"><em>pxEventList</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5333c649a2c063006ca3cd7a3b5b9240"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5333c649a2c063006ca3cd7a3b5b9240">&#9670;&nbsp;</a></span>vCoRoutineSchedule()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void vCoRoutineSchedule </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae0e03637a3d2c134e9b52006f353d8c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0e03637a3d2c134e9b52006f353d8c0">&#9670;&nbsp;</a></span>xCoRoutineCreate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> xCoRoutineCreate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="croutine_8h.html#a397a7505718dd366d8411ce324c49758">crCOROUTINE_CODE</a>&#160;</td>
<td class="paramname"><em>pxCoRoutineCode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a>&#160;</td>
<td class="paramname"><em>uxPriority</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="portmacro_8h.html#a646f89d4298e4f5afd522202b11cb2e6">UBaseType_t</a>&#160;</td>
<td class="paramname"><em>uxIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af2a96db518b18f5a7e1cd2fdf3c82873"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2a96db518b18f5a7e1cd2fdf3c82873">&#9670;&nbsp;</a></span>xCoRoutineRemoveFromEventList()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> xCoRoutineRemoveFromEventList </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="list_8h.html#ad14d7e3de1350e459c7c23c6f59c902a">List_t</a> *&#160;</td>
<td class="paramname"><em>pxEventList</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<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_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="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="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="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>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="croutine_8h.html">croutine.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>