1
0
mirror of https://github.com/DCC-EX/CommandStation-EX.git synced 2025-02-27 02:56:04 +01:00
CommandStation-EX/EXRAIL2MacroReset_8h.html

5700 lines
258 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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>EX-CommandStation EXRAIL Documentation: /home/runner/work/CommandStation-EX/CommandStation-EX/EXRAIL2MacroReset.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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">EX-CommandStation EXRAIL Documentation
</div>
<div id="projectbrief">EXRAIL Language</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @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:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- 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">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> </div>
<div class="headertitle"><div class="title">/home/runner/work/CommandStation-EX/CommandStation-EX/EXRAIL2MacroReset.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p><a href="EXRAIL2MacroReset_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 id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a84e3475ebe028e33298a69171f11b4c0" id="r_a84e3475ebe028e33298a69171f11b4c0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a84e3475ebe028e33298a69171f11b4c0">ACTIVATE</a>(addr, subaddr)</td></tr>
<tr class="memdesc:a84e3475ebe028e33298a69171f11b4c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send DCC Accessory Activate packet (gate on then off) <br /></td></tr>
<tr class="separator:a84e3475ebe028e33298a69171f11b4c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0612e2f4aa9f2ba0aae65a96f96d292" id="r_ac0612e2f4aa9f2ba0aae65a96f96d292"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ac0612e2f4aa9f2ba0aae65a96f96d292">ACTIVATEL</a>(longaddr)</td></tr>
<tr class="memdesc:ac0612e2f4aa9f2ba0aae65a96f96d292"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send DCC Accessory Activate packet (gate on then off) <br /></td></tr>
<tr class="separator:ac0612e2f4aa9f2ba0aae65a96f96d292"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a453638a63f596fea9c1c6882a2d149a9" id="r_a453638a63f596fea9c1c6882a2d149a9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a453638a63f596fea9c1c6882a2d149a9">AFTER</a>(sensor_id, timer...)</td></tr>
<tr class="memdesc:a453638a63f596fea9c1c6882a2d149a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for sensor activated, then decativated for given time. <br /></td></tr>
<tr class="separator:a453638a63f596fea9c1c6882a2d149a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1df8825d714f7089d310559b75b9727" id="r_ac1df8825d714f7089d310559b75b9727"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ac1df8825d714f7089d310559b75b9727">AFTEROVERLOAD</a>(track_id)</td></tr>
<tr class="memdesc:ac1df8825d714f7089d310559b75b9727"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for overload to be resolved. <br /></td></tr>
<tr class="separator:ac1df8825d714f7089d310559b75b9727"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a83cf8fcf340956ec0eb5136187bfc2" id="r_a1a83cf8fcf340956ec0eb5136187bfc2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a1a83cf8fcf340956ec0eb5136187bfc2">ALIAS</a>(name, value...)</td></tr>
<tr class="memdesc:a1a83cf8fcf340956ec0eb5136187bfc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">defines a named numeric value. <br /></td></tr>
<tr class="separator:a1a83cf8fcf340956ec0eb5136187bfc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae14885354cfce6b96d4b14b7d1e5763b" id="r_ae14885354cfce6b96d4b14b7d1e5763b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ae14885354cfce6b96d4b14b7d1e5763b">AMBER</a>(signal_id)</td></tr>
<tr class="memdesc:ae14885354cfce6b96d4b14b7d1e5763b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a signal to amber state. <br /></td></tr>
<tr class="separator:ae14885354cfce6b96d4b14b7d1e5763b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac423d1824ff6340efbdf97efe2a86efa" id="r_ac423d1824ff6340efbdf97efe2a86efa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ac423d1824ff6340efbdf97efe2a86efa">ANOUT</a>(vpin, value, param1, param2)</td></tr>
<tr class="memdesc:ac423d1824ff6340efbdf97efe2a86efa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes to the HAL analog output interface of a device driver. Values and meanings of extra parameters depend on driver. <br /></td></tr>
<tr class="separator:ac423d1824ff6340efbdf97efe2a86efa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a9137afa993b6547cef10c792c34dd7" id="r_a6a9137afa993b6547cef10c792c34dd7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a6a9137afa993b6547cef10c792c34dd7">AT</a>(sensor_id)</td></tr>
<tr class="memdesc:a6a9137afa993b6547cef10c792c34dd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">wait intil a sensor becomes active <br /></td></tr>
<tr class="separator:a6a9137afa993b6547cef10c792c34dd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e0493620ef65f4f7ec67ce2f4e71bd2" id="r_a8e0493620ef65f4f7ec67ce2f4e71bd2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a8e0493620ef65f4f7ec67ce2f4e71bd2">ASPECT</a>(address, value)</td></tr>
<tr class="memdesc:a8e0493620ef65f4f7ec67ce2f4e71bd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a DCC aspect value to an accessory address. May also change status of a signal defined using this aspect. <br /></td></tr>
<tr class="separator:a8e0493620ef65f4f7ec67ce2f4e71bd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3976159ee4239f09f8d760a16ac787c3" id="r_a3976159ee4239f09f8d760a16ac787c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a3976159ee4239f09f8d760a16ac787c3">ATGTE</a>(sensor_id, value)</td></tr>
<tr class="memdesc:a3976159ee4239f09f8d760a16ac787c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for analog sensor to be greater than given value. <br /></td></tr>
<tr class="separator:a3976159ee4239f09f8d760a16ac787c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c53411b9d4107efddb0167672dfba87" id="r_a5c53411b9d4107efddb0167672dfba87"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a5c53411b9d4107efddb0167672dfba87">ATLT</a>(sensor_id, value)</td></tr>
<tr class="memdesc:a5c53411b9d4107efddb0167672dfba87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for analog sensor value to be less than given value. <br /></td></tr>
<tr class="separator:a5c53411b9d4107efddb0167672dfba87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32b879d548bb568e9c4375b7343840c9" id="r_a32b879d548bb568e9c4375b7343840c9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a32b879d548bb568e9c4375b7343840c9">ATTIMEOUT</a>(sensor_id, timeout_ms)</td></tr>
<tr class="memdesc:a32b879d548bb568e9c4375b7343840c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for sensor active, with timeout. Use IFTIMEOUT to determine whether the AT was satisfied. <br /></td></tr>
<tr class="separator:a32b879d548bb568e9c4375b7343840c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3063459ba71def1546e2bce054a2c5c9" id="r_a3063459ba71def1546e2bce054a2c5c9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a3063459ba71def1546e2bce054a2c5c9">AUTOMATION</a>(id, description)</td></tr>
<tr class="memdesc:a3063459ba71def1546e2bce054a2c5c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defies starting point of a sequence that will be shown as an Automation by the throttles. Automations are started by the throttle handing over a loco id to be driven. <br /></td></tr>
<tr class="separator:a3063459ba71def1546e2bce054a2c5c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79a5ec7365cb5cb8b61254a2950ae9d3" id="r_a79a5ec7365cb5cb8b61254a2950ae9d3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a79a5ec7365cb5cb8b61254a2950ae9d3">AUTOSTART</a></td></tr>
<tr class="memdesc:a79a5ec7365cb5cb8b61254a2950ae9d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">A new task will be created starting from this point at Command Station startup <br />
<br /></td></tr>
<tr class="separator:a79a5ec7365cb5cb8b61254a2950ae9d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ca075b23c6884a310c28eeb12878a81" id="r_a4ca075b23c6884a310c28eeb12878a81"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a4ca075b23c6884a310c28eeb12878a81">BLINK</a>(vpin, onDuty, offDuty)</td></tr>
<tr class="memdesc:a4ca075b23c6884a310c28eeb12878a81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts a blinking process for a vpin (typically a LED) Stop blink with SET or RESET. <br /></td></tr>
<tr class="separator:a4ca075b23c6884a310c28eeb12878a81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2735f94701719c50cb70722c1ad53d3" id="r_ad2735f94701719c50cb70722c1ad53d3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ad2735f94701719c50cb70722c1ad53d3">BROADCAST</a>(msg)</td></tr>
<tr class="memdesc:ad2735f94701719c50cb70722c1ad53d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send raw message text to all throttles using the DCC-EX protocol. <br /></td></tr>
<tr class="separator:ad2735f94701719c50cb70722c1ad53d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95596cb79650d33b460ec81f8e65887c" id="r_a95596cb79650d33b460ec81f8e65887c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a95596cb79650d33b460ec81f8e65887c">CALL</a>(route)</td></tr>
<tr class="memdesc:a95596cb79650d33b460ec81f8e65887c"><td class="mdescLeft">&#160;</td><td class="mdescRight">transfer control to another sequence with expectation to return <br /></td></tr>
<tr class="separator:a95596cb79650d33b460ec81f8e65887c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bf0952e3e886e0ad0d0ab351a32e84b" id="r_a3bf0952e3e886e0ad0d0ab351a32e84b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a3bf0952e3e886e0ad0d0ab351a32e84b">CLEAR_STASH</a>(id)</td></tr>
<tr class="memdesc:a3bf0952e3e886e0ad0d0ab351a32e84b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears loco stash value <br />
<br /></td></tr>
<tr class="separator:a3bf0952e3e886e0ad0d0ab351a32e84b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87656ab0de1ea72533329bf27e0961c3" id="r_a87656ab0de1ea72533329bf27e0961c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a87656ab0de1ea72533329bf27e0961c3">CLEAR_ALL_STASH</a>(id)</td></tr>
<tr class="memdesc:a87656ab0de1ea72533329bf27e0961c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">??????????????????????????????????????? <br /></td></tr>
<tr class="separator:a87656ab0de1ea72533329bf27e0961c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa72974727c01c5aced9e24f083e85ba4" id="r_aa72974727c01c5aced9e24f083e85ba4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aa72974727c01c5aced9e24f083e85ba4">CLOSE</a>(id)</td></tr>
<tr class="memdesc:aa72974727c01c5aced9e24f083e85ba4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close turnout by id. <br /></td></tr>
<tr class="separator:aa72974727c01c5aced9e24f083e85ba4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf7204ec3b23f51b4af0eaf72d4b1d13" id="r_aaf7204ec3b23f51b4af0eaf72d4b1d13"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aaf7204ec3b23f51b4af0eaf72d4b1d13">CONFIGURE_SERVO</a>(vpin, pos1, pos2, profile)</td></tr>
<tr class="memdesc:aaf7204ec3b23f51b4af0eaf72d4b1d13"><td class="mdescLeft">&#160;</td><td class="mdescRight">setup servo movement parameters for non-turnout <br /></td></tr>
<tr class="separator:aaf7204ec3b23f51b4af0eaf72d4b1d13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d5b52974c1619801777181d17393fc5" id="r_a6d5b52974c1619801777181d17393fc5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a6d5b52974c1619801777181d17393fc5">DCC_SIGNAL</a>(id, add, subaddr)</td></tr>
<tr class="memdesc:a6d5b52974c1619801777181d17393fc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define a DCC accessory signal with short address. <br /></td></tr>
<tr class="separator:a6d5b52974c1619801777181d17393fc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7e30fb1c3e99423aa257f725d4966bf" id="r_ab7e30fb1c3e99423aa257f725d4966bf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ab7e30fb1c3e99423aa257f725d4966bf">DCCX_SIGNAL</a>(id, redAspect, amberAspect, greenAspect)</td></tr>
<tr class="memdesc:ab7e30fb1c3e99423aa257f725d4966bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">DEfine advanced DCC accessory signal with aspects. <br /></td></tr>
<tr class="separator:ab7e30fb1c3e99423aa257f725d4966bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad29a0a2a20927d9bca265a21ee5b84ef" id="r_ad29a0a2a20927d9bca265a21ee5b84ef"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ad29a0a2a20927d9bca265a21ee5b84ef">DCC_TURNTABLE</a>(id, home, description...)</td></tr>
<tr class="memdesc:ad29a0a2a20927d9bca265a21ee5b84ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">?????????????????????????????????? <br /></td></tr>
<tr class="separator:ad29a0a2a20927d9bca265a21ee5b84ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7b530974fe28e1f0ca0096b2403b590" id="r_af7b530974fe28e1f0ca0096b2403b590"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#af7b530974fe28e1f0ca0096b2403b590">DEACTIVATE</a>(addr, subaddr)</td></tr>
<tr class="memdesc:af7b530974fe28e1f0ca0096b2403b590"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends DCC Deactivate packet (gate on, gate off) to short address. <br /></td></tr>
<tr class="separator:af7b530974fe28e1f0ca0096b2403b590"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a654d690c39c254802b546ee888d52fec" id="r_a654d690c39c254802b546ee888d52fec"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a654d690c39c254802b546ee888d52fec">DEACTIVATEL</a>(addr)</td></tr>
<tr class="memdesc:a654d690c39c254802b546ee888d52fec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends DCC Deactivate packet (gate on, gate off) to long address. <br /></td></tr>
<tr class="separator:a654d690c39c254802b546ee888d52fec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3582e62360f41bf088e21a0e8c3600e6" id="r_a3582e62360f41bf088e21a0e8c3600e6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a3582e62360f41bf088e21a0e8c3600e6">DELAY</a>(mindelay)</td></tr>
<tr class="memdesc:a3582e62360f41bf088e21a0e8c3600e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for given milliseconds delay (This is not blocking) <br /></td></tr>
<tr class="separator:a3582e62360f41bf088e21a0e8c3600e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b88ab656d36316547d13ec1443e734d" id="r_a6b88ab656d36316547d13ec1443e734d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a6b88ab656d36316547d13ec1443e734d">DELAYMINS</a>(mindelay)</td></tr>
<tr class="memdesc:a6b88ab656d36316547d13ec1443e734d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for given minutes delay (This is not blocking) <br /></td></tr>
<tr class="separator:a6b88ab656d36316547d13ec1443e734d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa472883a6912ab7843878ed428b1a568" id="r_aa472883a6912ab7843878ed428b1a568"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aa472883a6912ab7843878ed428b1a568">DELAYRANDOM</a>(mindelay, maxdelay)</td></tr>
<tr class="memdesc:aa472883a6912ab7843878ed428b1a568"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for random delay between min and max milliseconds (This is not blocking) <br /></td></tr>
<tr class="separator:aa472883a6912ab7843878ed428b1a568"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe6b865c045f3e7c6892ef4f15ff5779" id="r_abe6b865c045f3e7c6892ef4f15ff5779"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#abe6b865c045f3e7c6892ef4f15ff5779">DONE</a></td></tr>
<tr class="memdesc:abe6b865c045f3e7c6892ef4f15ff5779"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops task loco (if any) and terminates current task. <br /></td></tr>
<tr class="separator:abe6b865c045f3e7c6892ef4f15ff5779"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a748cc3f2276a4807f7f30b8104dac6ad" id="r_a748cc3f2276a4807f7f30b8104dac6ad"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a748cc3f2276a4807f7f30b8104dac6ad">DRIVE</a>(analogpin)</td></tr>
<tr class="memdesc:a748cc3f2276a4807f7f30b8104dac6ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">RESERVED do not use. <br /></td></tr>
<tr class="separator:a748cc3f2276a4807f7f30b8104dac6ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a70ee0cbf5b1738be4c9463c529ce72" id="r_a0a70ee0cbf5b1738be4c9463c529ce72"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a0a70ee0cbf5b1738be4c9463c529ce72">ELSE</a></td></tr>
<tr class="memdesc:a0a70ee0cbf5b1738be4c9463c529ce72"><td class="mdescLeft">&#160;</td><td class="mdescRight">introduces alternate processing path after any kind of IF <br /></td></tr>
<tr class="separator:a0a70ee0cbf5b1738be4c9463c529ce72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84b8c08e942ef757946344cf3ae03487" id="r_a84b8c08e942ef757946344cf3ae03487"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a84b8c08e942ef757946344cf3ae03487">ENDEXRAIL</a></td></tr>
<tr class="memdesc:a84b8c08e942ef757946344cf3ae03487"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obsolete, has no effect. <br /></td></tr>
<tr class="separator:a84b8c08e942ef757946344cf3ae03487"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7039fb6fb9cb00f8e223a05e1ee436b" id="r_af7039fb6fb9cb00f8e223a05e1ee436b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#af7039fb6fb9cb00f8e223a05e1ee436b">ENDIF</a></td></tr>
<tr class="memdesc:af7039fb6fb9cb00f8e223a05e1ee436b"><td class="mdescLeft">&#160;</td><td class="mdescRight">determines end of <a class="el" href="EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716" title="Checks sensor state, If false jumps to matching nested ELSE or ENDIF.">IF(any type)</a> block. IF something ENDIF, or <br />
IF something ELSE something ENDIF <br />
<br /></td></tr>
<tr class="separator:af7039fb6fb9cb00f8e223a05e1ee436b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6265416c68524e78e50969fc02b0a156" id="r_a6265416c68524e78e50969fc02b0a156"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a6265416c68524e78e50969fc02b0a156">ENDTASK</a></td></tr>
<tr class="memdesc:a6265416c68524e78e50969fc02b0a156"><td class="mdescLeft">&#160;</td><td class="mdescRight">same as DONE <br /></td></tr>
<tr class="separator:a6265416c68524e78e50969fc02b0a156"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabdbe5a94653ed44948a15bbf036879a" id="r_aabdbe5a94653ed44948a15bbf036879a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aabdbe5a94653ed44948a15bbf036879a">ESTOP</a></td></tr>
<tr class="memdesc:aabdbe5a94653ed44948a15bbf036879a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs emergency stop on current task loco. <br /></td></tr>
<tr class="separator:aabdbe5a94653ed44948a15bbf036879a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade88b476dc27d92754a69a49b9a7c396" id="r_ade88b476dc27d92754a69a49b9a7c396"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ade88b476dc27d92754a69a49b9a7c396">EXRAIL</a></td></tr>
<tr class="memdesc:ade88b476dc27d92754a69a49b9a7c396"><td class="mdescLeft">&#160;</td><td class="mdescRight">OBSOLETE ignored. <br /></td></tr>
<tr class="separator:ade88b476dc27d92754a69a49b9a7c396"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fdca4b7f37698941742674af6a46c36" id="r_a1fdca4b7f37698941742674af6a46c36"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a1fdca4b7f37698941742674af6a46c36">EXTT_TURNTABLE</a>(id, vpin, home, description...)</td></tr>
<tr class="memdesc:a1fdca4b7f37698941742674af6a46c36"><td class="mdescLeft">&#160;</td><td class="mdescRight">?????????????????????? <br /></td></tr>
<tr class="separator:a1fdca4b7f37698941742674af6a46c36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b63d087951e73299ca8c0cef37deb54" id="r_a7b63d087951e73299ca8c0cef37deb54"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a7b63d087951e73299ca8c0cef37deb54">FADE</a>(pin, value, ms)</td></tr>
<tr class="memdesc:a7b63d087951e73299ca8c0cef37deb54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modifies analog value slowly taking a given time. <br /></td></tr>
<tr class="separator:a7b63d087951e73299ca8c0cef37deb54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdd91c227513d7c27086c8764810db5d" id="r_abdd91c227513d7c27086c8764810db5d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#abdd91c227513d7c27086c8764810db5d">FOFF</a>(func)</td></tr>
<tr class="memdesc:abdd91c227513d7c27086c8764810db5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turns off loco function for current loco. <br /></td></tr>
<tr class="separator:abdd91c227513d7c27086c8764810db5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c0e7dd53e0ea6fb76b0b3cbaaa37853" id="r_a9c0e7dd53e0ea6fb76b0b3cbaaa37853"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a9c0e7dd53e0ea6fb76b0b3cbaaa37853">FOLLOW</a>(route)</td></tr>
<tr class="memdesc:a9c0e7dd53e0ea6fb76b0b3cbaaa37853"><td class="mdescLeft">&#160;</td><td class="mdescRight">Task processing follows given route or sequence (Effectively a GoTo) <br /></td></tr>
<tr class="separator:a9c0e7dd53e0ea6fb76b0b3cbaaa37853"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2737b92d5d09d27f9df833715c1152ed" id="r_a2737b92d5d09d27f9df833715c1152ed"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a2737b92d5d09d27f9df833715c1152ed">FON</a>(func)</td></tr>
<tr class="memdesc:a2737b92d5d09d27f9df833715c1152ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn on current loc finction. <br /></td></tr>
<tr class="separator:a2737b92d5d09d27f9df833715c1152ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f423216315b68df133793a982417f00" id="r_a6f423216315b68df133793a982417f00"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a6f423216315b68df133793a982417f00">FORGET</a></td></tr>
<tr class="memdesc:a6f423216315b68df133793a982417f00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes current loco from task and DCC reminders table. <br /></td></tr>
<tr class="separator:a6f423216315b68df133793a982417f00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc491c9cb857225c0c499de7ba7a937a" id="r_acc491c9cb857225c0c499de7ba7a937a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#acc491c9cb857225c0c499de7ba7a937a">FREE</a>(blockid)</td></tr>
<tr class="memdesc:acc491c9cb857225c0c499de7ba7a937a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees logical token for given block. <br /></td></tr>
<tr class="separator:acc491c9cb857225c0c499de7ba7a937a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f4857539b53cbe918c3d371cf7686a9" id="r_a3f4857539b53cbe918c3d371cf7686a9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a3f4857539b53cbe918c3d371cf7686a9">FTOGGLE</a>(func)</td></tr>
<tr class="memdesc:a3f4857539b53cbe918c3d371cf7686a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Toggles function for current loco. <br /></td></tr>
<tr class="separator:a3f4857539b53cbe918c3d371cf7686a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a365db567aafba224366b6fc700ab641b" id="r_a365db567aafba224366b6fc700ab641b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a365db567aafba224366b6fc700ab641b">FWD</a>(speed)</td></tr>
<tr class="memdesc:a365db567aafba224366b6fc700ab641b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instructs current loco to set DCC speed. <br /></td></tr>
<tr class="separator:a365db567aafba224366b6fc700ab641b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64211c6331055df9c457e2157772161c" id="r_a64211c6331055df9c457e2157772161c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a64211c6331055df9c457e2157772161c">GREEN</a>(signal_id)</td></tr>
<tr class="memdesc:a64211c6331055df9c457e2157772161c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets signal to green state. <br /></td></tr>
<tr class="separator:a64211c6331055df9c457e2157772161c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61060739b28d8e98a08d8ecd72fc2a15" id="r_a61060739b28d8e98a08d8ecd72fc2a15"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a61060739b28d8e98a08d8ecd72fc2a15">HAL</a>(haltype, params...)</td></tr>
<tr class="memdesc:a61060739b28d8e98a08d8ecd72fc2a15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines VPIN mapping for specific hardware drivers. <br /></td></tr>
<tr class="separator:a61060739b28d8e98a08d8ecd72fc2a15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8584b644c544c95f8ecab8997a66373" id="r_ae8584b644c544c95f8ecab8997a66373"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ae8584b644c544c95f8ecab8997a66373">HAL_IGNORE_DEFAULTS</a></td></tr>
<tr class="memdesc:ae8584b644c544c95f8ecab8997a66373"><td class="mdescLeft">&#160;</td><td class="mdescRight">System will ignore default HAL settings. <br /></td></tr>
<tr class="separator:ae8584b644c544c95f8ecab8997a66373"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a690e2a6e6efa3ceb53436810b3abe716" id="r_a690e2a6e6efa3ceb53436810b3abe716"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716">IF</a>(sensor_id)</td></tr>
<tr class="memdesc:a690e2a6e6efa3ceb53436810b3abe716"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks sensor state, If false jumps to matching nested ELSE or ENDIF. <br /></td></tr>
<tr class="separator:a690e2a6e6efa3ceb53436810b3abe716"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72395eb98f4c3b45a4b8481ae164e03e" id="r_a72395eb98f4c3b45a4b8481ae164e03e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a72395eb98f4c3b45a4b8481ae164e03e">IFAMBER</a>(signal_id)</td></tr>
<tr class="memdesc:a72395eb98f4c3b45a4b8481ae164e03e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if signal is in AMBER state. <br /></td></tr>
<tr class="separator:a72395eb98f4c3b45a4b8481ae164e03e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6138f118ca866e90ed256c4fd575f85" id="r_ab6138f118ca866e90ed256c4fd575f85"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ab6138f118ca866e90ed256c4fd575f85">IFCLOSED</a>(turnout_id)</td></tr>
<tr class="memdesc:ab6138f118ca866e90ed256c4fd575f85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if given turnout is in close state. <br /></td></tr>
<tr class="separator:ab6138f118ca866e90ed256c4fd575f85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a538a9a1e2a408d0a2ef85aaa3fc7855e" id="r_a538a9a1e2a408d0a2ef85aaa3fc7855e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a538a9a1e2a408d0a2ef85aaa3fc7855e">IFGREEN</a>(signal_id)</td></tr>
<tr class="memdesc:a538a9a1e2a408d0a2ef85aaa3fc7855e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if given signal is in GREEN state. <br /></td></tr>
<tr class="separator:a538a9a1e2a408d0a2ef85aaa3fc7855e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91aafa12888a56d9966c3bfba45db91b" id="r_a91aafa12888a56d9966c3bfba45db91b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a91aafa12888a56d9966c3bfba45db91b">IFGTE</a>(sensor_id, value)</td></tr>
<tr class="memdesc:a91aafa12888a56d9966c3bfba45db91b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if analog sensor &gt;= value. <br /></td></tr>
<tr class="separator:a91aafa12888a56d9966c3bfba45db91b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bdad647a965f954db0348e442f14d62" id="r_a0bdad647a965f954db0348e442f14d62"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a0bdad647a965f954db0348e442f14d62">IFLOCO</a>(loco_id)</td></tr>
<tr class="memdesc:a0bdad647a965f954db0348e442f14d62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if current task loco = loco_id. <br /></td></tr>
<tr class="separator:a0bdad647a965f954db0348e442f14d62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbdea8927a0e9e71ac9a017625460e43" id="r_acbdea8927a0e9e71ac9a017625460e43"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#acbdea8927a0e9e71ac9a017625460e43">IFLT</a>(sensor_id, value)</td></tr>
<tr class="memdesc:acbdea8927a0e9e71ac9a017625460e43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if analog sensor &lt; value. <br /></td></tr>
<tr class="separator:acbdea8927a0e9e71ac9a017625460e43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b0f32ca3122ee36c54256ebee7e5b42" id="r_a4b0f32ca3122ee36c54256ebee7e5b42"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a4b0f32ca3122ee36c54256ebee7e5b42">IFNOT</a>(sensor_id)</td></tr>
<tr class="memdesc:a4b0f32ca3122ee36c54256ebee7e5b42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inverse of IF. <br /></td></tr>
<tr class="separator:a4b0f32ca3122ee36c54256ebee7e5b42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3e0c38b8357c68166a3353c7f54ef7f" id="r_af3e0c38b8357c68166a3353c7f54ef7f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#af3e0c38b8357c68166a3353c7f54ef7f">IFRANDOM</a>(percent)</td></tr>
<tr class="memdesc:af3e0c38b8357c68166a3353c7f54ef7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">randomly satisfield IF at given percent probability <br /></td></tr>
<tr class="separator:af3e0c38b8357c68166a3353c7f54ef7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb74f6001374cfc5208dc57383728ae4" id="r_acb74f6001374cfc5208dc57383728ae4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#acb74f6001374cfc5208dc57383728ae4">IFRED</a>(signal_id)</td></tr>
<tr class="memdesc:acb74f6001374cfc5208dc57383728ae4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if given signal is in RED state. <br /></td></tr>
<tr class="separator:acb74f6001374cfc5208dc57383728ae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb149e14016e9361c416f1622645c4c2" id="r_aeb149e14016e9361c416f1622645c4c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aeb149e14016e9361c416f1622645c4c2">IFTHROWN</a>(turnout_id)</td></tr>
<tr class="memdesc:aeb149e14016e9361c416f1622645c4c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if given turnout is in THROWN state. <br /></td></tr>
<tr class="separator:aeb149e14016e9361c416f1622645c4c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5737c12c58585febecaba35e42e31dff" id="r_a5737c12c58585febecaba35e42e31dff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a5737c12c58585febecaba35e42e31dff">IFRESERVE</a>(block)</td></tr>
<tr class="memdesc:a5737c12c58585febecaba35e42e31dff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Agttempts to reserve block token and if satisfiled the block remains reserved. <br /></td></tr>
<tr class="separator:a5737c12c58585febecaba35e42e31dff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82125b07ba127a3f91f75fc7388b9f5a" id="r_a82125b07ba127a3f91f75fc7388b9f5a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a82125b07ba127a3f91f75fc7388b9f5a">IFTIMEOUT</a></td></tr>
<tr class="memdesc:a82125b07ba127a3f91f75fc7388b9f5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks TIMEOUT state after an AT/AFTER request with timeout value. <br /></td></tr>
<tr class="separator:a82125b07ba127a3f91f75fc7388b9f5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9af3b2d3ffba102abeab145c692aacc1" id="r_a9af3b2d3ffba102abeab145c692aacc1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a9af3b2d3ffba102abeab145c692aacc1">IFTTPOSITION</a>(turntable_id, position)</td></tr>
<tr class="memdesc:a9af3b2d3ffba102abeab145c692aacc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if GTurntable is in given position. <br /></td></tr>
<tr class="separator:a9af3b2d3ffba102abeab145c692aacc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9513b8b9ca6c74f7075f7a1d4fcb100e" id="r_a9513b8b9ca6c74f7075f7a1d4fcb100e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a9513b8b9ca6c74f7075f7a1d4fcb100e">IFRE</a>(sensor_id, value)</td></tr>
<tr class="memdesc:a9513b8b9ca6c74f7075f7a1d4fcb100e"><td class="mdescLeft">&#160;</td><td class="mdescRight">???????????????????????????????????????? <br /></td></tr>
<tr class="separator:a9513b8b9ca6c74f7075f7a1d4fcb100e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a1098c94713ea9dc547068ee042bf62" id="r_a5a1098c94713ea9dc547068ee042bf62"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a5a1098c94713ea9dc547068ee042bf62">INVERT_DIRECTION</a></td></tr>
<tr class="memdesc:a5a1098c94713ea9dc547068ee042bf62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marks current task so that FWD and REV commands are inverted. <br /></td></tr>
<tr class="separator:a5a1098c94713ea9dc547068ee042bf62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86a4a74da3fa02dda26922e9c221ce02" id="r_a86a4a74da3fa02dda26922e9c221ce02"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a86a4a74da3fa02dda26922e9c221ce02">JMRI_SENSOR</a>(vpin, count...)</td></tr>
<tr class="memdesc:a86a4a74da3fa02dda26922e9c221ce02"><td class="mdescLeft">&#160;</td><td class="mdescRight">DEfines multiple JMRI <s> type sensor feedback definitions each with id matching vpin. </s> <br /></td></tr>
<tr class="separator:a86a4a74da3fa02dda26922e9c221ce02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a216b2abde239eb946227cab4973b5bc8" id="r_a216b2abde239eb946227cab4973b5bc8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a216b2abde239eb946227cab4973b5bc8">JOIN</a></td></tr>
<tr class="memdesc:a216b2abde239eb946227cab4973b5bc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Switches PROG track to receive MAIN track DCC packets. (Drive on PROG track) <br /></td></tr>
<tr class="separator:a216b2abde239eb946227cab4973b5bc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2df07bb601ee833a54cc2908e9a6c193" id="r_a2df07bb601ee833a54cc2908e9a6c193"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a2df07bb601ee833a54cc2908e9a6c193">KILLALL</a></td></tr>
<tr class="memdesc:a2df07bb601ee833a54cc2908e9a6c193"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tertminates all running EXRAIL tasks. <br /></td></tr>
<tr class="separator:a2df07bb601ee833a54cc2908e9a6c193"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a536efd8d6904fd270d01c696423f1ddf" id="r_a536efd8d6904fd270d01c696423f1ddf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a536efd8d6904fd270d01c696423f1ddf">LATCH</a>(sensor_id)</td></tr>
<tr class="memdesc:a536efd8d6904fd270d01c696423f1ddf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make all AT/AFTER/IF see sensor active without checking hardware. <br /></td></tr>
<tr class="separator:a536efd8d6904fd270d01c696423f1ddf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa6476b07460f645b3d7a9bdadf5ff28" id="r_afa6476b07460f645b3d7a9bdadf5ff28"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#afa6476b07460f645b3d7a9bdadf5ff28">LCC</a>(eventid)</td></tr>
<tr class="memdesc:afa6476b07460f645b3d7a9bdadf5ff28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue event to LCC. <br /></td></tr>
<tr class="separator:afa6476b07460f645b3d7a9bdadf5ff28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b166b386dca4e38e23f304ebff8697c" id="r_a1b166b386dca4e38e23f304ebff8697c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a1b166b386dca4e38e23f304ebff8697c">LCCX</a>(senderid, eventid)</td></tr>
<tr class="memdesc:a1b166b386dca4e38e23f304ebff8697c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue LCC event while impersonating another sender. <br /></td></tr>
<tr class="separator:a1b166b386dca4e38e23f304ebff8697c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84fc3791fae6ef620ccdb4064d7cdde6" id="r_a84fc3791fae6ef620ccdb4064d7cdde6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a84fc3791fae6ef620ccdb4064d7cdde6">LCD</a>(row, msg)</td></tr>
<tr class="memdesc:a84fc3791fae6ef620ccdb4064d7cdde6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write message on row of default configured LCD/OLED. <br /></td></tr>
<tr class="separator:a84fc3791fae6ef620ccdb4064d7cdde6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6d89a17454e176bd2f421e8a13d538a" id="r_ae6d89a17454e176bd2f421e8a13d538a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ae6d89a17454e176bd2f421e8a13d538a">SCREEN</a>(display, row, msg)</td></tr>
<tr class="memdesc:ae6d89a17454e176bd2f421e8a13d538a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send message to external display hadlers. <br /></td></tr>
<tr class="separator:ae6d89a17454e176bd2f421e8a13d538a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeaa002c5fa9b7f41a53903b1cbc7bdbf" id="r_aeaa002c5fa9b7f41a53903b1cbc7bdbf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aeaa002c5fa9b7f41a53903b1cbc7bdbf">LCN</a>(msg)</td></tr>
<tr class="memdesc:aeaa002c5fa9b7f41a53903b1cbc7bdbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">?????? <br /></td></tr>
<tr class="separator:aeaa002c5fa9b7f41a53903b1cbc7bdbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4422df972fe651ff638fdcdadae9af39" id="r_a4422df972fe651ff638fdcdadae9af39"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a4422df972fe651ff638fdcdadae9af39">MESSAGE</a>(msg)</td></tr>
<tr class="memdesc:a4422df972fe651ff638fdcdadae9af39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a human readable message to all throttle users. <br /></td></tr>
<tr class="separator:a4422df972fe651ff638fdcdadae9af39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b479617d5942030fd9c6e535a5e408e" id="r_a9b479617d5942030fd9c6e535a5e408e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a9b479617d5942030fd9c6e535a5e408e">MOVETT</a>(id, steps, activity)</td></tr>
<tr class="memdesc:a9b479617d5942030fd9c6e535a5e408e"><td class="mdescLeft">&#160;</td><td class="mdescRight">??????????????????? <br /></td></tr>
<tr class="separator:a9b479617d5942030fd9c6e535a5e408e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a324d13015faa6ed2d875ce7c30d41924" id="r_a324d13015faa6ed2d875ce7c30d41924"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a324d13015faa6ed2d875ce7c30d41924">NEOPIXEL</a>(id, r, g, b, count...)</td></tr>
<tr class="memdesc:a324d13015faa6ed2d875ce7c30d41924"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a NEOPIXEL vpin to a given red/green/blue colour. <br /></td></tr>
<tr class="separator:a324d13015faa6ed2d875ce7c30d41924"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ec327b78a557688df073fedd42708b1" id="r_a5ec327b78a557688df073fedd42708b1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a5ec327b78a557688df073fedd42708b1">NEOPIXEL_SIGNAL</a>(sigid, redcolour, ambercolour, greencolour)</td></tr>
<tr class="memdesc:a5ec327b78a557688df073fedd42708b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define a signal that uses a single multi colour pixel. <br /></td></tr>
<tr class="separator:a5ec327b78a557688df073fedd42708b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a535706da7c1f98bc8da71a3d938fa13b" id="r_a535706da7c1f98bc8da71a3d938fa13b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a535706da7c1f98bc8da71a3d938fa13b">ACON</a>(eventid)</td></tr>
<tr class="memdesc:a535706da7c1f98bc8da71a3d938fa13b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send MERG CBUS ACON to Adapter. <br /></td></tr>
<tr class="separator:a535706da7c1f98bc8da71a3d938fa13b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70413e5680ed0b35bf056f65f4c79745" id="r_a70413e5680ed0b35bf056f65f4c79745"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a70413e5680ed0b35bf056f65f4c79745">ACOF</a>(eventid)</td></tr>
<tr class="memdesc:a70413e5680ed0b35bf056f65f4c79745"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send MERG CBUS ACOF to Adapter. <br /></td></tr>
<tr class="separator:a70413e5680ed0b35bf056f65f4c79745"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab94114ce2f804d9368b7ff4e5130caf6" id="r_ab94114ce2f804d9368b7ff4e5130caf6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ab94114ce2f804d9368b7ff4e5130caf6">ONACON</a>(eventid)</td></tr>
<tr class="memdesc:ab94114ce2f804d9368b7ff4e5130caf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when ACON for event receied from MERG CBUS. <br /></td></tr>
<tr class="separator:ab94114ce2f804d9368b7ff4e5130caf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09acdd0240980bae132886db2d40b424" id="r_a09acdd0240980bae132886db2d40b424"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a09acdd0240980bae132886db2d40b424">ONACOF</a>(eventid)</td></tr>
<tr class="memdesc:a09acdd0240980bae132886db2d40b424"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when ACOF for event receied from MERG CBUS. <br /></td></tr>
<tr class="separator:a09acdd0240980bae132886db2d40b424"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3946995752581abcb51dda3e863e11f" id="r_ae3946995752581abcb51dda3e863e11f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ae3946995752581abcb51dda3e863e11f">ONACTIVATE</a>(addr, subaddr)</td></tr>
<tr class="memdesc:ae3946995752581abcb51dda3e863e11f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when DCC Activate sent for short address. <br /></td></tr>
<tr class="separator:ae3946995752581abcb51dda3e863e11f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21abb9b7e7d11f9f692b21d9164e438f" id="r_a21abb9b7e7d11f9f692b21d9164e438f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a21abb9b7e7d11f9f692b21d9164e438f">ONACTIVATEL</a>(linear)</td></tr>
<tr class="memdesc:a21abb9b7e7d11f9f692b21d9164e438f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when DCC Activate sent for long address. <br /></td></tr>
<tr class="separator:a21abb9b7e7d11f9f692b21d9164e438f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a491c12e424a9d5517063e664be8a5052" id="r_a491c12e424a9d5517063e664be8a5052"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a491c12e424a9d5517063e664be8a5052">ONAMBER</a>(signal_id)</td></tr>
<tr class="memdesc:a491c12e424a9d5517063e664be8a5052"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when signal set to AMBER state. <br /></td></tr>
<tr class="separator:a491c12e424a9d5517063e664be8a5052"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8ea5fef52ffb27ff64f415de4e8fee6" id="r_ad8ea5fef52ffb27ff64f415de4e8fee6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ad8ea5fef52ffb27ff64f415de4e8fee6">ONTIME</a>(value)</td></tr>
<tr class="memdesc:ad8ea5fef52ffb27ff64f415de4e8fee6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when fastclock mins in day=value. <br /></td></tr>
<tr class="separator:ad8ea5fef52ffb27ff64f415de4e8fee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6469c9fc9dd75782081dfb13aa1f88de" id="r_a6469c9fc9dd75782081dfb13aa1f88de"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a6469c9fc9dd75782081dfb13aa1f88de">ONCLOCKTIME</a>(hours, mins)</td></tr>
<tr class="memdesc:a6469c9fc9dd75782081dfb13aa1f88de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when fastclock matches time. <br /></td></tr>
<tr class="separator:a6469c9fc9dd75782081dfb13aa1f88de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32223f307c375b26add6586e992851be" id="r_a32223f307c375b26add6586e992851be"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a32223f307c375b26add6586e992851be">ONCLOCKMINS</a>(mins)</td></tr>
<tr class="memdesc:a32223f307c375b26add6586e992851be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here hourly when fastclock minutes matches. <br /></td></tr>
<tr class="separator:a32223f307c375b26add6586e992851be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8da16e9be59349774a452191459192cd" id="r_a8da16e9be59349774a452191459192cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a8da16e9be59349774a452191459192cd">ONOVERLOAD</a>(track_id)</td></tr>
<tr class="memdesc:a8da16e9be59349774a452191459192cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when given track goes into overload. <br /></td></tr>
<tr class="separator:a8da16e9be59349774a452191459192cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81b021dce212912ba85ed4cdc63e084f" id="r_a81b021dce212912ba85ed4cdc63e084f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a81b021dce212912ba85ed4cdc63e084f">ONDEACTIVATE</a>(addr, subaddr)</td></tr>
<tr class="memdesc:a81b021dce212912ba85ed4cdc63e084f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when DCC deactivate packet sent. <br /></td></tr>
<tr class="separator:a81b021dce212912ba85ed4cdc63e084f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a026fbdcd4f1c2ae458d49837898f5974" id="r_a026fbdcd4f1c2ae458d49837898f5974"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a026fbdcd4f1c2ae458d49837898f5974">ONDEACTIVATEL</a>(linear)</td></tr>
<tr class="memdesc:a026fbdcd4f1c2ae458d49837898f5974"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when DCC deactivate sent to linear address. <br /></td></tr>
<tr class="separator:a026fbdcd4f1c2ae458d49837898f5974"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a383f82cb960c25f73c17c0e2088aa12a" id="r_a383f82cb960c25f73c17c0e2088aa12a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a383f82cb960c25f73c17c0e2088aa12a">ONCLOSE</a>(turnout_id)</td></tr>
<tr class="memdesc:a383f82cb960c25f73c17c0e2088aa12a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when turnout closed. <br /></td></tr>
<tr class="separator:a383f82cb960c25f73c17c0e2088aa12a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76bdc460ab7ff68cf2f06955a06c83d9" id="r_a76bdc460ab7ff68cf2f06955a06c83d9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a76bdc460ab7ff68cf2f06955a06c83d9">ONLCC</a>(sender, event)</td></tr>
<tr class="memdesc:a76bdc460ab7ff68cf2f06955a06c83d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">?????????????????? <br /></td></tr>
<tr class="separator:a76bdc460ab7ff68cf2f06955a06c83d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a648c217ce4240e2c4ae497b02b785626" id="r_a648c217ce4240e2c4ae497b02b785626"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a648c217ce4240e2c4ae497b02b785626">ONGREEN</a>(signal_id)</td></tr>
<tr class="memdesc:a648c217ce4240e2c4ae497b02b785626"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when signal set to GREEN state. <br /></td></tr>
<tr class="separator:a648c217ce4240e2c4ae497b02b785626"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcc4c2161bb0de1be05b5a4f0583cc98" id="r_afcc4c2161bb0de1be05b5a4f0583cc98"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#afcc4c2161bb0de1be05b5a4f0583cc98">ONRED</a>(signal_id)</td></tr>
<tr class="memdesc:afcc4c2161bb0de1be05b5a4f0583cc98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when signal set to RED state. <br /></td></tr>
<tr class="separator:afcc4c2161bb0de1be05b5a4f0583cc98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3499d6c525dba6638990b862bc16dbbf" id="r_a3499d6c525dba6638990b862bc16dbbf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a3499d6c525dba6638990b862bc16dbbf">ONROTATE</a>(turntable_id)</td></tr>
<tr class="memdesc:a3499d6c525dba6638990b862bc16dbbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when turntable is rotated. <br /></td></tr>
<tr class="separator:a3499d6c525dba6638990b862bc16dbbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb0109a23f9137762230734c39be2387" id="r_aeb0109a23f9137762230734c39be2387"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aeb0109a23f9137762230734c39be2387">ONTHROW</a>(turnout_id)</td></tr>
<tr class="memdesc:aeb0109a23f9137762230734c39be2387"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when turnout is Thrown. <br /></td></tr>
<tr class="separator:aeb0109a23f9137762230734c39be2387"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e8e60404581f05ed5448ff1f8aae4b5" id="r_a1e8e60404581f05ed5448ff1f8aae4b5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a1e8e60404581f05ed5448ff1f8aae4b5">ONCHANGE</a>(sensor_id)</td></tr>
<tr class="memdesc:a1e8e60404581f05ed5448ff1f8aae4b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">??????????????????? <br /></td></tr>
<tr class="separator:a1e8e60404581f05ed5448ff1f8aae4b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2ae04e0120e155d9f6f92e81ddb4065" id="r_ab2ae04e0120e155d9f6f92e81ddb4065"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ab2ae04e0120e155d9f6f92e81ddb4065">ONSENSOR</a>(sensor_id)</td></tr>
<tr class="memdesc:ab2ae04e0120e155d9f6f92e81ddb4065"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when sensor changes state (debounced) <br /></td></tr>
<tr class="separator:ab2ae04e0120e155d9f6f92e81ddb4065"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8232df833de6b06f70665ee2981ec635" id="r_a8232df833de6b06f70665ee2981ec635"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a8232df833de6b06f70665ee2981ec635">ONBUTTON</a>(sensor_id)</td></tr>
<tr class="memdesc:a8232df833de6b06f70665ee2981ec635"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start task here when sensor changes HIGH to LOW. <br /></td></tr>
<tr class="separator:a8232df833de6b06f70665ee2981ec635"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5666ac5930c9f903698073ab1fa694f7" id="r_a5666ac5930c9f903698073ab1fa694f7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a5666ac5930c9f903698073ab1fa694f7">PAUSE</a></td></tr>
<tr class="memdesc:a5666ac5930c9f903698073ab1fa694f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pauses all EXRAIL tasks except the curremnt one. Other tasks ESTOP their locos until RESUME issued. <br /></td></tr>
<tr class="separator:a5666ac5930c9f903698073ab1fa694f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ce4f6470c9710fe08ffbd8206118b28" id="r_a2ce4f6470c9710fe08ffbd8206118b28"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a2ce4f6470c9710fe08ffbd8206118b28">PIN_TURNOUT</a>(id, pin, description...)</td></tr>
<tr class="memdesc:a2ce4f6470c9710fe08ffbd8206118b28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines a tirnout which operates on a signle pin. <br /></td></tr>
<tr class="separator:a2ce4f6470c9710fe08ffbd8206118b28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a994cb1e8771e881023efb47d91c58fbb" id="r_a994cb1e8771e881023efb47d91c58fbb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a994cb1e8771e881023efb47d91c58fbb">PRINT</a>(msg)</td></tr>
<tr class="memdesc:a994cb1e8771e881023efb47d91c58fbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">prints diagnostic message on USB serial <br /></td></tr>
<tr class="separator:a994cb1e8771e881023efb47d91c58fbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacf4be4d1a978c9eeab3a56e2598c515" id="r_aacf4be4d1a978c9eeab3a56e2598c515"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aacf4be4d1a978c9eeab3a56e2598c515">PARSE</a>(msg)</td></tr>
<tr class="memdesc:aacf4be4d1a978c9eeab3a56e2598c515"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes &lt;&gt; command as if entered from serial. <br /></td></tr>
<tr class="separator:aacf4be4d1a978c9eeab3a56e2598c515"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70a2e2ed55ce56b83ea9bc4585551403" id="r_a70a2e2ed55ce56b83ea9bc4585551403"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a70a2e2ed55ce56b83ea9bc4585551403">PICKUP_STASH</a>(id)</td></tr>
<tr class="memdesc:a70a2e2ed55ce56b83ea9bc4585551403"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads stashed value into current task loco. <br /></td></tr>
<tr class="separator:a70a2e2ed55ce56b83ea9bc4585551403"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31bc8c0f139c18393eff4c262094ec48" id="r_a31bc8c0f139c18393eff4c262094ec48"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a31bc8c0f139c18393eff4c262094ec48">POM</a>(cv, value)</td></tr>
<tr class="memdesc:a31bc8c0f139c18393eff4c262094ec48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write value to cv on current tasks loco (Program on Main) <br /></td></tr>
<tr class="separator:a31bc8c0f139c18393eff4c262094ec48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7502455c229b24eb51d67f29160e40c" id="r_aa7502455c229b24eb51d67f29160e40c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aa7502455c229b24eb51d67f29160e40c">POWEROFF</a></td></tr>
<tr class="memdesc:aa7502455c229b24eb51d67f29160e40c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Powers off all tracks. <br /></td></tr>
<tr class="separator:aa7502455c229b24eb51d67f29160e40c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a3829e9a41139ba8c7e36b0be5a3179" id="r_a5a3829e9a41139ba8c7e36b0be5a3179"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a5a3829e9a41139ba8c7e36b0be5a3179">POWERON</a></td></tr>
<tr class="memdesc:a5a3829e9a41139ba8c7e36b0be5a3179"><td class="mdescLeft">&#160;</td><td class="mdescRight">Powers ON all tracks. <br /></td></tr>
<tr class="separator:a5a3829e9a41139ba8c7e36b0be5a3179"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad332f331a3ea3757c168d57b5756d6c1" id="r_ad332f331a3ea3757c168d57b5756d6c1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ad332f331a3ea3757c168d57b5756d6c1">READ_LOCO</a></td></tr>
<tr class="memdesc:ad332f331a3ea3757c168d57b5756d6c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads loco Id from prog traqck and sets currenmt task loco id. <br /></td></tr>
<tr class="separator:ad332f331a3ea3757c168d57b5756d6c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bcac9194342e810d417b2bb90ca93ab" id="r_a0bcac9194342e810d417b2bb90ca93ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a0bcac9194342e810d417b2bb90ca93ab">RED</a>(signal_id)</td></tr>
<tr class="memdesc:a0bcac9194342e810d417b2bb90ca93ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">sets signal to RED state <br /></td></tr>
<tr class="separator:a0bcac9194342e810d417b2bb90ca93ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2072b24e631bc3acdd67fa34e217de5" id="r_ac2072b24e631bc3acdd67fa34e217de5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ac2072b24e631bc3acdd67fa34e217de5">RESERVE</a>(blockid)</td></tr>
<tr class="memdesc:ac2072b24e631bc3acdd67fa34e217de5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for token for block. If not available immediately, current task loco is stopped. <br /></td></tr>
<tr class="separator:ac2072b24e631bc3acdd67fa34e217de5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef5c353a82d9456fd0f269bf40dc439a" id="r_aef5c353a82d9456fd0f269bf40dc439a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aef5c353a82d9456fd0f269bf40dc439a">RESET</a>(pin, count...)</td></tr>
<tr class="memdesc:aef5c353a82d9456fd0f269bf40dc439a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets output puin LOW. <br /></td></tr>
<tr class="separator:aef5c353a82d9456fd0f269bf40dc439a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58ed6a8ccad6ef42dc18ad5cfe848256" id="r_a58ed6a8ccad6ef42dc18ad5cfe848256"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a58ed6a8ccad6ef42dc18ad5cfe848256">RESUME</a></td></tr>
<tr class="memdesc:a58ed6a8ccad6ef42dc18ad5cfe848256"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resumes PAUSEd tasks. <br /></td></tr>
<tr class="separator:a58ed6a8ccad6ef42dc18ad5cfe848256"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a0e6b80dd3d5ca395cf58151749f5e2" id="r_a6a0e6b80dd3d5ca395cf58151749f5e2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a6a0e6b80dd3d5ca395cf58151749f5e2">RETURN</a></td></tr>
<tr class="memdesc:a6a0e6b80dd3d5ca395cf58151749f5e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns to CALL. <br /></td></tr>
<tr class="separator:a6a0e6b80dd3d5ca395cf58151749f5e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f6726d7de43adb7a87d866e3e87256f" id="r_a0f6726d7de43adb7a87d866e3e87256f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a0f6726d7de43adb7a87d866e3e87256f">REV</a>(speed)</td></tr>
<tr class="memdesc:a0f6726d7de43adb7a87d866e3e87256f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issues DCC speed packet for current loco in reverse. <br /></td></tr>
<tr class="separator:a0f6726d7de43adb7a87d866e3e87256f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3652e188edfd920cc3e40a715a740450" id="r_a3652e188edfd920cc3e40a715a740450"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a3652e188edfd920cc3e40a715a740450">ROTATE</a>(turntable_id, position, activity)</td></tr>
<tr class="memdesc:a3652e188edfd920cc3e40a715a740450"><td class="mdescLeft">&#160;</td><td class="mdescRight">???? <br /></td></tr>
<tr class="separator:a3652e188edfd920cc3e40a715a740450"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05cfc12f11a0e0578c4dc6ba4add7606" id="r_a05cfc12f11a0e0578c4dc6ba4add7606"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a05cfc12f11a0e0578c4dc6ba4add7606">ROTATE_DCC</a>(turntable_id, position)</td></tr>
<tr class="memdesc:a05cfc12f11a0e0578c4dc6ba4add7606"><td class="mdescLeft">&#160;</td><td class="mdescRight">???? <br /></td></tr>
<tr class="separator:a05cfc12f11a0e0578c4dc6ba4add7606"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbdd2d0105690a2fb54b77e92bfb04ff" id="r_abbdd2d0105690a2fb54b77e92bfb04ff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#abbdd2d0105690a2fb54b77e92bfb04ff">ROSTER</a>(cab, name, funcmap...)</td></tr>
<tr class="memdesc:abbdd2d0105690a2fb54b77e92bfb04ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describes a loco roster entry visible to throttles. <br /></td></tr>
<tr class="separator:abbdd2d0105690a2fb54b77e92bfb04ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad2345d94607c710c5548e75e2c0e1ac" id="r_aad2345d94607c710c5548e75e2c0e1ac"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aad2345d94607c710c5548e75e2c0e1ac">ROUTE</a>(id, description)</td></tr>
<tr class="memdesc:aad2345d94607c710c5548e75e2c0e1ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">DEfines starting point of a sequence that will appear as a route on throttle buttons. <br /></td></tr>
<tr class="separator:aad2345d94607c710c5548e75e2c0e1ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60da2e2e3e0d0645480bf163d01526e7" id="r_a60da2e2e3e0d0645480bf163d01526e7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a60da2e2e3e0d0645480bf163d01526e7">ROUTE_ACTIVE</a>(id)</td></tr>
<tr class="memdesc:a60da2e2e3e0d0645480bf163d01526e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells throttle to display the route button as active. <br /></td></tr>
<tr class="separator:a60da2e2e3e0d0645480bf163d01526e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29e1089b7aeb3c58e083905085b10915" id="r_a29e1089b7aeb3c58e083905085b10915"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a29e1089b7aeb3c58e083905085b10915">ROUTE_INACTIVE</a>(id)</td></tr>
<tr class="memdesc:a29e1089b7aeb3c58e083905085b10915"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells throttle to display the route button as inactive. <br /></td></tr>
<tr class="separator:a29e1089b7aeb3c58e083905085b10915"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5f2944b1e81db4a90c5c2b8071c66a5" id="r_aa5f2944b1e81db4a90c5c2b8071c66a5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aa5f2944b1e81db4a90c5c2b8071c66a5">ROUTE_HIDDEN</a>(id)</td></tr>
<tr class="memdesc:aa5f2944b1e81db4a90c5c2b8071c66a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells throttle to hide the route button. <br /></td></tr>
<tr class="separator:aa5f2944b1e81db4a90c5c2b8071c66a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02b16763dab59948e7b04d6688580a84" id="r_a02b16763dab59948e7b04d6688580a84"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a02b16763dab59948e7b04d6688580a84">ROUTE_DISABLED</a>(id)</td></tr>
<tr class="memdesc:a02b16763dab59948e7b04d6688580a84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells throttle to display the route button as disabled. <br /></td></tr>
<tr class="separator:a02b16763dab59948e7b04d6688580a84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07f63aaa9372c96f8b81272d313e0986" id="r_a07f63aaa9372c96f8b81272d313e0986"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a07f63aaa9372c96f8b81272d313e0986">ROUTE_CAPTION</a>(id, caption)</td></tr>
<tr class="memdesc:a07f63aaa9372c96f8b81272d313e0986"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells throttle to change thr route button caption. <br /></td></tr>
<tr class="separator:a07f63aaa9372c96f8b81272d313e0986"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53a603465ab97877abb5cd294de7e6a8" id="r_a53a603465ab97877abb5cd294de7e6a8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a53a603465ab97877abb5cd294de7e6a8">SENDLOCO</a>(cab, route)</td></tr>
<tr class="memdesc:a53a603465ab97877abb5cd294de7e6a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a new task to drive the loco. <br /></td></tr>
<tr class="separator:a53a603465ab97877abb5cd294de7e6a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dfb3fe4a7bce360597a4e9cf672386f" id="r_a1dfb3fe4a7bce360597a4e9cf672386f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a1dfb3fe4a7bce360597a4e9cf672386f">SEQUENCE</a>(id)</td></tr>
<tr class="memdesc:a1dfb3fe4a7bce360597a4e9cf672386f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a unique label than can be used to call, follow or start. <br /></td></tr>
<tr class="separator:a1dfb3fe4a7bce360597a4e9cf672386f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a50f04437200196bbbeb69d698dc296" id="r_a3a50f04437200196bbbeb69d698dc296"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a3a50f04437200196bbbeb69d698dc296">SERIAL</a>(msg)</td></tr>
<tr class="memdesc:a3a50f04437200196bbbeb69d698dc296"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write direct to Serial output. <br /></td></tr>
<tr class="separator:a3a50f04437200196bbbeb69d698dc296"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a067d2982eb485e2f46964de8b2384a45" id="r_a067d2982eb485e2f46964de8b2384a45"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a067d2982eb485e2f46964de8b2384a45">SERIAL1</a>(msg)</td></tr>
<tr class="memdesc:a067d2982eb485e2f46964de8b2384a45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write direct to Serial1 output. <br /></td></tr>
<tr class="separator:a067d2982eb485e2f46964de8b2384a45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad231ff56134875f6cbf13349ddfa9629" id="r_ad231ff56134875f6cbf13349ddfa9629"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ad231ff56134875f6cbf13349ddfa9629">SERIAL2</a>(msg)</td></tr>
<tr class="memdesc:ad231ff56134875f6cbf13349ddfa9629"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write direct to Serial2 output. <br /></td></tr>
<tr class="separator:ad231ff56134875f6cbf13349ddfa9629"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58fa01a8ea8e12c84089d88cc74fe5a7" id="r_a58fa01a8ea8e12c84089d88cc74fe5a7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a58fa01a8ea8e12c84089d88cc74fe5a7">SERIAL3</a>(msg)</td></tr>
<tr class="memdesc:a58fa01a8ea8e12c84089d88cc74fe5a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write direct to Serial3 output. <br /></td></tr>
<tr class="separator:a58fa01a8ea8e12c84089d88cc74fe5a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48238cdad1347bfefb5461a840187915" id="r_a48238cdad1347bfefb5461a840187915"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a48238cdad1347bfefb5461a840187915">SERIAL4</a>(msg)</td></tr>
<tr class="memdesc:a48238cdad1347bfefb5461a840187915"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write direct to Serial4 output. <br /></td></tr>
<tr class="separator:a48238cdad1347bfefb5461a840187915"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fcba2a5d34b5041db52828a20f7656f" id="r_a3fcba2a5d34b5041db52828a20f7656f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a3fcba2a5d34b5041db52828a20f7656f">SERIAL5</a>(msg)</td></tr>
<tr class="memdesc:a3fcba2a5d34b5041db52828a20f7656f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write direct to Serial5 output. <br /></td></tr>
<tr class="separator:a3fcba2a5d34b5041db52828a20f7656f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5130a8e70491e45fb87820c732781ec8" id="r_a5130a8e70491e45fb87820c732781ec8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a5130a8e70491e45fb87820c732781ec8">SERIAL6</a>(msg)</td></tr>
<tr class="memdesc:a5130a8e70491e45fb87820c732781ec8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write direct to Serial6 output. <br /></td></tr>
<tr class="separator:a5130a8e70491e45fb87820c732781ec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa865d4c3fa7f0c35b68568fef65bc18a" id="r_aa865d4c3fa7f0c35b68568fef65bc18a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aa865d4c3fa7f0c35b68568fef65bc18a">SERVO</a>(id, position, profile)</td></tr>
<tr class="memdesc:aa865d4c3fa7f0c35b68568fef65bc18a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move servo to given position. <br /></td></tr>
<tr class="separator:aa865d4c3fa7f0c35b68568fef65bc18a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a786a21b710fb0cc82f128ab0efa7fa13" id="r_a786a21b710fb0cc82f128ab0efa7fa13"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a786a21b710fb0cc82f128ab0efa7fa13">SERVO2</a>(id, position, duration)</td></tr>
<tr class="memdesc:a786a21b710fb0cc82f128ab0efa7fa13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move servo to given position taking time. <br /></td></tr>
<tr class="separator:a786a21b710fb0cc82f128ab0efa7fa13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f5f1472ec136458e64e570e68cc6712" id="r_a5f5f1472ec136458e64e570e68cc6712"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a5f5f1472ec136458e64e570e68cc6712">SERVO_SIGNAL</a>(vpin, redpos, amberpos, greenpos)</td></tr>
<tr class="memdesc:a5f5f1472ec136458e64e570e68cc6712"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dedfine a servo based signal with 3 servo positions. <br /></td></tr>
<tr class="separator:a5f5f1472ec136458e64e570e68cc6712"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4fc60376f8c5a42dbce7a20932ff243" id="r_ab4fc60376f8c5a42dbce7a20932ff243"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ab4fc60376f8c5a42dbce7a20932ff243">SERVO_TURNOUT</a>(id, pin, activeAngle, inactiveAngle, profile, description...)</td></tr>
<tr class="memdesc:ab4fc60376f8c5a42dbce7a20932ff243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define a servo driven turnout. <br /></td></tr>
<tr class="separator:ab4fc60376f8c5a42dbce7a20932ff243"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed0b0857d81395a41a703824431a9c61" id="r_aed0b0857d81395a41a703824431a9c61"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aed0b0857d81395a41a703824431a9c61">SET</a>(pin, count...)</td></tr>
<tr class="memdesc:aed0b0857d81395a41a703824431a9c61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set VPIN HIGH <br />
<br /></td></tr>
<tr class="separator:aed0b0857d81395a41a703824431a9c61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a417be114d20b759fd47c30e908eafa47" id="r_a417be114d20b759fd47c30e908eafa47"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a417be114d20b759fd47c30e908eafa47">SET_TRACK</a>(track, mode)</td></tr>
<tr class="memdesc:a417be114d20b759fd47c30e908eafa47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set output track type. <br /></td></tr>
<tr class="separator:a417be114d20b759fd47c30e908eafa47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa386637f933c51fb82d11d2bb3e6861a" id="r_aa386637f933c51fb82d11d2bb3e6861a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aa386637f933c51fb82d11d2bb3e6861a">SET_POWER</a>(track, onoff)</td></tr>
<tr class="memdesc:aa386637f933c51fb82d11d2bb3e6861a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set track power mode. <br /></td></tr>
<tr class="separator:aa386637f933c51fb82d11d2bb3e6861a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ee77029441d827f816ccca9cd3ba28f" id="r_a0ee77029441d827f816ccca9cd3ba28f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a0ee77029441d827f816ccca9cd3ba28f">SETLOCO</a>(loco)</td></tr>
<tr class="memdesc:a0ee77029441d827f816ccca9cd3ba28f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the loco being handled by the current task. <br /></td></tr>
<tr class="separator:a0ee77029441d827f816ccca9cd3ba28f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b31fba0b3b31fcd9fc2f82fe7fd9873" id="r_a2b31fba0b3b31fcd9fc2f82fe7fd9873"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a2b31fba0b3b31fcd9fc2f82fe7fd9873">SETFREQ</a>(freq)</td></tr>
<tr class="memdesc:a2b31fba0b3b31fcd9fc2f82fe7fd9873"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the DC track PWM frequency. <br /></td></tr>
<tr class="separator:a2b31fba0b3b31fcd9fc2f82fe7fd9873"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dc5ab478e7b3e90cf240a4bbdb47fb2" id="r_a9dc5ab478e7b3e90cf240a4bbdb47fb2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a9dc5ab478e7b3e90cf240a4bbdb47fb2">SIGNAL</a>(redpin, amberpin, greenpin)</td></tr>
<tr class="memdesc:a9dc5ab478e7b3e90cf240a4bbdb47fb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define a Signal with LOW=on leds (is that common annode???) <br /></td></tr>
<tr class="separator:a9dc5ab478e7b3e90cf240a4bbdb47fb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4943c59169d208102931c155765837ab" id="r_a4943c59169d208102931c155765837ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a4943c59169d208102931c155765837ab">SIGNALH</a>(redpin, amberpin, greenpin)</td></tr>
<tr class="memdesc:a4943c59169d208102931c155765837ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">define a signal with HIGH=ON leds <br /></td></tr>
<tr class="separator:a4943c59169d208102931c155765837ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f597e9cdeb815d27f2ea5d692d412a5" id="r_a1f597e9cdeb815d27f2ea5d692d412a5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a1f597e9cdeb815d27f2ea5d692d412a5">SPEED</a>(speed)</td></tr>
<tr class="memdesc:a1f597e9cdeb815d27f2ea5d692d412a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes current tasks loco speed without changing direction. <br /></td></tr>
<tr class="separator:a1f597e9cdeb815d27f2ea5d692d412a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae33b115c278ec32c3647d63566c29748" id="r_ae33b115c278ec32c3647d63566c29748"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ae33b115c278ec32c3647d63566c29748">START</a>(route)</td></tr>
<tr class="memdesc:ae33b115c278ec32c3647d63566c29748"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts a new task at the given route/animation/sequence. <br /></td></tr>
<tr class="separator:ae33b115c278ec32c3647d63566c29748"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28e70cc14a4981022059f9bbcd960dd8" id="r_a28e70cc14a4981022059f9bbcd960dd8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a28e70cc14a4981022059f9bbcd960dd8">STASH</a>(id)</td></tr>
<tr class="memdesc:a28e70cc14a4981022059f9bbcd960dd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">saves cuttent tasks loco id in the stash array <br /></td></tr>
<tr class="separator:a28e70cc14a4981022059f9bbcd960dd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a146ca0f840f0860a1ade1e2947f099d1" id="r_a146ca0f840f0860a1ade1e2947f099d1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a146ca0f840f0860a1ade1e2947f099d1">STEALTH</a>(code...)</td></tr>
<tr class="memdesc:a146ca0f840f0860a1ade1e2947f099d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allows for embedding raw C++ code in context of current task. <br /></td></tr>
<tr class="separator:a146ca0f840f0860a1ade1e2947f099d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f32116ed63ee1cc93b7775c7d396f78" id="r_a2f32116ed63ee1cc93b7775c7d396f78"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a2f32116ed63ee1cc93b7775c7d396f78">STEALTH_GLOBAL</a>(code...)</td></tr>
<tr class="memdesc:a2f32116ed63ee1cc93b7775c7d396f78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allows for embedding raw c++ code out of context. <br /></td></tr>
<tr class="separator:a2f32116ed63ee1cc93b7775c7d396f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae19b6bb2940d2fbe0a79852b070eeafd" id="r_ae19b6bb2940d2fbe0a79852b070eeafd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ae19b6bb2940d2fbe0a79852b070eeafd">STOP</a></td></tr>
<tr class="memdesc:ae19b6bb2940d2fbe0a79852b070eeafd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as <a class="el" href="EXRAIL2MacroReset_8h.html#a1f597e9cdeb815d27f2ea5d692d412a5" title="Changes current tasks loco speed without changing direction.">SPEED(0)</a> <br /></td></tr>
<tr class="separator:ae19b6bb2940d2fbe0a79852b070eeafd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89ac158b89aad4af637515aa989c2820" id="r_a89ac158b89aad4af637515aa989c2820"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a89ac158b89aad4af637515aa989c2820">THROW</a>(id)</td></tr>
<tr class="memdesc:a89ac158b89aad4af637515aa989c2820"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throws given turnout. <br /></td></tr>
<tr class="separator:a89ac158b89aad4af637515aa989c2820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e51dc5052adbe49e2965794865ac03c" id="r_a7e51dc5052adbe49e2965794865ac03c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a7e51dc5052adbe49e2965794865ac03c">TOGGLE_TURNOUT</a>(id)</td></tr>
<tr class="memdesc:a7e51dc5052adbe49e2965794865ac03c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Toggles given turnout. <br /></td></tr>
<tr class="separator:a7e51dc5052adbe49e2965794865ac03c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accea64907d3ee777328ce4a424e5d695" id="r_accea64907d3ee777328ce4a424e5d695"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#accea64907d3ee777328ce4a424e5d695">TT_ADDPOSITION</a>(turntable_id, position, value, angle, description...)</td></tr>
<tr class="memdesc:accea64907d3ee777328ce4a424e5d695"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines a turntable track position. <br /></td></tr>
<tr class="separator:accea64907d3ee777328ce4a424e5d695"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0823dfd6ec07c0c7a25a095b5e3dfbe8" id="r_a0823dfd6ec07c0c7a25a095b5e3dfbe8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a0823dfd6ec07c0c7a25a095b5e3dfbe8">TURNOUT</a>(id, addr, subaddr, description...)</td></tr>
<tr class="memdesc:a0823dfd6ec07c0c7a25a095b5e3dfbe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines a DCC accessory turnout with legacy address. <br /></td></tr>
<tr class="separator:a0823dfd6ec07c0c7a25a095b5e3dfbe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a8abfc6a656ba9ce238d4397abc7d43" id="r_a9a8abfc6a656ba9ce238d4397abc7d43"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a9a8abfc6a656ba9ce238d4397abc7d43">TURNOUTL</a>(id, addr, description...)</td></tr>
<tr class="memdesc:a9a8abfc6a656ba9ce238d4397abc7d43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines a DCC accessory turnout with inear address. <br /></td></tr>
<tr class="separator:a9a8abfc6a656ba9ce238d4397abc7d43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a976c0b6192eea46a51431517ecd1da12" id="r_a976c0b6192eea46a51431517ecd1da12"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a976c0b6192eea46a51431517ecd1da12">UNJOIN</a></td></tr>
<tr class="memdesc:a976c0b6192eea46a51431517ecd1da12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnects PROG track from MAIN. <br /></td></tr>
<tr class="separator:a976c0b6192eea46a51431517ecd1da12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a406a92f8c66edf9c79a14121ccff928e" id="r_a406a92f8c66edf9c79a14121ccff928e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a406a92f8c66edf9c79a14121ccff928e">UNLATCH</a>(sensor_id)</td></tr>
<tr class="memdesc:a406a92f8c66edf9c79a14121ccff928e"><td class="mdescLeft">&#160;</td><td class="mdescRight">removes latched on flag <br /></td></tr>
<tr class="separator:a406a92f8c66edf9c79a14121ccff928e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8361a5e726b6cc0baecf0e6366b15d88" id="r_a8361a5e726b6cc0baecf0e6366b15d88"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a8361a5e726b6cc0baecf0e6366b15d88">VIRTUAL_SIGNAL</a>(id)</td></tr>
<tr class="memdesc:a8361a5e726b6cc0baecf0e6366b15d88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines a virtual (no hardware) signal. <br /></td></tr>
<tr class="separator:a8361a5e726b6cc0baecf0e6366b15d88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72fad6ff07abc23d9caf7601d7d1602c" id="r_a72fad6ff07abc23d9caf7601d7d1602c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a72fad6ff07abc23d9caf7601d7d1602c">VIRTUAL_TURNOUT</a>(id, description...)</td></tr>
<tr class="memdesc:a72fad6ff07abc23d9caf7601d7d1602c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines a virtual (no hardware) turnout. <br /></td></tr>
<tr class="separator:a72fad6ff07abc23d9caf7601d7d1602c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a984530916c21ac841c79ebc650f43d7f" id="r_a984530916c21ac841c79ebc650f43d7f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a984530916c21ac841c79ebc650f43d7f">WAITFOR</a>(pin)</td></tr>
<tr class="memdesc:a984530916c21ac841c79ebc650f43d7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">??????????????????? <br /></td></tr>
<tr class="separator:a984530916c21ac841c79ebc650f43d7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab765c40f567b85d47a64811423e5651a" id="r_ab765c40f567b85d47a64811423e5651a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ab765c40f567b85d47a64811423e5651a">WAITFORTT</a>(turntable_id)</td></tr>
<tr class="separator:ab765c40f567b85d47a64811423e5651a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa38794d6c8ff130c7df5141f6076841" id="r_aaa38794d6c8ff130c7df5141f6076841"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aaa38794d6c8ff130c7df5141f6076841">WITHROTTLE</a>(msg)</td></tr>
<tr class="memdesc:aaa38794d6c8ff130c7df5141f6076841"><td class="mdescLeft">&#160;</td><td class="mdescRight">Broadcasts a string in Withrottle protocol format to all throttles using this protocol. <br /></td></tr>
<tr class="separator:aaa38794d6c8ff130c7df5141f6076841"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abde746d31c307cfbe3e616cf2e8b226b" id="r_abde746d31c307cfbe3e616cf2e8b226b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#abde746d31c307cfbe3e616cf2e8b226b">XFOFF</a>(cab, func)</td></tr>
<tr class="memdesc:abde746d31c307cfbe3e616cf2e8b226b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turns function off for given loco. <br /></td></tr>
<tr class="separator:abde746d31c307cfbe3e616cf2e8b226b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa91eccfb22e9b0504ae318f6ef15c204" id="r_aa91eccfb22e9b0504ae318f6ef15c204"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#aa91eccfb22e9b0504ae318f6ef15c204">XFON</a>(cab, func)</td></tr>
<tr class="memdesc:aa91eccfb22e9b0504ae318f6ef15c204"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turns function ON for given loco. <br /></td></tr>
<tr class="separator:aa91eccfb22e9b0504ae318f6ef15c204"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5021f80337927f683b2e7a8c338e1c5" id="r_ad5021f80337927f683b2e7a8c338e1c5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#ad5021f80337927f683b2e7a8c338e1c5">XFTOGGLE</a>(cab, func)</td></tr>
<tr class="memdesc:ad5021f80337927f683b2e7a8c338e1c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Toggles function state for given loco. <br /></td></tr>
<tr class="separator:ad5021f80337927f683b2e7a8c338e1c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84b6246a102f2d42744458b24f2733cf" id="r_a84b6246a102f2d42744458b24f2733cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#a84b6246a102f2d42744458b24f2733cf">XFWD</a>(cab, speed)</td></tr>
<tr class="memdesc:a84b6246a102f2d42744458b24f2733cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends DCC speed to loco in forward direction. <br /></td></tr>
<tr class="separator:a84b6246a102f2d42744458b24f2733cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb9eeae6b4891ee0810b0d118f0b0d34" id="r_afb9eeae6b4891ee0810b0d118f0b0d34"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="EXRAIL2MacroReset_8h.html#afb9eeae6b4891ee0810b0d118f0b0d34">XREV</a>(cab, speed)</td></tr>
<tr class="memdesc:afb9eeae6b4891ee0810b0d118f0b0d34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends DCC speed to loco in reverse direction. <br /></td></tr>
<tr class="separator:afb9eeae6b4891ee0810b0d118f0b0d34"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a70413e5680ed0b35bf056f65f4c79745" name="a70413e5680ed0b35bf056f65f4c79745"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70413e5680ed0b35bf056f65f4c79745">&#9670;&#160;</a></span>ACOF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ACOF</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">eventid</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send MERG CBUS ACOF to Adapter. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">eventid</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a535706da7c1f98bc8da71a3d938fa13b" name="a535706da7c1f98bc8da71a3d938fa13b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a535706da7c1f98bc8da71a3d938fa13b">&#9670;&#160;</a></span>ACON</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ACON</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">eventid</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send MERG CBUS ACON to Adapter. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">eventid</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a84e3475ebe028e33298a69171f11b4c0" name="a84e3475ebe028e33298a69171f11b4c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84e3475ebe028e33298a69171f11b4c0">&#9670;&#160;</a></span>ACTIVATE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ACTIVATE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">addr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">subaddr&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send DCC Accessory Activate packet (gate on then off) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">addr</td><td></td></tr>
<tr><td class="paramname">subaddr</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac0612e2f4aa9f2ba0aae65a96f96d292" name="ac0612e2f4aa9f2ba0aae65a96f96d292"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0612e2f4aa9f2ba0aae65a96f96d292">&#9670;&#160;</a></span>ACTIVATEL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ACTIVATEL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">longaddr</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send DCC Accessory Activate packet (gate on then off) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">longaddr</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a453638a63f596fea9c1c6882a2d149a9" name="a453638a63f596fea9c1c6882a2d149a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a453638a63f596fea9c1c6882a2d149a9">&#9670;&#160;</a></span>AFTER</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define AFTER</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sensor_id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">timer...&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Wait for sensor activated, then decativated for given time. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensor_id</td><td></td></tr>
<tr><td class="paramname">timer...</td><td>optional wait in mS, default 500 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac1df8825d714f7089d310559b75b9727" name="ac1df8825d714f7089d310559b75b9727"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1df8825d714f7089d310559b75b9727">&#9670;&#160;</a></span>AFTEROVERLOAD</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define AFTEROVERLOAD</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">track_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Wait for overload to be resolved. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">track_id</td><td>A..H </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1a83cf8fcf340956ec0eb5136187bfc2" name="a1a83cf8fcf340956ec0eb5136187bfc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a83cf8fcf340956ec0eb5136187bfc2">&#9670;&#160;</a></span>ALIAS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ALIAS</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">name, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">value...&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>defines a named numeric value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td></td></tr>
<tr><td class="paramname">value...</td><td>if omitted, a large negative value is created automatically </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae14885354cfce6b96d4b14b7d1e5763b" name="ae14885354cfce6b96d4b14b7d1e5763b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae14885354cfce6b96d4b14b7d1e5763b">&#9670;&#160;</a></span>AMBER</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define AMBER</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">signal_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets a signal to amber state. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">signal_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac423d1824ff6340efbdf97efe2a86efa" name="ac423d1824ff6340efbdf97efe2a86efa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac423d1824ff6340efbdf97efe2a86efa">&#9670;&#160;</a></span>ANOUT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ANOUT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">vpin, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">value, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">param1, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">param2&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Writes to the HAL analog output interface of a device driver. Values and meanings of extra parameters depend on driver. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vpin</td><td>Virtual pin number of device </td></tr>
<tr><td class="paramname">value</td><td>basic analog value </td></tr>
<tr><td class="paramname">param1</td><td>device dependent </td></tr>
<tr><td class="paramname">param2</td><td>device dependent </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8e0493620ef65f4f7ec67ce2f4e71bd2" name="a8e0493620ef65f4f7ec67ce2f4e71bd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e0493620ef65f4f7ec67ce2f4e71bd2">&#9670;&#160;</a></span>ASPECT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ASPECT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">address, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">value&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a DCC aspect value to an accessory address. May also change status of a signal defined using this aspect. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">address</td><td></td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6a9137afa993b6547cef10c792c34dd7" name="a6a9137afa993b6547cef10c792c34dd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a9137afa993b6547cef10c792c34dd7">&#9670;&#160;</a></span>AT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define AT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sensor_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>wait intil a sensor becomes active </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensor_id</td><td>Use negative value for sensors that are HIGH when activated </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3976159ee4239f09f8d760a16ac787c3" name="a3976159ee4239f09f8d760a16ac787c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3976159ee4239f09f8d760a16ac787c3">&#9670;&#160;</a></span>ATGTE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ATGTE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sensor_id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">value&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Wait for analog sensor to be greater than given value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensor_id</td><td></td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5c53411b9d4107efddb0167672dfba87" name="a5c53411b9d4107efddb0167672dfba87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c53411b9d4107efddb0167672dfba87">&#9670;&#160;</a></span>ATLT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ATLT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sensor_id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">value&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Wait for analog sensor value to be less than given value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensor_id</td><td></td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a32b879d548bb568e9c4375b7343840c9" name="a32b879d548bb568e9c4375b7343840c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32b879d548bb568e9c4375b7343840c9">&#9670;&#160;</a></span>ATTIMEOUT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ATTIMEOUT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sensor_id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">timeout_ms&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Wait for sensor active, with timeout. Use IFTIMEOUT to determine whether the AT was satisfied. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a82125b07ba127a3f91f75fc7388b9f5a" title="Checks TIMEOUT state after an AT/AFTER request with timeout value.">IFTIMEOUT</a> <br />
</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensor_id</td><td></td></tr>
<tr><td class="paramname">timeout_ms</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3063459ba71def1546e2bce054a2c5c9" name="a3063459ba71def1546e2bce054a2c5c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3063459ba71def1546e2bce054a2c5c9">&#9670;&#160;</a></span>AUTOMATION</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define AUTOMATION</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">description&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Defies starting point of a sequence that will be shown as an Automation by the throttles. Automations are started by the throttle handing over a loco id to be driven. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>Unique sequence/route/automation id </td></tr>
<tr><td class="paramname">description</td><td>(Quoted text) will be shown on throttle button </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a79a5ec7365cb5cb8b61254a2950ae9d3" name="a79a5ec7365cb5cb8b61254a2950ae9d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79a5ec7365cb5cb8b61254a2950ae9d3">&#9670;&#160;</a></span>AUTOSTART</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define AUTOSTART</td>
</tr>
</table>
</div><div class="memdoc">
<p>A new task will be created starting from this point at Command Station startup <br />
</p>
</div>
</div>
<a id="a4ca075b23c6884a310c28eeb12878a81" name="a4ca075b23c6884a310c28eeb12878a81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ca075b23c6884a310c28eeb12878a81">&#9670;&#160;</a></span>BLINK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BLINK</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">vpin, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">onDuty, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">offDuty&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Starts a blinking process for a vpin (typically a LED) Stop blink with SET or RESET. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vpin</td><td></td></tr>
<tr><td class="paramname">onDuty</td><td>Milliseconds with LED ON </td></tr>
<tr><td class="paramname">offDuty</td><td>Milliseconds with LED off </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad2735f94701719c50cb70722c1ad53d3" name="ad2735f94701719c50cb70722c1ad53d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2735f94701719c50cb70722c1ad53d3">&#9670;&#160;</a></span>BROADCAST</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BROADCAST</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">msg</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send raw message text to all throttles using the DCC-EX protocol. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#aaa38794d6c8ff130c7df5141f6076841" title="Broadcasts a string in Withrottle protocol format to all throttles using this protocol.">WITHROTTLE</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>Quoted message <br />
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a95596cb79650d33b460ec81f8e65887c" name="a95596cb79650d33b460ec81f8e65887c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95596cb79650d33b460ec81f8e65887c">&#9670;&#160;</a></span>CALL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define CALL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">route</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>transfer control to another sequence with expectation to return </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a6a0e6b80dd3d5ca395cf58151749f5e2" title="Returns to CALL.">RETURN</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">route</td><td>Sequence id, sequence must terminate of RETURN </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a87656ab0de1ea72533329bf27e0961c3" name="a87656ab0de1ea72533329bf27e0961c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87656ab0de1ea72533329bf27e0961c3">&#9670;&#160;</a></span>CLEAR_ALL_STASH</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define CLEAR_ALL_STASH</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>??????????????????????????????????????? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3bf0952e3e886e0ad0d0ab351a32e84b" name="a3bf0952e3e886e0ad0d0ab351a32e84b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3bf0952e3e886e0ad0d0ab351a32e84b">&#9670;&#160;</a></span>CLEAR_STASH</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define CLEAR_STASH</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clears loco stash value <br />
</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>which stash to clear. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa72974727c01c5aced9e24f083e85ba4" name="aa72974727c01c5aced9e24f083e85ba4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa72974727c01c5aced9e24f083e85ba4">&#9670;&#160;</a></span>CLOSE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define CLOSE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Close turnout by id. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a89ac158b89aad4af637515aa989c2820" title="Throws given turnout.">THROW</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aaf7204ec3b23f51b4af0eaf72d4b1d13" name="aaf7204ec3b23f51b4af0eaf72d4b1d13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf7204ec3b23f51b4af0eaf72d4b1d13">&#9670;&#160;</a></span>CONFIGURE_SERVO</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define CONFIGURE_SERVO</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">vpin, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">pos1, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">pos2, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">profile&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>setup servo movement parameters for non-turnout </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vpin</td><td>must refer to a servo capable pin </td></tr>
<tr><td class="paramname">pos1</td><td>SET position of servo </td></tr>
<tr><td class="paramname">pos2</td><td>RESET position of servo </td></tr>
<tr><td class="paramname">profile</td><td>Movement profile (????????) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6d5b52974c1619801777181d17393fc5" name="a6d5b52974c1619801777181d17393fc5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d5b52974c1619801777181d17393fc5">&#9670;&#160;</a></span>DCC_SIGNAL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DCC_SIGNAL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">add, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">subaddr&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Define a DCC accessory signal with short address. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>Signal id used for all signal manipulation commands </td></tr>
<tr><td class="paramname">add</td><td>DCC address </td></tr>
<tr><td class="paramname">subaddr</td><td>DCC subaddress </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad29a0a2a20927d9bca265a21ee5b84ef" name="ad29a0a2a20927d9bca265a21ee5b84ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad29a0a2a20927d9bca265a21ee5b84ef">&#9670;&#160;</a></span>DCC_TURNTABLE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DCC_TURNTABLE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">home, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">description...&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>?????????????????????????????????? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
<tr><td class="paramname">home</td><td></td></tr>
<tr><td class="paramname">description...</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab7e30fb1c3e99423aa257f725d4966bf" name="ab7e30fb1c3e99423aa257f725d4966bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7e30fb1c3e99423aa257f725d4966bf">&#9670;&#160;</a></span>DCCX_SIGNAL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DCCX_SIGNAL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">redAspect, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">amberAspect, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">greenAspect&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>DEfine advanced DCC accessory signal with aspects. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>Signal id used for all signal manipulation commands </td></tr>
<tr><td class="paramname">redAspect</td><td></td></tr>
<tr><td class="paramname">amberAspect</td><td></td></tr>
<tr><td class="paramname">greenAspect</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="af7b530974fe28e1f0ca0096b2403b590" name="af7b530974fe28e1f0ca0096b2403b590"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7b530974fe28e1f0ca0096b2403b590">&#9670;&#160;</a></span>DEACTIVATE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEACTIVATE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">addr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">subaddr&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends DCC Deactivate packet (gate on, gate off) to short address. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">addr</td><td></td></tr>
<tr><td class="paramname">subaddr</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a654d690c39c254802b546ee888d52fec" name="a654d690c39c254802b546ee888d52fec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a654d690c39c254802b546ee888d52fec">&#9670;&#160;</a></span>DEACTIVATEL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEACTIVATEL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">addr</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends DCC Deactivate packet (gate on, gate off) to long address. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">addr</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3582e62360f41bf088e21a0e8c3600e6" name="a3582e62360f41bf088e21a0e8c3600e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3582e62360f41bf088e21a0e8c3600e6">&#9670;&#160;</a></span>DELAY</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DELAY</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">mindelay</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Waits for given milliseconds delay (This is not blocking) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mindelay</td><td>mS </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6b88ab656d36316547d13ec1443e734d" name="a6b88ab656d36316547d13ec1443e734d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b88ab656d36316547d13ec1443e734d">&#9670;&#160;</a></span>DELAYMINS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DELAYMINS</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">mindelay</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Waits for given minutes delay (This is not blocking) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mindelay</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa472883a6912ab7843878ed428b1a568" name="aa472883a6912ab7843878ed428b1a568"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa472883a6912ab7843878ed428b1a568">&#9670;&#160;</a></span>DELAYRANDOM</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DELAYRANDOM</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">mindelay, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">maxdelay&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Waits for random delay between min and max milliseconds (This is not blocking) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mindelay</td><td>mS </td></tr>
<tr><td class="paramname">maxdelay</td><td>mS </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="abe6b865c045f3e7c6892ef4f15ff5779" name="abe6b865c045f3e7c6892ef4f15ff5779"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe6b865c045f3e7c6892ef4f15ff5779">&#9670;&#160;</a></span>DONE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DONE</td>
</tr>
</table>
</div><div class="memdoc">
<p>Stops task loco (if any) and terminates current task. </p>
</div>
</div>
<a id="a748cc3f2276a4807f7f30b8104dac6ad" name="a748cc3f2276a4807f7f30b8104dac6ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a748cc3f2276a4807f7f30b8104dac6ad">&#9670;&#160;</a></span>DRIVE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DRIVE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">analogpin</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>RESERVED do not use. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">analogpin</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0a70ee0cbf5b1738be4c9463c529ce72" name="a0a70ee0cbf5b1738be4c9463c529ce72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a70ee0cbf5b1738be4c9463c529ce72">&#9670;&#160;</a></span>ELSE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ELSE</td>
</tr>
</table>
</div><div class="memdoc">
<p>introduces alternate processing path after any kind of IF </p>
</div>
</div>
<a id="a84b8c08e942ef757946344cf3ae03487" name="a84b8c08e942ef757946344cf3ae03487"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84b8c08e942ef757946344cf3ae03487">&#9670;&#160;</a></span>ENDEXRAIL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENDEXRAIL</td>
</tr>
</table>
</div><div class="memdoc">
<p>Obsolete, has no effect. </p>
</div>
</div>
<a id="af7039fb6fb9cb00f8e223a05e1ee436b" name="af7039fb6fb9cb00f8e223a05e1ee436b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7039fb6fb9cb00f8e223a05e1ee436b">&#9670;&#160;</a></span>ENDIF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENDIF</td>
</tr>
</table>
</div><div class="memdoc">
<p>determines end of <a class="el" href="EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716" title="Checks sensor state, If false jumps to matching nested ELSE or ENDIF.">IF(any type)</a> block. IF something ENDIF, or <br />
IF something ELSE something ENDIF <br />
</p>
</div>
</div>
<a id="a6265416c68524e78e50969fc02b0a156" name="a6265416c68524e78e50969fc02b0a156"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6265416c68524e78e50969fc02b0a156">&#9670;&#160;</a></span>ENDTASK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENDTASK</td>
</tr>
</table>
</div><div class="memdoc">
<p>same as DONE </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#abe6b865c045f3e7c6892ef4f15ff5779" title="Stops task loco (if any) and terminates current task.">DONE</a> </dd></dl>
</div>
</div>
<a id="aabdbe5a94653ed44948a15bbf036879a" name="aabdbe5a94653ed44948a15bbf036879a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabdbe5a94653ed44948a15bbf036879a">&#9670;&#160;</a></span>ESTOP</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ESTOP</td>
</tr>
</table>
</div><div class="memdoc">
<p>Performs emergency stop on current task loco. </p>
</div>
</div>
<a id="ade88b476dc27d92754a69a49b9a7c396" name="ade88b476dc27d92754a69a49b9a7c396"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade88b476dc27d92754a69a49b9a7c396">&#9670;&#160;</a></span>EXRAIL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EXRAIL</td>
</tr>
</table>
</div><div class="memdoc">
<p>OBSOLETE ignored. </p>
</div>
</div>
<a id="a1fdca4b7f37698941742674af6a46c36" name="a1fdca4b7f37698941742674af6a46c36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1fdca4b7f37698941742674af6a46c36">&#9670;&#160;</a></span>EXTT_TURNTABLE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EXTT_TURNTABLE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">vpin, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">home, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">description...&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>?????????????????????? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
<tr><td class="paramname">vpin</td><td></td></tr>
<tr><td class="paramname">home</td><td></td></tr>
<tr><td class="paramname">description...</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7b63d087951e73299ca8c0cef37deb54" name="a7b63d087951e73299ca8c0cef37deb54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b63d087951e73299ca8c0cef37deb54">&#9670;&#160;</a></span>FADE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FADE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">pin, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">value, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">ms&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modifies analog value slowly taking a given time. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pin</td><td></td></tr>
<tr><td class="paramname">value</td><td>new target value </td></tr>
<tr><td class="paramname">ms</td><td>time to reach value </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="abdd91c227513d7c27086c8764810db5d" name="abdd91c227513d7c27086c8764810db5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdd91c227513d7c27086c8764810db5d">&#9670;&#160;</a></span>FOFF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FOFF</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">func</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Turns off loco function for current loco. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a2737b92d5d09d27f9df833715c1152ed" title="Turn on current loc finction.">FON</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">func</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9c0e7dd53e0ea6fb76b0b3cbaaa37853" name="a9c0e7dd53e0ea6fb76b0b3cbaaa37853"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c0e7dd53e0ea6fb76b0b3cbaaa37853">&#9670;&#160;</a></span>FOLLOW</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FOLLOW</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">route</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Task processing follows given route or sequence (Effectively a GoTo) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">route</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2737b92d5d09d27f9df833715c1152ed" name="a2737b92d5d09d27f9df833715c1152ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2737b92d5d09d27f9df833715c1152ed">&#9670;&#160;</a></span>FON</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FON</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">func</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Turn on current loc finction. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#abdd91c227513d7c27086c8764810db5d" title="Turns off loco function for current loco.">FOFF</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">func</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6f423216315b68df133793a982417f00" name="a6f423216315b68df133793a982417f00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f423216315b68df133793a982417f00">&#9670;&#160;</a></span>FORGET</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FORGET</td>
</tr>
</table>
</div><div class="memdoc">
<p>Removes current loco from task and DCC reminders table. </p>
</div>
</div>
<a id="acc491c9cb857225c0c499de7ba7a937a" name="acc491c9cb857225c0c499de7ba7a937a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc491c9cb857225c0c499de7ba7a937a">&#9670;&#160;</a></span>FREE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FREE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">blockid</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Frees logical token for given block. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#ac2072b24e631bc3acdd67fa34e217de5" title="Waits for token for block. If not available immediately, current task loco is stopped.">RESERVE</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">blockid</td><td>0..255 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3f4857539b53cbe918c3d371cf7686a9" name="a3f4857539b53cbe918c3d371cf7686a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f4857539b53cbe918c3d371cf7686a9">&#9670;&#160;</a></span>FTOGGLE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FTOGGLE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">func</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Toggles function for current loco. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">func</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a365db567aafba224366b6fc700ab641b" name="a365db567aafba224366b6fc700ab641b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a365db567aafba224366b6fc700ab641b">&#9670;&#160;</a></span>FWD</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FWD</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">speed</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Instructs current loco to set DCC speed. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">speed</td><td>0..127 (1=ESTOP) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a64211c6331055df9c457e2157772161c" name="a64211c6331055df9c457e2157772161c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64211c6331055df9c457e2157772161c">&#9670;&#160;</a></span>GREEN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GREEN</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">signal_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets signal to green state. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">signal_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a61060739b28d8e98a08d8ecd72fc2a15" name="a61060739b28d8e98a08d8ecd72fc2a15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61060739b28d8e98a08d8ecd72fc2a15">&#9670;&#160;</a></span>HAL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HAL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">haltype, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">params...&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Defines VPIN mapping for specific hardware drivers. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">haltype</td><td>driver name, normally device type </td></tr>
<tr><td class="paramname">params...</td><td>depend on driver </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae8584b644c544c95f8ecab8997a66373" name="ae8584b644c544c95f8ecab8997a66373"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8584b644c544c95f8ecab8997a66373">&#9670;&#160;</a></span>HAL_IGNORE_DEFAULTS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HAL_IGNORE_DEFAULTS</td>
</tr>
</table>
</div><div class="memdoc">
<p>System will ignore default HAL settings. </p>
</div>
</div>
<a id="a690e2a6e6efa3ceb53436810b3abe716" name="a690e2a6e6efa3ceb53436810b3abe716"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a690e2a6e6efa3ceb53436810b3abe716">&#9670;&#160;</a></span>IF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IF</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sensor_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks sensor state, If false jumps to matching nested ELSE or ENDIF. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensor_id</td><td>VPIN of sensor. Negative VPIM will invert sensor state. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a72395eb98f4c3b45a4b8481ae164e03e" name="a72395eb98f4c3b45a4b8481ae164e03e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72395eb98f4c3b45a4b8481ae164e03e">&#9670;&#160;</a></span>IFAMBER</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IFAMBER</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">signal_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if signal is in AMBER state. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716" title="Checks sensor state, If false jumps to matching nested ELSE or ENDIF.">IF</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">signal_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab6138f118ca866e90ed256c4fd575f85" name="ab6138f118ca866e90ed256c4fd575f85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6138f118ca866e90ed256c4fd575f85">&#9670;&#160;</a></span>IFCLOSED</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IFCLOSED</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">turnout_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if given turnout is in close state. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716" title="Checks sensor state, If false jumps to matching nested ELSE or ENDIF.">IF</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">turnout_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a538a9a1e2a408d0a2ef85aaa3fc7855e" name="a538a9a1e2a408d0a2ef85aaa3fc7855e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a538a9a1e2a408d0a2ef85aaa3fc7855e">&#9670;&#160;</a></span>IFGREEN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IFGREEN</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">signal_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if given signal is in GREEN state. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716" title="Checks sensor state, If false jumps to matching nested ELSE or ENDIF.">IF</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">signal_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a91aafa12888a56d9966c3bfba45db91b" name="a91aafa12888a56d9966c3bfba45db91b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91aafa12888a56d9966c3bfba45db91b">&#9670;&#160;</a></span>IFGTE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IFGTE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sensor_id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">value&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if analog sensor &gt;= value. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716" title="Checks sensor state, If false jumps to matching nested ELSE or ENDIF.">IF</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensor_id</td><td></td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0bdad647a965f954db0348e442f14d62" name="a0bdad647a965f954db0348e442f14d62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bdad647a965f954db0348e442f14d62">&#9670;&#160;</a></span>IFLOCO</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IFLOCO</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">loco_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if current task loco = loco_id. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716" title="Checks sensor state, If false jumps to matching nested ELSE or ENDIF.">IF</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">loco_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="acbdea8927a0e9e71ac9a017625460e43" name="acbdea8927a0e9e71ac9a017625460e43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acbdea8927a0e9e71ac9a017625460e43">&#9670;&#160;</a></span>IFLT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IFLT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sensor_id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">value&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if analog sensor &lt; value. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716" title="Checks sensor state, If false jumps to matching nested ELSE or ENDIF.">IF</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensor_id</td><td></td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4b0f32ca3122ee36c54256ebee7e5b42" name="a4b0f32ca3122ee36c54256ebee7e5b42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b0f32ca3122ee36c54256ebee7e5b42">&#9670;&#160;</a></span>IFNOT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IFNOT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sensor_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Inverse of IF. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716" title="Checks sensor state, If false jumps to matching nested ELSE or ENDIF.">IF</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensor_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="af3e0c38b8357c68166a3353c7f54ef7f" name="af3e0c38b8357c68166a3353c7f54ef7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3e0c38b8357c68166a3353c7f54ef7f">&#9670;&#160;</a></span>IFRANDOM</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IFRANDOM</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">percent</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>randomly satisfield IF at given percent probability </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716" title="Checks sensor state, If false jumps to matching nested ELSE or ENDIF.">IF</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">percent</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9513b8b9ca6c74f7075f7a1d4fcb100e" name="a9513b8b9ca6c74f7075f7a1d4fcb100e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9513b8b9ca6c74f7075f7a1d4fcb100e">&#9670;&#160;</a></span>IFRE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IFRE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sensor_id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">value&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>???????????????????????????????????????? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensor_id</td><td></td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="acb74f6001374cfc5208dc57383728ae4" name="acb74f6001374cfc5208dc57383728ae4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb74f6001374cfc5208dc57383728ae4">&#9670;&#160;</a></span>IFRED</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IFRED</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">signal_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if given signal is in RED state. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716" title="Checks sensor state, If false jumps to matching nested ELSE or ENDIF.">IF</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">signal_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5737c12c58585febecaba35e42e31dff" name="a5737c12c58585febecaba35e42e31dff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5737c12c58585febecaba35e42e31dff">&#9670;&#160;</a></span>IFRESERVE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IFRESERVE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">block</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Agttempts to reserve block token and if satisfiled the block remains reserved. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716" title="Checks sensor state, If false jumps to matching nested ELSE or ENDIF.">IF</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">block</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aeb149e14016e9361c416f1622645c4c2" name="aeb149e14016e9361c416f1622645c4c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb149e14016e9361c416f1622645c4c2">&#9670;&#160;</a></span>IFTHROWN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IFTHROWN</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">turnout_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if given turnout is in THROWN state. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716" title="Checks sensor state, If false jumps to matching nested ELSE or ENDIF.">IF</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">turnout_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a82125b07ba127a3f91f75fc7388b9f5a" name="a82125b07ba127a3f91f75fc7388b9f5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82125b07ba127a3f91f75fc7388b9f5a">&#9670;&#160;</a></span>IFTIMEOUT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IFTIMEOUT</td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks TIMEOUT state after an AT/AFTER request with timeout value. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716" title="Checks sensor state, If false jumps to matching nested ELSE or ENDIF.">IF</a> </dd></dl>
</div>
</div>
<a id="a9af3b2d3ffba102abeab145c692aacc1" name="a9af3b2d3ffba102abeab145c692aacc1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9af3b2d3ffba102abeab145c692aacc1">&#9670;&#160;</a></span>IFTTPOSITION</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IFTTPOSITION</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">turntable_id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">position&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if GTurntable is in given position. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716" title="Checks sensor state, If false jumps to matching nested ELSE or ENDIF.">IF</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">turntable_id</td><td></td></tr>
<tr><td class="paramname">position</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5a1098c94713ea9dc547068ee042bf62" name="a5a1098c94713ea9dc547068ee042bf62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a1098c94713ea9dc547068ee042bf62">&#9670;&#160;</a></span>INVERT_DIRECTION</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define INVERT_DIRECTION</td>
</tr>
</table>
</div><div class="memdoc">
<p>Marks current task so that FWD and REV commands are inverted. </p>
</div>
</div>
<a id="a86a4a74da3fa02dda26922e9c221ce02" name="a86a4a74da3fa02dda26922e9c221ce02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86a4a74da3fa02dda26922e9c221ce02">&#9670;&#160;</a></span>JMRI_SENSOR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define JMRI_SENSOR</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">vpin, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">count...&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>DEfines multiple JMRI <s> type sensor feedback definitions each with id matching vpin. </s></p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vpin</td><td></td></tr>
<tr><td class="paramname">count...</td><td>Number of consecutine VPINS for which to create JMRI sensor feedbacks. Default 1. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a216b2abde239eb946227cab4973b5bc8" name="a216b2abde239eb946227cab4973b5bc8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a216b2abde239eb946227cab4973b5bc8">&#9670;&#160;</a></span>JOIN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define JOIN</td>
</tr>
</table>
</div><div class="memdoc">
<p>Switches PROG track to receive MAIN track DCC packets. (Drive on PROG track) </p>
</div>
</div>
<a id="a2df07bb601ee833a54cc2908e9a6c193" name="a2df07bb601ee833a54cc2908e9a6c193"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2df07bb601ee833a54cc2908e9a6c193">&#9670;&#160;</a></span>KILLALL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define KILLALL</td>
</tr>
</table>
</div><div class="memdoc">
<p>Tertminates all running EXRAIL tasks. </p>
</div>
</div>
<a id="a536efd8d6904fd270d01c696423f1ddf" name="a536efd8d6904fd270d01c696423f1ddf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a536efd8d6904fd270d01c696423f1ddf">&#9670;&#160;</a></span>LATCH</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LATCH</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sensor_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Make all AT/AFTER/IF see sensor active without checking hardware. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensor_id</td><td>Must only be for VPINS 0..255 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afa6476b07460f645b3d7a9bdadf5ff28" name="afa6476b07460f645b3d7a9bdadf5ff28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa6476b07460f645b3d7a9bdadf5ff28">&#9670;&#160;</a></span>LCC</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LCC</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">eventid</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Issue event to LCC. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">eventid</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1b166b386dca4e38e23f304ebff8697c" name="a1b166b386dca4e38e23f304ebff8697c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b166b386dca4e38e23f304ebff8697c">&#9670;&#160;</a></span>LCCX</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LCCX</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">senderid, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">eventid&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Issue LCC event while impersonating another sender. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">senderid</td><td></td></tr>
<tr><td class="paramname">eventid</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a84fc3791fae6ef620ccdb4064d7cdde6" name="a84fc3791fae6ef620ccdb4064d7cdde6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84fc3791fae6ef620ccdb4064d7cdde6">&#9670;&#160;</a></span>LCD</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LCD</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">row, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">msg&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write message on row of default configured LCD/OLED. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#ae6d89a17454e176bd2f421e8a13d538a" title="Send message to external display hadlers.">SCREEN</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">row</td><td></td></tr>
<tr><td class="paramname">msg</td><td>Quoted text </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aeaa002c5fa9b7f41a53903b1cbc7bdbf" name="aeaa002c5fa9b7f41a53903b1cbc7bdbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeaa002c5fa9b7f41a53903b1cbc7bdbf">&#9670;&#160;</a></span>LCN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LCN</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">msg</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>?????? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4422df972fe651ff638fdcdadae9af39" name="a4422df972fe651ff638fdcdadae9af39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4422df972fe651ff638fdcdadae9af39">&#9670;&#160;</a></span>MESSAGE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MESSAGE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">msg</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a human readable message to all throttle users. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>Quoted text </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9b479617d5942030fd9c6e535a5e408e" name="a9b479617d5942030fd9c6e535a5e408e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b479617d5942030fd9c6e535a5e408e">&#9670;&#160;</a></span>MOVETT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOVETT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">steps, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">activity&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>??????????????????? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
<tr><td class="paramname">steps</td><td></td></tr>
<tr><td class="paramname">activity</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a324d13015faa6ed2d875ce7c30d41924" name="a324d13015faa6ed2d875ce7c30d41924"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a324d13015faa6ed2d875ce7c30d41924">&#9670;&#160;</a></span>NEOPIXEL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NEOPIXEL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">r, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">g, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">b, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">count...&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set a NEOPIXEL vpin to a given red/green/blue colour. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>VPIN of a pixel </td></tr>
<tr><td class="paramname">r</td><td>red component 0-255 </td></tr>
<tr><td class="paramname">g</td><td>green component 0-255 </td></tr>
<tr><td class="paramname">b</td><td>blue component 0-255 </td></tr>
<tr><td class="paramname">count...</td><td>Number of consecutive pixels to set, Default 1. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5ec327b78a557688df073fedd42708b1" name="a5ec327b78a557688df073fedd42708b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ec327b78a557688df073fedd42708b1">&#9670;&#160;</a></span>NEOPIXEL_SIGNAL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NEOPIXEL_SIGNAL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sigid, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">redcolour, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">ambercolour, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">greencolour&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Define a signal that uses a single multi colour pixel. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sigid</td><td>unique signal id </td></tr>
<tr><td class="paramname">redcolour</td><td>RGB colour </td></tr>
<tr><td class="paramname">ambercolour</td><td></td></tr>
<tr><td class="paramname">greencolour</td><td>Use NeoRGB(red,green,blue) to create values for redcolour etc above. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a09acdd0240980bae132886db2d40b424" name="a09acdd0240980bae132886db2d40b424"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09acdd0240980bae132886db2d40b424">&#9670;&#160;</a></span>ONACOF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONACOF</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">eventid</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when ACOF for event receied from MERG CBUS. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">eventid</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab94114ce2f804d9368b7ff4e5130caf6" name="ab94114ce2f804d9368b7ff4e5130caf6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab94114ce2f804d9368b7ff4e5130caf6">&#9670;&#160;</a></span>ONACON</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONACON</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">eventid</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when ACON for event receied from MERG CBUS. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">eventid</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae3946995752581abcb51dda3e863e11f" name="ae3946995752581abcb51dda3e863e11f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3946995752581abcb51dda3e863e11f">&#9670;&#160;</a></span>ONACTIVATE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONACTIVATE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">addr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">subaddr&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when DCC Activate sent for short address. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">addr</td><td></td></tr>
<tr><td class="paramname">subaddr</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a21abb9b7e7d11f9f692b21d9164e438f" name="a21abb9b7e7d11f9f692b21d9164e438f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21abb9b7e7d11f9f692b21d9164e438f">&#9670;&#160;</a></span>ONACTIVATEL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONACTIVATEL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">linear</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when DCC Activate sent for long address. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">linear</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a491c12e424a9d5517063e664be8a5052" name="a491c12e424a9d5517063e664be8a5052"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a491c12e424a9d5517063e664be8a5052">&#9670;&#160;</a></span>ONAMBER</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONAMBER</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">signal_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when signal set to AMBER state. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">signal_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8232df833de6b06f70665ee2981ec635" name="a8232df833de6b06f70665ee2981ec635"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8232df833de6b06f70665ee2981ec635">&#9670;&#160;</a></span>ONBUTTON</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONBUTTON</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sensor_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when sensor changes HIGH to LOW. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensor_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1e8e60404581f05ed5448ff1f8aae4b5" name="a1e8e60404581f05ed5448ff1f8aae4b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e8e60404581f05ed5448ff1f8aae4b5">&#9670;&#160;</a></span>ONCHANGE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONCHANGE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sensor_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>??????????????????? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensor_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a32223f307c375b26add6586e992851be" name="a32223f307c375b26add6586e992851be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32223f307c375b26add6586e992851be">&#9670;&#160;</a></span>ONCLOCKMINS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONCLOCKMINS</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">mins</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here hourly when fastclock minutes matches. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mins</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6469c9fc9dd75782081dfb13aa1f88de" name="a6469c9fc9dd75782081dfb13aa1f88de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6469c9fc9dd75782081dfb13aa1f88de">&#9670;&#160;</a></span>ONCLOCKTIME</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONCLOCKTIME</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">hours, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">mins&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when fastclock matches time. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">hours</td><td></td></tr>
<tr><td class="paramname">mins</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a383f82cb960c25f73c17c0e2088aa12a" name="a383f82cb960c25f73c17c0e2088aa12a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a383f82cb960c25f73c17c0e2088aa12a">&#9670;&#160;</a></span>ONCLOSE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONCLOSE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">turnout_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when turnout closed. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">turnout_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a81b021dce212912ba85ed4cdc63e084f" name="a81b021dce212912ba85ed4cdc63e084f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81b021dce212912ba85ed4cdc63e084f">&#9670;&#160;</a></span>ONDEACTIVATE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONDEACTIVATE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">addr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">subaddr&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when DCC deactivate packet sent. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">addr</td><td></td></tr>
<tr><td class="paramname">subaddr</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a026fbdcd4f1c2ae458d49837898f5974" name="a026fbdcd4f1c2ae458d49837898f5974"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a026fbdcd4f1c2ae458d49837898f5974">&#9670;&#160;</a></span>ONDEACTIVATEL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONDEACTIVATEL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">linear</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when DCC deactivate sent to linear address. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">linear</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a648c217ce4240e2c4ae497b02b785626" name="a648c217ce4240e2c4ae497b02b785626"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a648c217ce4240e2c4ae497b02b785626">&#9670;&#160;</a></span>ONGREEN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONGREEN</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">signal_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when signal set to GREEN state. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">signal_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a76bdc460ab7ff68cf2f06955a06c83d9" name="a76bdc460ab7ff68cf2f06955a06c83d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76bdc460ab7ff68cf2f06955a06c83d9">&#9670;&#160;</a></span>ONLCC</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONLCC</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sender, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">event&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>?????????????????? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sender</td><td></td></tr>
<tr><td class="paramname">event</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8da16e9be59349774a452191459192cd" name="a8da16e9be59349774a452191459192cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8da16e9be59349774a452191459192cd">&#9670;&#160;</a></span>ONOVERLOAD</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONOVERLOAD</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">track_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when given track goes into overload. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">track_id</td><td>A..H </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afcc4c2161bb0de1be05b5a4f0583cc98" name="afcc4c2161bb0de1be05b5a4f0583cc98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afcc4c2161bb0de1be05b5a4f0583cc98">&#9670;&#160;</a></span>ONRED</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONRED</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">signal_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when signal set to RED state. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">signal_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3499d6c525dba6638990b862bc16dbbf" name="a3499d6c525dba6638990b862bc16dbbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3499d6c525dba6638990b862bc16dbbf">&#9670;&#160;</a></span>ONROTATE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONROTATE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">turntable_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when turntable is rotated. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">turntable_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab2ae04e0120e155d9f6f92e81ddb4065" name="ab2ae04e0120e155d9f6f92e81ddb4065"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2ae04e0120e155d9f6f92e81ddb4065">&#9670;&#160;</a></span>ONSENSOR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONSENSOR</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sensor_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when sensor changes state (debounced) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensor_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aeb0109a23f9137762230734c39be2387" name="aeb0109a23f9137762230734c39be2387"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb0109a23f9137762230734c39be2387">&#9670;&#160;</a></span>ONTHROW</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONTHROW</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">turnout_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when turnout is Thrown. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">turnout_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad8ea5fef52ffb27ff64f415de4e8fee6" name="ad8ea5fef52ffb27ff64f415de4e8fee6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8ea5fef52ffb27ff64f415de4e8fee6">&#9670;&#160;</a></span>ONTIME</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ONTIME</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">value</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start task here when fastclock mins in day=value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aacf4be4d1a978c9eeab3a56e2598c515" name="aacf4be4d1a978c9eeab3a56e2598c515"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacf4be4d1a978c9eeab3a56e2598c515">&#9670;&#160;</a></span>PARSE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PARSE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">msg</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Executes &lt;&gt; command as if entered from serial. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>Quoted text, preferably including &lt;&gt; </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5666ac5930c9f903698073ab1fa694f7" name="a5666ac5930c9f903698073ab1fa694f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5666ac5930c9f903698073ab1fa694f7">&#9670;&#160;</a></span>PAUSE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PAUSE</td>
</tr>
</table>
</div><div class="memdoc">
<p>Pauses all EXRAIL tasks except the curremnt one. Other tasks ESTOP their locos until RESUME issued. </p>
</div>
</div>
<a id="a70a2e2ed55ce56b83ea9bc4585551403" name="a70a2e2ed55ce56b83ea9bc4585551403"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70a2e2ed55ce56b83ea9bc4585551403">&#9670;&#160;</a></span>PICKUP_STASH</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PICKUP_STASH</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Loads stashed value into current task loco. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>position in stash where a loco id was previously saved. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2ce4f6470c9710fe08ffbd8206118b28" name="a2ce4f6470c9710fe08ffbd8206118b28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ce4f6470c9710fe08ffbd8206118b28">&#9670;&#160;</a></span>PIN_TURNOUT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PIN_TURNOUT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">pin, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">description...&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Defines a tirnout which operates on a signle pin. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
<tr><td class="paramname">pin</td><td></td></tr>
<tr><td class="paramname">description...</td><td>Quoted text (shown to throttles) or HIDDEN </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a31bc8c0f139c18393eff4c262094ec48" name="a31bc8c0f139c18393eff4c262094ec48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31bc8c0f139c18393eff4c262094ec48">&#9670;&#160;</a></span>POM</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define POM</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">cv, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">value&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write value to cv on current tasks loco (Program on Main) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cv</td><td></td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa7502455c229b24eb51d67f29160e40c" name="aa7502455c229b24eb51d67f29160e40c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7502455c229b24eb51d67f29160e40c">&#9670;&#160;</a></span>POWEROFF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define POWEROFF</td>
</tr>
</table>
</div><div class="memdoc">
<p>Powers off all tracks. </p>
</div>
</div>
<a id="a5a3829e9a41139ba8c7e36b0be5a3179" name="a5a3829e9a41139ba8c7e36b0be5a3179"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a3829e9a41139ba8c7e36b0be5a3179">&#9670;&#160;</a></span>POWERON</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define POWERON</td>
</tr>
</table>
</div><div class="memdoc">
<p>Powers ON all tracks. </p>
</div>
</div>
<a id="a994cb1e8771e881023efb47d91c58fbb" name="a994cb1e8771e881023efb47d91c58fbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a994cb1e8771e881023efb47d91c58fbb">&#9670;&#160;</a></span>PRINT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PRINT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">msg</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>prints diagnostic message on USB serial </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>Quoted text </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad332f331a3ea3757c168d57b5756d6c1" name="ad332f331a3ea3757c168d57b5756d6c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad332f331a3ea3757c168d57b5756d6c1">&#9670;&#160;</a></span>READ_LOCO</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define READ_LOCO</td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads loco Id from prog traqck and sets currenmt task loco id. </p>
</div>
</div>
<a id="a0bcac9194342e810d417b2bb90ca93ab" name="a0bcac9194342e810d417b2bb90ca93ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bcac9194342e810d417b2bb90ca93ab">&#9670;&#160;</a></span>RED</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RED</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">signal_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>sets signal to RED state </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">signal_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac2072b24e631bc3acdd67fa34e217de5" name="ac2072b24e631bc3acdd67fa34e217de5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2072b24e631bc3acdd67fa34e217de5">&#9670;&#160;</a></span>RESERVE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RESERVE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">blockid</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Waits for token for block. If not available immediately, current task loco is stopped. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">blockid</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aef5c353a82d9456fd0f269bf40dc439a" name="aef5c353a82d9456fd0f269bf40dc439a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef5c353a82d9456fd0f269bf40dc439a">&#9670;&#160;</a></span>RESET</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RESET</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">pin, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">count...&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets output puin LOW. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pin</td><td></td></tr>
<tr><td class="paramname">count...</td><td>Number of consecutive pins, default 1 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a58ed6a8ccad6ef42dc18ad5cfe848256" name="a58ed6a8ccad6ef42dc18ad5cfe848256"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58ed6a8ccad6ef42dc18ad5cfe848256">&#9670;&#160;</a></span>RESUME</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RESUME</td>
</tr>
</table>
</div><div class="memdoc">
<p>Resumes PAUSEd tasks. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a5666ac5930c9f903698073ab1fa694f7" title="Pauses all EXRAIL tasks except the curremnt one. Other tasks ESTOP their locos until RESUME issued.">PAUSE</a> </dd></dl>
</div>
</div>
<a id="a6a0e6b80dd3d5ca395cf58151749f5e2" name="a6a0e6b80dd3d5ca395cf58151749f5e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a0e6b80dd3d5ca395cf58151749f5e2">&#9670;&#160;</a></span>RETURN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RETURN</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns to CALL. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a95596cb79650d33b460ec81f8e65887c" title="transfer control to another sequence with expectation to return">CALL</a> </dd></dl>
</div>
</div>
<a id="a0f6726d7de43adb7a87d866e3e87256f" name="a0f6726d7de43adb7a87d866e3e87256f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f6726d7de43adb7a87d866e3e87256f">&#9670;&#160;</a></span>REV</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define REV</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">speed</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Issues DCC speed packet for current loco in reverse. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a365db567aafba224366b6fc700ab641b" title="Instructs current loco to set DCC speed.">FWD</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">speed</td><td>(0..127, 1=ESTOP) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="abbdd2d0105690a2fb54b77e92bfb04ff" name="abbdd2d0105690a2fb54b77e92bfb04ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbdd2d0105690a2fb54b77e92bfb04ff">&#9670;&#160;</a></span>ROSTER</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ROSTER</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">cab, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">name, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">funcmap...&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Describes a loco roster entry visible to throttles. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cab</td><td>loco DCC address or 0 for default entry </td></tr>
<tr><td class="paramname">name</td><td>Quoted text </td></tr>
<tr><td class="paramname">funcmap...</td><td>Quoted text, optional list of function names separated by / character with momentary fuinctin names prefixed with an *. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3652e188edfd920cc3e40a715a740450" name="a3652e188edfd920cc3e40a715a740450"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3652e188edfd920cc3e40a715a740450">&#9670;&#160;</a></span>ROTATE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ROTATE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">turntable_id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">position, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">activity&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>???? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">turntable_id</td><td></td></tr>
<tr><td class="paramname">position</td><td></td></tr>
<tr><td class="paramname">activity</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a05cfc12f11a0e0578c4dc6ba4add7606" name="a05cfc12f11a0e0578c4dc6ba4add7606"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05cfc12f11a0e0578c4dc6ba4add7606">&#9670;&#160;</a></span>ROTATE_DCC</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ROTATE_DCC</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">turntable_id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">position&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>???? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">turntable_id</td><td></td></tr>
<tr><td class="paramname">position</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aad2345d94607c710c5548e75e2c0e1ac" name="aad2345d94607c710c5548e75e2c0e1ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad2345d94607c710c5548e75e2c0e1ac">&#9670;&#160;</a></span>ROUTE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ROUTE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">description&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>DEfines starting point of a sequence that will appear as a route on throttle buttons. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
<tr><td class="paramname">description</td><td>Quoted text, throttle button capotion. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a60da2e2e3e0d0645480bf163d01526e7" name="a60da2e2e3e0d0645480bf163d01526e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60da2e2e3e0d0645480bf163d01526e7">&#9670;&#160;</a></span>ROUTE_ACTIVE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ROUTE_ACTIVE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Tells throttle to display the route button as active. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a07f63aaa9372c96f8b81272d313e0986" name="a07f63aaa9372c96f8b81272d313e0986"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07f63aaa9372c96f8b81272d313e0986">&#9670;&#160;</a></span>ROUTE_CAPTION</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ROUTE_CAPTION</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">caption&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Tells throttle to change thr route button caption. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
<tr><td class="paramname">caption</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a02b16763dab59948e7b04d6688580a84" name="a02b16763dab59948e7b04d6688580a84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a02b16763dab59948e7b04d6688580a84">&#9670;&#160;</a></span>ROUTE_DISABLED</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ROUTE_DISABLED</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Tells throttle to display the route button as disabled. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa5f2944b1e81db4a90c5c2b8071c66a5" name="aa5f2944b1e81db4a90c5c2b8071c66a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5f2944b1e81db4a90c5c2b8071c66a5">&#9670;&#160;</a></span>ROUTE_HIDDEN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ROUTE_HIDDEN</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Tells throttle to hide the route button. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a29e1089b7aeb3c58e083905085b10915" name="a29e1089b7aeb3c58e083905085b10915"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29e1089b7aeb3c58e083905085b10915">&#9670;&#160;</a></span>ROUTE_INACTIVE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ROUTE_INACTIVE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Tells throttle to display the route button as inactive. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae6d89a17454e176bd2f421e8a13d538a" name="ae6d89a17454e176bd2f421e8a13d538a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6d89a17454e176bd2f421e8a13d538a">&#9670;&#160;</a></span>SCREEN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SCREEN</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">display, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">row, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">msg&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send message to external display hadlers. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">display</td><td>number, 0=local display, others are handled by external displays which may have different display numbers on different devices. </td></tr>
<tr><td class="paramname">row</td><td></td></tr>
<tr><td class="paramname">msg</td><td>Quoted text </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a53a603465ab97877abb5cd294de7e6a8" name="a53a603465ab97877abb5cd294de7e6a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53a603465ab97877abb5cd294de7e6a8">&#9670;&#160;</a></span>SENDLOCO</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SENDLOCO</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">cab, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">route&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start a new task to drive the loco. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cab</td><td>loco to be driven </td></tr>
<tr><td class="paramname">route</td><td>id of route/automation or sequence to drive </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1dfb3fe4a7bce360597a4e9cf672386f" name="a1dfb3fe4a7bce360597a4e9cf672386f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1dfb3fe4a7bce360597a4e9cf672386f">&#9670;&#160;</a></span>SEQUENCE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SEQUENCE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Provides a unique label than can be used to call, follow or start. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a95596cb79650d33b460ec81f8e65887c" title="transfer control to another sequence with expectation to return">CALL</a> </dd>
<dd>
<a class="el" href="EXRAIL2MacroReset_8h.html#a9c0e7dd53e0ea6fb76b0b3cbaaa37853" title="Task processing follows given route or sequence (Effectively a GoTo)">FOLLOW</a> </dd>
<dd>
<a class="el" href="EXRAIL2MacroReset_8h.html#ae33b115c278ec32c3647d63566c29748" title="Starts a new task at the given route/animation/sequence.">START</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3a50f04437200196bbbeb69d698dc296" name="a3a50f04437200196bbbeb69d698dc296"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a50f04437200196bbbeb69d698dc296">&#9670;&#160;</a></span>SERIAL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SERIAL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">msg</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write direct to Serial output. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>Quoted text </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a067d2982eb485e2f46964de8b2384a45" name="a067d2982eb485e2f46964de8b2384a45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a067d2982eb485e2f46964de8b2384a45">&#9670;&#160;</a></span>SERIAL1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SERIAL1</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">msg</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write direct to Serial1 output. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>Quoted text </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad231ff56134875f6cbf13349ddfa9629" name="ad231ff56134875f6cbf13349ddfa9629"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad231ff56134875f6cbf13349ddfa9629">&#9670;&#160;</a></span>SERIAL2</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SERIAL2</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">msg</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write direct to Serial2 output. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>Quoted text </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a58fa01a8ea8e12c84089d88cc74fe5a7" name="a58fa01a8ea8e12c84089d88cc74fe5a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58fa01a8ea8e12c84089d88cc74fe5a7">&#9670;&#160;</a></span>SERIAL3</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SERIAL3</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">msg</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write direct to Serial3 output. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>Quoted text </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a48238cdad1347bfefb5461a840187915" name="a48238cdad1347bfefb5461a840187915"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48238cdad1347bfefb5461a840187915">&#9670;&#160;</a></span>SERIAL4</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SERIAL4</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">msg</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write direct to Serial4 output. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>Quoted text </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3fcba2a5d34b5041db52828a20f7656f" name="a3fcba2a5d34b5041db52828a20f7656f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3fcba2a5d34b5041db52828a20f7656f">&#9670;&#160;</a></span>SERIAL5</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SERIAL5</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">msg</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write direct to Serial5 output. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>Quoted text </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5130a8e70491e45fb87820c732781ec8" name="a5130a8e70491e45fb87820c732781ec8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5130a8e70491e45fb87820c732781ec8">&#9670;&#160;</a></span>SERIAL6</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SERIAL6</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">msg</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write direct to Serial6 output. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>Quoted text </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa865d4c3fa7f0c35b68568fef65bc18a" name="aa865d4c3fa7f0c35b68568fef65bc18a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa865d4c3fa7f0c35b68568fef65bc18a">&#9670;&#160;</a></span>SERVO</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SERVO</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">position, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">profile&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Move servo to given position. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>VPIN of servo </td></tr>
<tr><td class="paramname">position</td><td></td></tr>
<tr><td class="paramname">profile</td><td>?????????? names ??????????? </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a786a21b710fb0cc82f128ab0efa7fa13" name="a786a21b710fb0cc82f128ab0efa7fa13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a786a21b710fb0cc82f128ab0efa7fa13">&#9670;&#160;</a></span>SERVO2</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SERVO2</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">position, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">duration&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Move servo to given position taking time. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
<tr><td class="paramname">position</td><td></td></tr>
<tr><td class="paramname">duration</td><td>mS </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5f5f1472ec136458e64e570e68cc6712" name="a5f5f1472ec136458e64e570e68cc6712"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f5f1472ec136458e64e570e68cc6712">&#9670;&#160;</a></span>SERVO_SIGNAL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SERVO_SIGNAL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">vpin, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">redpos, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">amberpos, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">greenpos&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Dedfine a servo based signal with 3 servo positions. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vpin</td><td></td></tr>
<tr><td class="paramname">redpos</td><td></td></tr>
<tr><td class="paramname">amberpos</td><td></td></tr>
<tr><td class="paramname">greenpos</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab4fc60376f8c5a42dbce7a20932ff243" name="ab4fc60376f8c5a42dbce7a20932ff243"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4fc60376f8c5a42dbce7a20932ff243">&#9670;&#160;</a></span>SERVO_TURNOUT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SERVO_TURNOUT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">pin, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">activeAngle, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">inactiveAngle, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">profile, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">description...&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Define a servo driven turnout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>used by THROW/CLOSE </td></tr>
<tr><td class="paramname">pin</td><td>VPIN for servo </td></tr>
<tr><td class="paramname">activeAngle</td><td></td></tr>
<tr><td class="paramname">inactiveAngle</td><td></td></tr>
<tr><td class="paramname">profile</td><td>?????? </td></tr>
<tr><td class="paramname">description...</td><td>Quoted text shown to throttles or HIDDEN keyword to hide turnout button </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aed0b0857d81395a41a703824431a9c61" name="aed0b0857d81395a41a703824431a9c61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed0b0857d81395a41a703824431a9c61">&#9670;&#160;</a></span>SET</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SET</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">pin, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">count...&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set VPIN HIGH <br />
</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pin</td><td></td></tr>
<tr><td class="paramname">count...</td><td>Number of sequential vpins to set. Default 1. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa386637f933c51fb82d11d2bb3e6861a" name="aa386637f933c51fb82d11d2bb3e6861a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa386637f933c51fb82d11d2bb3e6861a">&#9670;&#160;</a></span>SET_POWER</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SET_POWER</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">track, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">onoff&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set track power mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">track</td><td>A..H </td></tr>
<tr><td class="paramname">onoff</td><td>??? values ??? </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a417be114d20b759fd47c30e908eafa47" name="a417be114d20b759fd47c30e908eafa47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a417be114d20b759fd47c30e908eafa47">&#9670;&#160;</a></span>SET_TRACK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SET_TRACK</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">track, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">mode&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set output track type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">track</td><td>A..H </td></tr>
<tr><td class="paramname">mode</td><td>???names??? </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2b31fba0b3b31fcd9fc2f82fe7fd9873" name="a2b31fba0b3b31fcd9fc2f82fe7fd9873"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b31fba0b3b31fcd9fc2f82fe7fd9873">&#9670;&#160;</a></span>SETFREQ</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SETFREQ</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">freq</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the DC track PWM frequency. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">freq</td><td>??????????? values ?????? </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0ee77029441d827f816ccca9cd3ba28f" name="a0ee77029441d827f816ccca9cd3ba28f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ee77029441d827f816ccca9cd3ba28f">&#9670;&#160;</a></span>SETLOCO</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SETLOCO</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">loco</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the loco being handled by the current task. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">loco</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9dc5ab478e7b3e90cf240a4bbdb47fb2" name="a9dc5ab478e7b3e90cf240a4bbdb47fb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9dc5ab478e7b3e90cf240a4bbdb47fb2">&#9670;&#160;</a></span>SIGNAL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SIGNAL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">redpin, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">amberpin, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">greenpin&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Define a Signal with LOW=on leds (is that common annode???) </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a4943c59169d208102931c155765837ab" title="define a signal with HIGH=ON leds">SIGNALH</a> <br />
</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">redpin</td><td></td></tr>
<tr><td class="paramname">amberpin</td><td></td></tr>
<tr><td class="paramname">greenpin</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4943c59169d208102931c155765837ab" name="a4943c59169d208102931c155765837ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4943c59169d208102931c155765837ab">&#9670;&#160;</a></span>SIGNALH</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SIGNALH</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">redpin, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">amberpin, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">greenpin&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>define a signal with HIGH=ON leds </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">redpin</td><td></td></tr>
<tr><td class="paramname">amberpin</td><td></td></tr>
<tr><td class="paramname">greenpin</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1f597e9cdeb815d27f2ea5d692d412a5" name="a1f597e9cdeb815d27f2ea5d692d412a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f597e9cdeb815d27f2ea5d692d412a5">&#9670;&#160;</a></span>SPEED</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SPEED</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">speed</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Changes current tasks loco speed without changing direction. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">speed</td><td>0..127 (1=ESTOP) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae33b115c278ec32c3647d63566c29748" name="ae33b115c278ec32c3647d63566c29748"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae33b115c278ec32c3647d63566c29748">&#9670;&#160;</a></span>START</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define START</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">route</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Starts a new task at the given route/animation/sequence. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">route</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a28e70cc14a4981022059f9bbcd960dd8" name="a28e70cc14a4981022059f9bbcd960dd8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28e70cc14a4981022059f9bbcd960dd8">&#9670;&#160;</a></span>STASH</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define STASH</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>saves cuttent tasks loco id in the stash array </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a146ca0f840f0860a1ade1e2947f099d1" name="a146ca0f840f0860a1ade1e2947f099d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a146ca0f840f0860a1ade1e2947f099d1">&#9670;&#160;</a></span>STEALTH</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define STEALTH</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">code...</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Allows for embedding raw C++ code in context of current task. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">code...</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2f32116ed63ee1cc93b7775c7d396f78" name="a2f32116ed63ee1cc93b7775c7d396f78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f32116ed63ee1cc93b7775c7d396f78">&#9670;&#160;</a></span>STEALTH_GLOBAL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define STEALTH_GLOBAL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">code...</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Allows for embedding raw c++ code out of context. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">code...</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae19b6bb2940d2fbe0a79852b070eeafd" name="ae19b6bb2940d2fbe0a79852b070eeafd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae19b6bb2940d2fbe0a79852b070eeafd">&#9670;&#160;</a></span>STOP</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define STOP</td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as <a class="el" href="EXRAIL2MacroReset_8h.html#a1f597e9cdeb815d27f2ea5d692d412a5" title="Changes current tasks loco speed without changing direction.">SPEED(0)</a> </p>
</div>
</div>
<a id="a89ac158b89aad4af637515aa989c2820" name="a89ac158b89aad4af637515aa989c2820"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89ac158b89aad4af637515aa989c2820">&#9670;&#160;</a></span>THROW</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define THROW</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Throws given turnout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7e51dc5052adbe49e2965794865ac03c" name="a7e51dc5052adbe49e2965794865ac03c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e51dc5052adbe49e2965794865ac03c">&#9670;&#160;</a></span>TOGGLE_TURNOUT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define TOGGLE_TURNOUT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Toggles given turnout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="accea64907d3ee777328ce4a424e5d695" name="accea64907d3ee777328ce4a424e5d695"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accea64907d3ee777328ce4a424e5d695">&#9670;&#160;</a></span>TT_ADDPOSITION</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define TT_ADDPOSITION</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">turntable_id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">position, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">value, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">angle, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">description...&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Defines a turntable track position. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">turntable_id</td><td></td></tr>
<tr><td class="paramname">position</td><td>?????????? </td></tr>
<tr><td class="paramname">value</td><td></td></tr>
<tr><td class="paramname">angle</td><td></td></tr>
<tr><td class="paramname">description...</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0823dfd6ec07c0c7a25a095b5e3dfbe8" name="a0823dfd6ec07c0c7a25a095b5e3dfbe8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0823dfd6ec07c0c7a25a095b5e3dfbe8">&#9670;&#160;</a></span>TURNOUT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define TURNOUT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">addr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">subaddr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">description...&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Defines a DCC accessory turnout with legacy address. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
<tr><td class="paramname">addr</td><td></td></tr>
<tr><td class="paramname">subaddr</td><td></td></tr>
<tr><td class="paramname">description...</td><td>Quoted text or HIDDEN, appears on throttle buttons </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9a8abfc6a656ba9ce238d4397abc7d43" name="a9a8abfc6a656ba9ce238d4397abc7d43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a8abfc6a656ba9ce238d4397abc7d43">&#9670;&#160;</a></span>TURNOUTL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define TURNOUTL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">addr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">description...&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Defines a DCC accessory turnout with inear address. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname"></td><td></td></tr>
</table>
</dd>
</dl>
<p>param id </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">addr</td><td></td></tr>
<tr><td class="paramname">description...</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a976c0b6192eea46a51431517ecd1da12" name="a976c0b6192eea46a51431517ecd1da12"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a976c0b6192eea46a51431517ecd1da12">&#9670;&#160;</a></span>UNJOIN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define UNJOIN</td>
</tr>
</table>
</div><div class="memdoc">
<p>Disconnects PROG track from MAIN. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a216b2abde239eb946227cab4973b5bc8" title="Switches PROG track to receive MAIN track DCC packets. (Drive on PROG track)">JOIN</a> </dd></dl>
</div>
</div>
<a id="a406a92f8c66edf9c79a14121ccff928e" name="a406a92f8c66edf9c79a14121ccff928e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a406a92f8c66edf9c79a14121ccff928e">&#9670;&#160;</a></span>UNLATCH</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define UNLATCH</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">sensor_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>removes latched on flag </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="EXRAIL2MacroReset_8h.html#a536efd8d6904fd270d01c696423f1ddf" title="Make all AT/AFTER/IF see sensor active without checking hardware.">LATCH</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sensor_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8361a5e726b6cc0baecf0e6366b15d88" name="a8361a5e726b6cc0baecf0e6366b15d88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8361a5e726b6cc0baecf0e6366b15d88">&#9670;&#160;</a></span>VIRTUAL_SIGNAL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define VIRTUAL_SIGNAL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Defines a virtual (no hardware) signal. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a72fad6ff07abc23d9caf7601d7d1602c" name="a72fad6ff07abc23d9caf7601d7d1602c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72fad6ff07abc23d9caf7601d7d1602c">&#9670;&#160;</a></span>VIRTUAL_TURNOUT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define VIRTUAL_TURNOUT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">id, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">description...&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Defines a virtual (no hardware) turnout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td></td></tr>
<tr><td class="paramname">description...</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a984530916c21ac841c79ebc650f43d7f" name="a984530916c21ac841c79ebc650f43d7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a984530916c21ac841c79ebc650f43d7f">&#9670;&#160;</a></span>WAITFOR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define WAITFOR</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">pin</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>??????????????????? </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pin</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab765c40f567b85d47a64811423e5651a" name="ab765c40f567b85d47a64811423e5651a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab765c40f567b85d47a64811423e5651a">&#9670;&#160;</a></span>WAITFORTT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define WAITFORTT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">turntable_id</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">turntable_id</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aaa38794d6c8ff130c7df5141f6076841" name="aaa38794d6c8ff130c7df5141f6076841"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa38794d6c8ff130c7df5141f6076841">&#9670;&#160;</a></span>WITHROTTLE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define WITHROTTLE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">msg</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Broadcasts a string in Withrottle protocol format to all throttles using this protocol. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="abde746d31c307cfbe3e616cf2e8b226b" name="abde746d31c307cfbe3e616cf2e8b226b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abde746d31c307cfbe3e616cf2e8b226b">&#9670;&#160;</a></span>XFOFF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XFOFF</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">cab, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">func&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Turns function off for given loco. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cab</td><td></td></tr>
<tr><td class="paramname">func</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa91eccfb22e9b0504ae318f6ef15c204" name="aa91eccfb22e9b0504ae318f6ef15c204"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa91eccfb22e9b0504ae318f6ef15c204">&#9670;&#160;</a></span>XFON</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XFON</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">cab, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">func&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Turns function ON for given loco. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cab</td><td></td></tr>
<tr><td class="paramname">func</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad5021f80337927f683b2e7a8c338e1c5" name="ad5021f80337927f683b2e7a8c338e1c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5021f80337927f683b2e7a8c338e1c5">&#9670;&#160;</a></span>XFTOGGLE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XFTOGGLE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">cab, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">func&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Toggles function state for given loco. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cab</td><td></td></tr>
<tr><td class="paramname">func</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a84b6246a102f2d42744458b24f2733cf" name="a84b6246a102f2d42744458b24f2733cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84b6246a102f2d42744458b24f2733cf">&#9670;&#160;</a></span>XFWD</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XFWD</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">cab, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">speed&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends DCC speed to loco in forward direction. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cab</td><td></td></tr>
<tr><td class="paramname">speed</td><td>(0..127, 1=ESTOP) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afb9eeae6b4891ee0810b0d118f0b0d34" name="afb9eeae6b4891ee0810b0d118f0b0d34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb9eeae6b4891ee0810b0d118f0b0d34">&#9670;&#160;</a></span>XREV</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XREV</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">cab, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">speed&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends DCC speed to loco in reverse direction. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cab</td><td></td></tr>
<tr><td class="paramname">speed</td><td>(0..127, 1=ESTOP) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>