610 lines
		
	
	
		
			33 KiB
		
	
	
	
		
			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&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&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&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> |
 | 
						|
<a href="#define-members">Macros</a> |
 | 
						|
<a href="#typedef-members">Typedefs</a> |
 | 
						|
<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 "<a class="el" href="list_8h_source.html">list.h</a>"</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  </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#a19a57a201a325e8af1207ed68c4aedde">crSTART</a>(pxCRCB)   switch( ( ( <a class="el" href="croutine_8h.html#a1c15f304ffe02d0777ae2509b3658e6f">CRCB_t</a> * )( pxCRCB ) )->uxState ) { case 0:</td></tr>
 | 
						|
<tr class="separator:a19a57a201a325e8af1207ed68c4aedde"><td class="memSeparator" colspan="2"> </td></tr>
 | 
						|
<tr class="memitem:ae6038cc976689b50000475ebfc4e2f23"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#ae6038cc976689b50000475ebfc4e2f23">crEND</a>()   }</td></tr>
 | 
						|
<tr class="separator:ae6038cc976689b50000475ebfc4e2f23"><td class="memSeparator" colspan="2"> </td></tr>
 | 
						|
<tr class="memitem:aa8ec8c0192674b896b04df1f82d679f7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#aa8ec8c0192674b896b04df1f82d679f7">crSET_STATE0</a>(xHandle)   ( ( <a class="el" href="croutine_8h.html#a1c15f304ffe02d0777ae2509b3658e6f">CRCB_t</a> * )( xHandle ) )->uxState = (__LINE__ * 2); return; case (__LINE__ * 2):</td></tr>
 | 
						|
<tr class="separator:aa8ec8c0192674b896b04df1f82d679f7"><td class="memSeparator" colspan="2"> </td></tr>
 | 
						|
<tr class="memitem:a345ffc731dc40152bfb1162453ecc1f7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#a345ffc731dc40152bfb1162453ecc1f7">crSET_STATE1</a>(xHandle)   ( ( <a class="el" href="croutine_8h.html#a1c15f304ffe02d0777ae2509b3658e6f">CRCB_t</a> * )( xHandle ) )->uxState = ((__LINE__ * 2)+1); return; case ((__LINE__ * 2)+1):</td></tr>
 | 
						|
<tr class="separator:a345ffc731dc40152bfb1162453ecc1f7"><td class="memSeparator" colspan="2"> </td></tr>
 | 
						|
<tr class="memitem:a05a06feb11028f2d1d440ea335f562ba"><td class="memItemLeft" align="right" valign="top">#define </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"> </td></tr>
 | 
						|
<tr class="memitem:a26af3d36f22a04168eebdf5b08465d6e"><td class="memItemLeft" align="right" valign="top">#define </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"> </td></tr>
 | 
						|
<tr class="memitem:a586d57fd9a3e2aa5ae66484ed3be36c9"><td class="memItemLeft" align="right" valign="top">#define </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"> </td></tr>
 | 
						|
<tr class="memitem:ac8eb0a81c5cf69de7e4edd73ce44a3be"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#ac8eb0a81c5cf69de7e4edd73ce44a3be">crQUEUE_SEND_FROM_ISR</a>(pxQueue,  pvItemToQueue,  xCoRoutinePreviouslyWoken)   <a class="el" href="queue_8h.html#a80af2aff3f472600a12dea0642fa8b27">xQueueCRSendFromISR</a>( ( pxQueue ), ( pvItemToQueue ), ( xCoRoutinePreviouslyWoken ) )</td></tr>
 | 
						|
<tr class="separator:ac8eb0a81c5cf69de7e4edd73ce44a3be"><td class="memSeparator" colspan="2"> </td></tr>
 | 
						|
<tr class="memitem:a9c0fa977ca69adbddb4811affa2a71f7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="croutine_8h.html#a9c0fa977ca69adbddb4811affa2a71f7">crQUEUE_RECEIVE_FROM_ISR</a>(pxQueue,  pvBuffer,  pxCoRoutineWoken)   <a class="el" href="queue_8h.html#ad66b08c1d6a17efa8985605bf182b997">xQueueCRReceiveFromISR</a>( ( pxQueue ), ( pvBuffer ), ( pxCoRoutineWoken ) )</td></tr>
 | 
						|
<tr class="separator:a9c0fa977ca69adbddb4811affa2a71f7"><td class="memSeparator" colspan="2"> </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 * </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"> </td></tr>
 | 
						|
<tr class="memitem:a397a7505718dd366d8411ce324c49758"><td class="memItemLeft" align="right" valign="top">typedef void(* </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"> </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> </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"> </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> </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"> </td></tr>
 | 
						|
<tr class="memitem:a5333c649a2c063006ca3cd7a3b5b9240"><td class="memItemLeft" align="right" valign="top">void </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"> </td></tr>
 | 
						|
<tr class="memitem:a6b5b1c5857d38b79c96636754208e32d"><td class="memItemLeft" align="right" valign="top">void </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"> </td></tr>
 | 
						|
<tr class="memitem:af2a96db518b18f5a7e1cd2fdf3c82873"><td class="memItemLeft" align="right" valign="top"><a class="el" href="portmacro_8h.html#a46fb21e00ae0729d7515c0fbf2269796">BaseType_t</a> </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"> </td></tr>
 | 
						|
</table>
 | 
						|
<h2 class="groupheader">Macro Definition Documentation</h2>
 | 
						|
<a id="a05a06feb11028f2d1d440ea335f562ba"></a>
 | 
						|
<h2 class="memtitle"><span class="permalink"><a href="#a05a06feb11028f2d1d440ea335f562ba">◆ </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"> </td>
 | 
						|
          <td class="paramname">xHandle, </td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
          <td class="paramkey"></td>
 | 
						|
          <td></td>
 | 
						|
          <td class="paramtype"> </td>
 | 
						|
          <td class="paramname">xTicksToDelay </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 ) > 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">◆ </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>   }</td>
 | 
						|
        </tr>
 | 
						|
      </table>
 | 
						|
</div><div class="memdoc">
 | 
						|
 | 
						|
</div>
 | 
						|
</div>
 | 
						|
<a id="a586d57fd9a3e2aa5ae66484ed3be36c9"></a>
 | 
						|
<h2 class="memtitle"><span class="permalink"><a href="#a586d57fd9a3e2aa5ae66484ed3be36c9">◆ </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"> </td>
 | 
						|
          <td class="paramname">xHandle, </td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
          <td class="paramkey"></td>
 | 
						|
          <td></td>
 | 
						|
          <td class="paramtype"> </td>
 | 
						|
          <td class="paramname">pxQueue, </td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
          <td class="paramkey"></td>
 | 
						|
          <td></td>
 | 
						|
          <td class="paramtype"> </td>
 | 
						|
          <td class="paramname">pvBuffer, </td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
          <td class="paramkey"></td>
 | 
						|
          <td></td>
 | 
						|
          <td class="paramtype"> </td>
 | 
						|
          <td class="paramname">xTicksToWait, </td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
          <td class="paramkey"></td>
 | 
						|
          <td></td>
 | 
						|
          <td class="paramtype"> </td>
 | 
						|
          <td class="paramname">pxResult </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">◆ </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"> </td>
 | 
						|
          <td class="paramname">pxQueue, </td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
          <td class="paramkey"></td>
 | 
						|
          <td></td>
 | 
						|
          <td class="paramtype"> </td>
 | 
						|
          <td class="paramname">pvBuffer, </td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
          <td class="paramkey"></td>
 | 
						|
          <td></td>
 | 
						|
          <td class="paramtype"> </td>
 | 
						|
          <td class="paramname">pxCoRoutineWoken </td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
          <td></td>
 | 
						|
          <td>)</td>
 | 
						|
          <td></td><td>   <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">◆ </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"> </td>
 | 
						|
          <td class="paramname">xHandle, </td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
          <td class="paramkey"></td>
 | 
						|
          <td></td>
 | 
						|
          <td class="paramtype"> </td>
 | 
						|
          <td class="paramname">pxQueue, </td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
          <td class="paramkey"></td>
 | 
						|
          <td></td>
 | 
						|
          <td class="paramtype"> </td>
 | 
						|
          <td class="paramname">pvItemToQueue, </td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
          <td class="paramkey"></td>
 | 
						|
          <td></td>
 | 
						|
          <td class="paramtype"> </td>
 | 
						|
          <td class="paramname">xTicksToWait, </td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
          <td class="paramkey"></td>
 | 
						|
          <td></td>
 | 
						|
          <td class="paramtype"> </td>
 | 
						|
          <td class="paramname">pxResult </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">◆ </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"> </td>
 | 
						|
          <td class="paramname">pxQueue, </td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
          <td class="paramkey"></td>
 | 
						|
          <td></td>
 | 
						|
          <td class="paramtype"> </td>
 | 
						|
          <td class="paramname">pvItemToQueue, </td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
          <td class="paramkey"></td>
 | 
						|
          <td></td>
 | 
						|
          <td class="paramtype"> </td>
 | 
						|
          <td class="paramname">xCoRoutinePreviouslyWoken </td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
          <td></td>
 | 
						|
          <td>)</td>
 | 
						|
          <td></td><td>   <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">◆ </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"> </td>
 | 
						|
          <td class="paramname">xHandle</td><td>)</td>
 | 
						|
          <td>   ( ( <a class="el" href="croutine_8h.html#a1c15f304ffe02d0777ae2509b3658e6f">CRCB_t</a> * )( xHandle ) )->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">◆ </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"> </td>
 | 
						|
          <td class="paramname">xHandle</td><td>)</td>
 | 
						|
          <td>   ( ( <a class="el" href="croutine_8h.html#a1c15f304ffe02d0777ae2509b3658e6f">CRCB_t</a> * )( xHandle ) )->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">◆ </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"> </td>
 | 
						|
          <td class="paramname">pxCRCB</td><td>)</td>
 | 
						|
          <td>   switch( ( ( <a class="el" href="croutine_8h.html#a1c15f304ffe02d0777ae2509b3658e6f">CRCB_t</a> * )( pxCRCB ) )->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">◆ </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">◆ </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">◆ </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">◆ </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> </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> * </td>
 | 
						|
          <td class="paramname"><em>pxEventList</em> </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">◆ </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 </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">◆ </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> </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> </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> </td>
 | 
						|
          <td class="paramname"><em>uxIndex</em> </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">◆ </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> * </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>
 |