mirror of
https://github.com/taigrr/arduinolibs
synced 2025-01-18 04:33:12 -08:00
1452 lines
97 KiB
HTML
1452 lines
97 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.6"/>
|
|
<title>ArduinoLibs: Terminal Class 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/search.js"></script>
|
|
<script type="text/javascript">
|
|
$(document).ready(function() { searchBox.OnSelectItem(0); });
|
|
</script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td style="padding-left: 0.5em;">
|
|
<div id="projectname">ArduinoLibs
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.6 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
</script>
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
|
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li><a href="files.html"><span>Files</span></a></li>
|
|
<li>
|
|
<div id="MSearchBox" class="MSearchBoxInactive">
|
|
<span class="left">
|
|
<img id="MSearchSelect" src="search/mag_sel.png"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
alt=""/>
|
|
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
|
onfocus="searchBox.OnSearchFieldFocus(true)"
|
|
onblur="searchBox.OnSearchFieldFocus(false)"
|
|
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
|
</span><span class="right">
|
|
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
|
</span>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="navrow2" class="tabs2">
|
|
<ul class="tablist">
|
|
<li><a href="annotated.html"><span>Class List</span></a></li>
|
|
<li><a href="classes.html"><span>Class Index</span></a></li>
|
|
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
|
<li><a href="functions.html"><span>Class Members</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Pages</a></div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-types">Public Types</a> |
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pub-static-methods">Static Public Member Functions</a> |
|
|
<a href="classTerminal-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">Terminal Class Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Extended stream interface for terminal operations.
|
|
<a href="classTerminal.html#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="Terminal_8h_source.html">Terminal.h</a>></code></p>
|
|
<div class="dynheader">
|
|
Inheritance diagram for Terminal:</div>
|
|
<div class="dyncontent">
|
|
<div class="center">
|
|
<img src="classTerminal.png" usemap="#Terminal_map" alt=""/>
|
|
<map id="Terminal_map" name="Terminal_map">
|
|
<area href="classShell.html" title="Command-line shell access. " alt="Shell" shape="rect" coords="0,112,71,136"/>
|
|
<area href="classLoginShell.html" title="Command-line shell access via a login shell. " alt="LoginShell" shape="rect" coords="0,168,71,192"/>
|
|
</map>
|
|
</div></div>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
|
Public Types</h2></td></tr>
|
|
<tr class="memitem:a6fd7d021468962e9604bee0522b3a364"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a6fd7d021468962e9604bee0522b3a364">Mode</a> { <a class="el" href="classTerminal.html#a6fd7d021468962e9604bee0522b3a364a7efe0e37dae166c00d913190cd8f55f6">Serial</a>,
|
|
<a class="el" href="classTerminal.html#a6fd7d021468962e9604bee0522b3a364a71eb4637496b7a884384c4250f3289a7">Telnet</a>
|
|
}</td></tr>
|
|
<tr class="memdesc:a6fd7d021468962e9604bee0522b3a364"><td class="mdescLeft"> </td><td class="mdescRight">Mode to operate in, Serial or Telnet. <a href="classTerminal.html#a6fd7d021468962e9604bee0522b3a364">More...</a><br/></td></tr>
|
|
<tr class="separator:a6fd7d021468962e9604bee0522b3a364"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7a03a2e94316da7b2144dad5ba95ac20"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20">Color</a> { <br/>
|
|
  <a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20ae8891bcc826bd9843740727bd36481a4">Black</a> = 0x00,
|
|
<a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20a7e02ffbae282462707f7fa9b521a5350">DarkRed</a> = 0x01,
|
|
<a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20a3e3b823d801aa16880e837ee4b5a950a">DarkGreen</a> = 0x02,
|
|
<a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20aa79363e8a838f09ac55b4be7ddabe625">DarkYellow</a> = 0x03,
|
|
<br/>
|
|
  <a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20a857041b4a99e4a303f183a9881c32b8e">DarkBlue</a> = 0x04,
|
|
<a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20a3c0cb0568e93ebf1ea54bea5991b40a9">DarkMagenta</a> = 0x05,
|
|
<a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20a7770ad09b7bc5a420575bba06878efeb">DarkCyan</a> = 0x06,
|
|
<a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20a3b4388fbed1f6c20cbe706d49b968683">LightGray</a> = 0x07,
|
|
<br/>
|
|
  <a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20ab5595f67da54848741ee2b31a38bafec">DarkGray</a> = 0x08,
|
|
<a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20af2687d41cae4cb8276778be71c1e1efb">Red</a> = 0x09,
|
|
<a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20a884f0fec8e7a5adac3047b890fcbf491">Green</a> = 0x0A,
|
|
<a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20a5f04853bd0cf9cea91dae31cc5294f22">Yellow</a> = 0x0B,
|
|
<br/>
|
|
  <a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20a70f0c34fa3b8055231e826454b9cf8be">Blue</a> = 0x0C,
|
|
<a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20a438c102a577219f2b654bebce4d53ea0">Magenta</a> = 0x0D,
|
|
<a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20a12656e5c242667b489e639d399964077">Cyan</a> = 0x0E,
|
|
<a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20ae8296a3587847d6e0dd41efcc65251e8">White</a> = 0x0F
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:a7a03a2e94316da7b2144dad5ba95ac20"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classTerminal.html" title="Extended stream interface for terminal operations. ">Terminal</a> foreground or background colors. <a href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20">More...</a><br/></td></tr>
|
|
<tr class="separator:a7a03a2e94316da7b2144dad5ba95ac20"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:aa448509b5aa1ece53c3d86385655be0e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#aa448509b5aa1ece53c3d86385655be0e">Terminal</a> ()</td></tr>
|
|
<tr class="memdesc:aa448509b5aa1ece53c3d86385655be0e"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a terminal object. <a href="#aa448509b5aa1ece53c3d86385655be0e">More...</a><br/></td></tr>
|
|
<tr class="separator:aa448509b5aa1ece53c3d86385655be0e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:add5a7d4dd45b68af9a0afb1cc845af2f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add5a7d4dd45b68af9a0afb1cc845af2f"></a>
|
|
virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#add5a7d4dd45b68af9a0afb1cc845af2f">~Terminal</a> ()</td></tr>
|
|
<tr class="memdesc:add5a7d4dd45b68af9a0afb1cc845af2f"><td class="mdescLeft"> </td><td class="mdescRight">Destroys this terminal object. <br/></td></tr>
|
|
<tr class="separator:add5a7d4dd45b68af9a0afb1cc845af2f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6bf417195a7d2a2fab6b3518f25764a2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a6bf417195a7d2a2fab6b3518f25764a2">begin</a> (Stream &<a class="el" href="classTerminal.html#a18f46590476d5231e9480b5f69a68f63">stream</a>, <a class="el" href="classTerminal.html#a6fd7d021468962e9604bee0522b3a364">Mode</a> <a class="el" href="classTerminal.html#acbf591c7371acba52bcd84ba4a0ce5c8">mode</a>=<a class="el" href="classTerminal.html#a6fd7d021468962e9604bee0522b3a364a7efe0e37dae166c00d913190cd8f55f6">Serial</a>)</td></tr>
|
|
<tr class="memdesc:a6bf417195a7d2a2fab6b3518f25764a2"><td class="mdescLeft"> </td><td class="mdescRight">Begins terminal operations on an underlying stream. <a href="#a6bf417195a7d2a2fab6b3518f25764a2">More...</a><br/></td></tr>
|
|
<tr class="separator:a6bf417195a7d2a2fab6b3518f25764a2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9e4c08d43a1a1c039e385d63aca049c0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a9e4c08d43a1a1c039e385d63aca049c0">end</a> ()</td></tr>
|
|
<tr class="memdesc:a9e4c08d43a1a1c039e385d63aca049c0"><td class="mdescLeft"> </td><td class="mdescRight">Ends terminal operations on an underlying stream. <a href="#a9e4c08d43a1a1c039e385d63aca049c0">More...</a><br/></td></tr>
|
|
<tr class="separator:a9e4c08d43a1a1c039e385d63aca049c0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a18f46590476d5231e9480b5f69a68f63"><td class="memItemLeft" align="right" valign="top">Stream * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a18f46590476d5231e9480b5f69a68f63">stream</a> () const </td></tr>
|
|
<tr class="memdesc:a18f46590476d5231e9480b5f69a68f63"><td class="mdescLeft"> </td><td class="mdescRight">Returns a pointer to the underlying Stream, or NULL if the stream has not been set with <a class="el" href="classTerminal.html#a6bf417195a7d2a2fab6b3518f25764a2" title="Begins terminal operations on an underlying stream. ">begin()</a> yet. <a href="#a18f46590476d5231e9480b5f69a68f63">More...</a><br/></td></tr>
|
|
<tr class="separator:a18f46590476d5231e9480b5f69a68f63"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acbf591c7371acba52bcd84ba4a0ce5c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTerminal.html#a6fd7d021468962e9604bee0522b3a364">Terminal::Mode</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#acbf591c7371acba52bcd84ba4a0ce5c8">mode</a> () const </td></tr>
|
|
<tr class="memdesc:acbf591c7371acba52bcd84ba4a0ce5c8"><td class="mdescLeft"> </td><td class="mdescRight">Returns the mode this terminal is operating in, Serial or Telnet. <a href="#acbf591c7371acba52bcd84ba4a0ce5c8">More...</a><br/></td></tr>
|
|
<tr class="separator:acbf591c7371acba52bcd84ba4a0ce5c8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a111698c496d601ef7fe0ce4de8a6de9a"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a111698c496d601ef7fe0ce4de8a6de9a">available</a> ()</td></tr>
|
|
<tr class="memdesc:a111698c496d601ef7fe0ce4de8a6de9a"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of bytes that are available for reading. <a href="#a111698c496d601ef7fe0ce4de8a6de9a">More...</a><br/></td></tr>
|
|
<tr class="separator:a111698c496d601ef7fe0ce4de8a6de9a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a49f6aa694fae8a9ff8a526350dd8f8fc"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a49f6aa694fae8a9ff8a526350dd8f8fc">peek</a> ()</td></tr>
|
|
<tr class="memdesc:a49f6aa694fae8a9ff8a526350dd8f8fc"><td class="mdescLeft"> </td><td class="mdescRight">Peeks at the next byte from the underlying stream. <a href="#a49f6aa694fae8a9ff8a526350dd8f8fc">More...</a><br/></td></tr>
|
|
<tr class="separator:a49f6aa694fae8a9ff8a526350dd8f8fc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a14dfd6dc5c4a30acfb47ab24c22d1cd5"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a14dfd6dc5c4a30acfb47ab24c22d1cd5">read</a> ()</td></tr>
|
|
<tr class="memdesc:a14dfd6dc5c4a30acfb47ab24c22d1cd5"><td class="mdescLeft"> </td><td class="mdescRight">Reads the next byte from the underlying stream. <a href="#a14dfd6dc5c4a30acfb47ab24c22d1cd5">More...</a><br/></td></tr>
|
|
<tr class="separator:a14dfd6dc5c4a30acfb47ab24c22d1cd5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a908cdfa64167279ed565d43b45470c3d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a908cdfa64167279ed565d43b45470c3d"></a>
|
|
virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a908cdfa64167279ed565d43b45470c3d">flush</a> ()</td></tr>
|
|
<tr class="memdesc:a908cdfa64167279ed565d43b45470c3d"><td class="mdescLeft"> </td><td class="mdescRight">Flushes all data in the underlying stream. <br/></td></tr>
|
|
<tr class="separator:a908cdfa64167279ed565d43b45470c3d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae723f16d4f97954fb45550fa05d600bb"><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#ae723f16d4f97954fb45550fa05d600bb">write</a> (uint8_t c)</td></tr>
|
|
<tr class="memdesc:ae723f16d4f97954fb45550fa05d600bb"><td class="mdescLeft"> </td><td class="mdescRight">Writes a single byte to the underlying stream. <a href="#ae723f16d4f97954fb45550fa05d600bb">More...</a><br/></td></tr>
|
|
<tr class="separator:ae723f16d4f97954fb45550fa05d600bb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a134b9131e18b35af18c53eabec49186d"><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a134b9131e18b35af18c53eabec49186d">write</a> (const uint8_t *buffer, size_t size)</td></tr>
|
|
<tr class="memdesc:a134b9131e18b35af18c53eabec49186d"><td class="mdescLeft"> </td><td class="mdescRight">Writes a buffer of data to the underlying stream. <a href="#a134b9131e18b35af18c53eabec49186d">More...</a><br/></td></tr>
|
|
<tr class="separator:a134b9131e18b35af18c53eabec49186d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae0b908585ec355e0f299579a015c1170"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#ae0b908585ec355e0f299579a015c1170">writeProgMem</a> (const char *str)</td></tr>
|
|
<tr class="memdesc:ae0b908585ec355e0f299579a015c1170"><td class="mdescLeft"> </td><td class="mdescRight">Writes a static string that is stored in program memory. <a href="#ae0b908585ec355e0f299579a015c1170">More...</a><br/></td></tr>
|
|
<tr class="separator:ae0b908585ec355e0f299579a015c1170"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa82621ea174422601cc7384c8185eb96"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#aa82621ea174422601cc7384c8185eb96">readKey</a> ()</td></tr>
|
|
<tr class="memdesc:aa82621ea174422601cc7384c8185eb96"><td class="mdescLeft"> </td><td class="mdescRight">Reads the next key that was typed on this terminal. <a href="#aa82621ea174422601cc7384c8185eb96">More...</a><br/></td></tr>
|
|
<tr class="separator:aa82621ea174422601cc7384c8185eb96"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a33e5eb60d69e4ccf6e3c90f7428b4961"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a33e5eb60d69e4ccf6e3c90f7428b4961">unicodeKey</a> () const </td></tr>
|
|
<tr class="memdesc:a33e5eb60d69e4ccf6e3c90f7428b4961"><td class="mdescLeft"> </td><td class="mdescRight">Gets the Unicode version of the last key returned by <a class="el" href="classTerminal.html#aa82621ea174422601cc7384c8185eb96" title="Reads the next key that was typed on this terminal. ">readKey()</a>. <a href="#a33e5eb60d69e4ccf6e3c90f7428b4961">More...</a><br/></td></tr>
|
|
<tr class="separator:a33e5eb60d69e4ccf6e3c90f7428b4961"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a25308d6b2a3d18820d8a0e641c7be937"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a25308d6b2a3d18820d8a0e641c7be937">writeUnicode</a> (long code)</td></tr>
|
|
<tr class="memdesc:a25308d6b2a3d18820d8a0e641c7be937"><td class="mdescLeft"> </td><td class="mdescRight">Writes a Unicode code point to the output in UTF-8 encoding. <a href="#a25308d6b2a3d18820d8a0e641c7be937">More...</a><br/></td></tr>
|
|
<tr class="separator:a25308d6b2a3d18820d8a0e641c7be937"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aed25b5a884f89dcd2bb269a8e356e5d6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#aed25b5a884f89dcd2bb269a8e356e5d6">columns</a> () const </td></tr>
|
|
<tr class="memdesc:aed25b5a884f89dcd2bb269a8e356e5d6"><td class="mdescLeft"> </td><td class="mdescRight">Gets the number of columns in the window; defaults to 80. <a href="#aed25b5a884f89dcd2bb269a8e356e5d6">More...</a><br/></td></tr>
|
|
<tr class="separator:aed25b5a884f89dcd2bb269a8e356e5d6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac01cf545938eff14f8e249e072b82357"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#ac01cf545938eff14f8e249e072b82357">rows</a> () const </td></tr>
|
|
<tr class="memdesc:ac01cf545938eff14f8e249e072b82357"><td class="mdescLeft"> </td><td class="mdescRight">Gets the number of rows in the window; defaults to 24. <a href="#ac01cf545938eff14f8e249e072b82357">More...</a><br/></td></tr>
|
|
<tr class="separator:ac01cf545938eff14f8e249e072b82357"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af8957afd199718a809114dc5236f1a62"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#af8957afd199718a809114dc5236f1a62">setWindowSize</a> (int <a class="el" href="classTerminal.html#aed25b5a884f89dcd2bb269a8e356e5d6">columns</a>, int <a class="el" href="classTerminal.html#ac01cf545938eff14f8e249e072b82357">rows</a>)</td></tr>
|
|
<tr class="memdesc:af8957afd199718a809114dc5236f1a62"><td class="mdescLeft"> </td><td class="mdescRight">Sets the number of columns and rows in the window. <a href="#af8957afd199718a809114dc5236f1a62">More...</a><br/></td></tr>
|
|
<tr class="separator:af8957afd199718a809114dc5236f1a62"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4be741767b27739eec98901477e1c3d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4be741767b27739eec98901477e1c3d4"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a4be741767b27739eec98901477e1c3d4">clear</a> ()</td></tr>
|
|
<tr class="memdesc:a4be741767b27739eec98901477e1c3d4"><td class="mdescLeft"> </td><td class="mdescRight">Move the cursor to the top-left position and clear the screen. <br/></td></tr>
|
|
<tr class="separator:a4be741767b27739eec98901477e1c3d4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aeb93d71925cdfb17065e7f1ef2e83414"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb93d71925cdfb17065e7f1ef2e83414"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#aeb93d71925cdfb17065e7f1ef2e83414">clearToEOL</a> ()</td></tr>
|
|
<tr class="memdesc:aeb93d71925cdfb17065e7f1ef2e83414"><td class="mdescLeft"> </td><td class="mdescRight">Clears from the current cursor position to the end of the line. <br/></td></tr>
|
|
<tr class="separator:aeb93d71925cdfb17065e7f1ef2e83414"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7f60537603bd91df3ff1371a895054ea"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a7f60537603bd91df3ff1371a895054ea">cursorMove</a> (int x, int y)</td></tr>
|
|
<tr class="memdesc:a7f60537603bd91df3ff1371a895054ea"><td class="mdescLeft"> </td><td class="mdescRight">Moves the cursor to a specific location in the window. <a href="#a7f60537603bd91df3ff1371a895054ea">More...</a><br/></td></tr>
|
|
<tr class="separator:a7f60537603bd91df3ff1371a895054ea"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2b8434f44885beabb668b70565bfbebe"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a2b8434f44885beabb668b70565bfbebe">cursorLeft</a> ()</td></tr>
|
|
<tr class="memdesc:a2b8434f44885beabb668b70565bfbebe"><td class="mdescLeft"> </td><td class="mdescRight">Moves the cursor left by one character. <a href="#a2b8434f44885beabb668b70565bfbebe">More...</a><br/></td></tr>
|
|
<tr class="separator:a2b8434f44885beabb668b70565bfbebe"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adba29515f7a2f7e3a8038cd583bd28dc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#adba29515f7a2f7e3a8038cd583bd28dc">cursorRight</a> ()</td></tr>
|
|
<tr class="memdesc:adba29515f7a2f7e3a8038cd583bd28dc"><td class="mdescLeft"> </td><td class="mdescRight">Moves the cursor right by one character. <a href="#adba29515f7a2f7e3a8038cd583bd28dc">More...</a><br/></td></tr>
|
|
<tr class="separator:adba29515f7a2f7e3a8038cd583bd28dc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae5259872812d674e1fda215ddd18ee70"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#ae5259872812d674e1fda215ddd18ee70">cursorUp</a> ()</td></tr>
|
|
<tr class="memdesc:ae5259872812d674e1fda215ddd18ee70"><td class="mdescLeft"> </td><td class="mdescRight">Moves the cursor up by one line. <a href="#ae5259872812d674e1fda215ddd18ee70">More...</a><br/></td></tr>
|
|
<tr class="separator:ae5259872812d674e1fda215ddd18ee70"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4068f1fd6087ff865b169da0a3d61ec5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a4068f1fd6087ff865b169da0a3d61ec5">cursorDown</a> ()</td></tr>
|
|
<tr class="memdesc:a4068f1fd6087ff865b169da0a3d61ec5"><td class="mdescLeft"> </td><td class="mdescRight">Moves the cursor down by one line. <a href="#a4068f1fd6087ff865b169da0a3d61ec5">More...</a><br/></td></tr>
|
|
<tr class="separator:a4068f1fd6087ff865b169da0a3d61ec5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae4aec627f980fe0d26653401785d41bc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#ae4aec627f980fe0d26653401785d41bc">backspace</a> ()</td></tr>
|
|
<tr class="memdesc:ae4aec627f980fe0d26653401785d41bc"><td class="mdescLeft"> </td><td class="mdescRight">Backspaces over the last character. <a href="#ae4aec627f980fe0d26653401785d41bc">More...</a><br/></td></tr>
|
|
<tr class="separator:ae4aec627f980fe0d26653401785d41bc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9109858612082ffd3d91a88713b7448a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a9109858612082ffd3d91a88713b7448a">insertLine</a> ()</td></tr>
|
|
<tr class="memdesc:a9109858612082ffd3d91a88713b7448a"><td class="mdescLeft"> </td><td class="mdescRight">Inserts a line at the cursor position. <a href="#a9109858612082ffd3d91a88713b7448a">More...</a><br/></td></tr>
|
|
<tr class="separator:a9109858612082ffd3d91a88713b7448a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af79ea5335f73762828087f5c813feafd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#af79ea5335f73762828087f5c813feafd">insertChar</a> ()</td></tr>
|
|
<tr class="memdesc:af79ea5335f73762828087f5c813feafd"><td class="mdescLeft"> </td><td class="mdescRight">Inserts a blank character at the cursor position. <a href="#af79ea5335f73762828087f5c813feafd">More...</a><br/></td></tr>
|
|
<tr class="separator:af79ea5335f73762828087f5c813feafd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae2f95592f13a1a5fe8464176a2b10298"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#ae2f95592f13a1a5fe8464176a2b10298">deleteLine</a> ()</td></tr>
|
|
<tr class="memdesc:ae2f95592f13a1a5fe8464176a2b10298"><td class="mdescLeft"> </td><td class="mdescRight">Deletes a line at the cursor position. <a href="#ae2f95592f13a1a5fe8464176a2b10298">More...</a><br/></td></tr>
|
|
<tr class="separator:ae2f95592f13a1a5fe8464176a2b10298"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7daffb0fe91d76678c5a9f22fe16e2c5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a7daffb0fe91d76678c5a9f22fe16e2c5">deleteChar</a> ()</td></tr>
|
|
<tr class="memdesc:a7daffb0fe91d76678c5a9f22fe16e2c5"><td class="mdescLeft"> </td><td class="mdescRight">Deletes the character at the cursor position. <a href="#a7daffb0fe91d76678c5a9f22fe16e2c5">More...</a><br/></td></tr>
|
|
<tr class="separator:a7daffb0fe91d76678c5a9f22fe16e2c5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a30d8d69fd84cafc6c2c94ae6fc65b690"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a30d8d69fd84cafc6c2c94ae6fc65b690">scrollUp</a> ()</td></tr>
|
|
<tr class="memdesc:a30d8d69fd84cafc6c2c94ae6fc65b690"><td class="mdescLeft"> </td><td class="mdescRight">Scrolls the contents of the window up one line. <a href="#a30d8d69fd84cafc6c2c94ae6fc65b690">More...</a><br/></td></tr>
|
|
<tr class="separator:a30d8d69fd84cafc6c2c94ae6fc65b690"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a661474bb4790aa82178b3ce9a85e5dea"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a661474bb4790aa82178b3ce9a85e5dea">scrollDown</a> ()</td></tr>
|
|
<tr class="memdesc:a661474bb4790aa82178b3ce9a85e5dea"><td class="mdescLeft"> </td><td class="mdescRight">Scrolls the contents of the window down one line. <a href="#a661474bb4790aa82178b3ce9a85e5dea">More...</a><br/></td></tr>
|
|
<tr class="separator:a661474bb4790aa82178b3ce9a85e5dea"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a928023c8125f226ab0851f8b4bb6302f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a928023c8125f226ab0851f8b4bb6302f">normal</a> ()</td></tr>
|
|
<tr class="memdesc:a928023c8125f226ab0851f8b4bb6302f"><td class="mdescLeft"> </td><td class="mdescRight">Selects normal text with all attributes and colors off. <a href="#a928023c8125f226ab0851f8b4bb6302f">More...</a><br/></td></tr>
|
|
<tr class="separator:a928023c8125f226ab0851f8b4bb6302f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2e8dd341fc1ce63aa120be6066a89bea"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a2e8dd341fc1ce63aa120be6066a89bea">bold</a> ()</td></tr>
|
|
<tr class="memdesc:a2e8dd341fc1ce63aa120be6066a89bea"><td class="mdescLeft"> </td><td class="mdescRight">Enables bold text. <a href="#a2e8dd341fc1ce63aa120be6066a89bea">More...</a><br/></td></tr>
|
|
<tr class="separator:a2e8dd341fc1ce63aa120be6066a89bea"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0e23c452353e7fdf0881d37521f3d105"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e23c452353e7fdf0881d37521f3d105"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a0e23c452353e7fdf0881d37521f3d105">underline</a> ()</td></tr>
|
|
<tr class="memdesc:a0e23c452353e7fdf0881d37521f3d105"><td class="mdescLeft"> </td><td class="mdescRight">Enables underlined text. <br/></td></tr>
|
|
<tr class="separator:a0e23c452353e7fdf0881d37521f3d105"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8485c7073e94e77f9873b80e9cac3151"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8485c7073e94e77f9873b80e9cac3151"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a8485c7073e94e77f9873b80e9cac3151">blink</a> ()</td></tr>
|
|
<tr class="memdesc:a8485c7073e94e77f9873b80e9cac3151"><td class="mdescLeft"> </td><td class="mdescRight">Enables blinking text. <br/></td></tr>
|
|
<tr class="separator:a8485c7073e94e77f9873b80e9cac3151"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4d770065054af95c2b8f98b561619ede"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4d770065054af95c2b8f98b561619ede"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a4d770065054af95c2b8f98b561619ede">reverse</a> ()</td></tr>
|
|
<tr class="memdesc:a4d770065054af95c2b8f98b561619ede"><td class="mdescLeft"> </td><td class="mdescRight">Reverse the foreground and background colors for inverted text. <br/></td></tr>
|
|
<tr class="separator:a4d770065054af95c2b8f98b561619ede"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad1fc2be31d49124a1d32e8afddaa57b8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#ad1fc2be31d49124a1d32e8afddaa57b8">color</a> (<a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20">Color</a> fg)</td></tr>
|
|
<tr class="memdesc:ad1fc2be31d49124a1d32e8afddaa57b8"><td class="mdescLeft"> </td><td class="mdescRight">Selects a text foreground color with the default background color. <a href="#ad1fc2be31d49124a1d32e8afddaa57b8">More...</a><br/></td></tr>
|
|
<tr class="separator:ad1fc2be31d49124a1d32e8afddaa57b8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae22436e478a854e8b559fe73182bc329"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#ae22436e478a854e8b559fe73182bc329">color</a> (<a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20">Color</a> fg, <a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20">Color</a> bg)</td></tr>
|
|
<tr class="memdesc:ae22436e478a854e8b559fe73182bc329"><td class="mdescLeft"> </td><td class="mdescRight">Selects text foreground and background colors. <a href="#ae22436e478a854e8b559fe73182bc329">More...</a><br/></td></tr>
|
|
<tr class="separator:ae22436e478a854e8b559fe73182bc329"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
|
|
Static Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a25fdddd02378250799016cbb714c8a6b"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a25fdddd02378250799016cbb714c8a6b">isWideCharacter</a> (long code)</td></tr>
|
|
<tr class="memdesc:a25fdddd02378250799016cbb714c8a6b"><td class="mdescLeft"> </td><td class="mdescRight">Determine if a Unicode character is wide. <a href="#a25fdddd02378250799016cbb714c8a6b">More...</a><br/></td></tr>
|
|
<tr class="separator:a25fdddd02378250799016cbb714c8a6b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0ed780bd8568f752c5d3dfe68a111c52"><td class="memItemLeft" align="right" valign="top">static size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#a0ed780bd8568f752c5d3dfe68a111c52">utf8Length</a> (long code)</td></tr>
|
|
<tr class="memdesc:a0ed780bd8568f752c5d3dfe68a111c52"><td class="mdescLeft"> </td><td class="mdescRight">Determines the length of a Unicode code point in the UTF-8 encoding. <a href="#a0ed780bd8568f752c5d3dfe68a111c52">More...</a><br/></td></tr>
|
|
<tr class="separator:a0ed780bd8568f752c5d3dfe68a111c52"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae6478319776ecb726613b38429d7cdec"><td class="memItemLeft" align="right" valign="top">static size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classTerminal.html#ae6478319776ecb726613b38429d7cdec">utf8Format</a> (uint8_t *buffer, long code)</td></tr>
|
|
<tr class="memdesc:ae6478319776ecb726613b38429d7cdec"><td class="mdescLeft"> </td><td class="mdescRight">Formats a Unicode code point in a buffer in the UTF-8 encoding. <a href="#ae6478319776ecb726613b38429d7cdec">More...</a><br/></td></tr>
|
|
<tr class="separator:ae6478319776ecb726613b38429d7cdec"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Extended stream interface for terminal operations. </p>
|
|
<p>This class extends the standard Arduino Stream class with functions that are suitable for interfacing to VT100 terminal applications like PuTTY.</p>
|
|
<p>The following example initializes a terminal running on the primary Arduino serial port:</p>
|
|
<div class="fragment"><div class="line"><a class="code" href="classTerminal.html">Terminal</a> term;</div>
|
|
<div class="line"><span class="keywordtype">void</span> setup() {</div>
|
|
<div class="line"> <a class="code" href="classTerminal.html#a6fd7d021468962e9604bee0522b3a364a7efe0e37dae166c00d913190cd8f55f6">Serial</a>.begin(9600);</div>
|
|
<div class="line"> term.<a class="code" href="classTerminal.html#a6bf417195a7d2a2fab6b3518f25764a2">begin</a>(<a class="code" href="classTerminal.html#a6fd7d021468962e9604bee0522b3a364a7efe0e37dae166c00d913190cd8f55f6">Serial</a>);</div>
|
|
<div class="line">}</div>
|
|
</div><!-- fragment --><p>The <a class="el" href="classTerminal.html#aa82621ea174422601cc7384c8185eb96" title="Reads the next key that was typed on this terminal. ">readKey()</a> function reads input from the underlying stream, decodes any VT100 key escape sequences that it finds, and reports them to the application using USB, ASCII, or Unicode key codes. This is typically used in the application's main loop as follows:</p>
|
|
<div class="fragment"><div class="line"><span class="keywordtype">void</span> loop() {</div>
|
|
<div class="line"> <span class="keywordtype">int</span> key = term.<a class="code" href="classTerminal.html#aa82621ea174422601cc7384c8185eb96">readKey</a>();</div>
|
|
<div class="line"> <span class="keywordflow">switch</span> (key) {</div>
|
|
<div class="line"> <span class="keywordflow">case</span> -1: <span class="keywordflow">break</span>; <span class="comment">// No key available.</span></div>
|
|
<div class="line"></div>
|
|
<div class="line"> <span class="keywordflow">case</span> KEY_LEFT_ARROW:</div>
|
|
<div class="line"> <span class="comment">// Left arrow key has been pressed.</span></div>
|
|
<div class="line"> ...</div>
|
|
<div class="line"> <span class="keywordflow">break</span>;</div>
|
|
<div class="line"></div>
|
|
<div class="line"> <span class="keywordflow">case</span> KEY_RIGHT_ARROW:</div>
|
|
<div class="line"> <span class="comment">// Right arrow key has been pressed.</span></div>
|
|
<div class="line"> ...</div>
|
|
<div class="line"> <span class="keywordflow">break</span>;</div>
|
|
<div class="line"></div>
|
|
<div class="line"> <span class="keywordflow">case</span> KEY_ESC:</div>
|
|
<div class="line"> <span class="comment">// Escape key has been pressed.</span></div>
|
|
<div class="line"> ...</div>
|
|
<div class="line"> <span class="keywordflow">break</span>;</div>
|
|
<div class="line"></div>
|
|
<div class="line"> <span class="keywordflow">default</span>:</div>
|
|
<div class="line"> <span class="keywordflow">if</span> (key >= 0x20 && key <= 7E) {</div>
|
|
<div class="line"> <span class="comment">// Visible ASCII character has been typed.</span></div>
|
|
<div class="line"> ...</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> <span class="keywordflow">break</span>;</div>
|
|
<div class="line"> }</div>
|
|
<div class="line">}</div>
|
|
</div><!-- fragment --><p>This class understands extended characters in the UTF-8 encoding, allowing the full Unicode character set to be used in applications. Extended Unicode characters are reported by <a class="el" href="classTerminal.html#aa82621ea174422601cc7384c8185eb96" title="Reads the next key that was typed on this terminal. ">readKey()</a> with the key code KEY_UNICODE, with the actual code point returned via <a class="el" href="classTerminal.html#a33e5eb60d69e4ccf6e3c90f7428b4961" title="Gets the Unicode version of the last key returned by readKey(). ">unicodeKey()</a>.</p>
|
|
<p>On the output side, UTF-8 strings can be written to the terminal using <a class="el" href="classTerminal.html#ae723f16d4f97954fb45550fa05d600bb" title="Writes a single byte to the underlying stream. ">write()</a>, or <a class="el" href="classTerminal.html#a25308d6b2a3d18820d8a0e641c7be937" title="Writes a Unicode code point to the output in UTF-8 encoding. ">writeUnicode()</a> can be used to write a single Unicode character in UTF-8.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>This class does not have any special support for right-to-left scripts or composed characters. Unicode characters are read and written in the order in which they arrive. Applications may need to alter strings to display them correctly in such scripts. Patches are welcome to fix this.</dd></dl>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classShell.html" title="Command-line shell access. ">Shell</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8h_source.html#l00036">36</a> of file <a class="el" href="Terminal_8h_source.html">Terminal.h</a>.</p>
|
|
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
|
|
<a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20">Terminal::Color</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="classTerminal.html" title="Extended stream interface for terminal operations. ">Terminal</a> foreground or background colors. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20ae8891bcc826bd9843740727bd36481a4"></a>Black</em> </td><td class="fielddoc">
|
|
<p>Color is black. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20a7e02ffbae282462707f7fa9b521a5350"></a>DarkRed</em> </td><td class="fielddoc">
|
|
<p>Color is dark red. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20a3e3b823d801aa16880e837ee4b5a950a"></a>DarkGreen</em> </td><td class="fielddoc">
|
|
<p>Color is dark green. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20aa79363e8a838f09ac55b4be7ddabe625"></a>DarkYellow</em> </td><td class="fielddoc">
|
|
<p>Color is dark yellow. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20a857041b4a99e4a303f183a9881c32b8e"></a>DarkBlue</em> </td><td class="fielddoc">
|
|
<p>Color is dark blue. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20a3c0cb0568e93ebf1ea54bea5991b40a9"></a>DarkMagenta</em> </td><td class="fielddoc">
|
|
<p>Color is dark magenta. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20a7770ad09b7bc5a420575bba06878efeb"></a>DarkCyan</em> </td><td class="fielddoc">
|
|
<p>Color is dark cyan. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20a3b4388fbed1f6c20cbe706d49b968683"></a>LightGray</em> </td><td class="fielddoc">
|
|
<p>Color is light gray. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20ab5595f67da54848741ee2b31a38bafec"></a>DarkGray</em> </td><td class="fielddoc">
|
|
<p>Color is dark gray. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20af2687d41cae4cb8276778be71c1e1efb"></a>Red</em> </td><td class="fielddoc">
|
|
<p>Color is light red. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20a884f0fec8e7a5adac3047b890fcbf491"></a>Green</em> </td><td class="fielddoc">
|
|
<p>Color is light green. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20a5f04853bd0cf9cea91dae31cc5294f22"></a>Yellow</em> </td><td class="fielddoc">
|
|
<p>Color is light yellow. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20a70f0c34fa3b8055231e826454b9cf8be"></a>Blue</em> </td><td class="fielddoc">
|
|
<p>Color is light blue. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20a438c102a577219f2b654bebce4d53ea0"></a>Magenta</em> </td><td class="fielddoc">
|
|
<p>Color is light magenta. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20a12656e5c242667b489e639d399964077"></a>Cyan</em> </td><td class="fielddoc">
|
|
<p>Color is light cyan. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a7a03a2e94316da7b2144dad5ba95ac20ae8296a3587847d6e0dd41efcc65251e8"></a>White</em> </td><td class="fielddoc">
|
|
<p>Color is white. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8h_source.html#l00102">102</a> of file <a class="el" href="Terminal_8h_source.html">Terminal.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a6fd7d021468962e9604bee0522b3a364"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="classTerminal.html#a6fd7d021468962e9604bee0522b3a364">Terminal::Mode</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Mode to operate in, Serial or Telnet. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a6fd7d021468962e9604bee0522b3a364a7efe0e37dae166c00d913190cd8f55f6"></a>Serial</em> </td><td class="fielddoc">
|
|
<p>Operates the terminal in serial mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a6fd7d021468962e9604bee0522b3a364a71eb4637496b7a884384c4250f3289a7"></a>Telnet</em> </td><td class="fielddoc">
|
|
<p>Operates the terminal in telnet mode. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8h_source.html#l00042">42</a> of file <a class="el" href="Terminal_8h_source.html">Terminal.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a class="anchor" id="aa448509b5aa1ece53c3d86385655be0e"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">Terminal::Terminal </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Constructs a terminal object. </p>
|
|
<p>This constructor must be followed by a call to <a class="el" href="classTerminal.html#a6bf417195a7d2a2fab6b3518f25764a2" title="Begins terminal operations on an underlying stream. ">begin()</a> to specify the underlying stream to use for reading and writing.</p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a6bf417195a7d2a2fab6b3518f25764a2" title="Begins terminal operations on an underlying stream. ">begin()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00133">133</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a class="anchor" id="a111698c496d601ef7fe0ce4de8a6de9a"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int Terminal::available </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the number of bytes that are available for reading. </p>
|
|
<dl class="section note"><dt>Note</dt><dd>It is possible for this function to return a positive value while <a class="el" href="classTerminal.html#aa82621ea174422601cc7384c8185eb96" title="Reads the next key that was typed on this terminal. ">readKey()</a> does not produce a new key. This can happen with VT100 key escape sequences and UTF-8 characters that extend over multiple bytes.</dd></dl>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#aa82621ea174422601cc7384c8185eb96" title="Reads the next key that was typed on this terminal. ">readKey()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00228">228</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae4aec627f980fe0d26653401785d41bc"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::backspace </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Backspaces over the last character. </p>
|
|
<p>This function prints CTRL-H, a space, and another CTRL-H to backspace over and erase the last character on the current line.</p>
|
|
<p>If the last character was a wide Unicode character, then two calls to this function are required to erase it. See <a class="el" href="classTerminal.html#a25fdddd02378250799016cbb714c8a6b" title="Determine if a Unicode character is wide. ">isWideCharacter()</a> for more information.</p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a25fdddd02378250799016cbb714c8a6b" title="Determine if a Unicode character is wide. ">isWideCharacter()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00949">949</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a6bf417195a7d2a2fab6b3518f25764a2"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::begin </td>
|
|
<td>(</td>
|
|
<td class="paramtype">Stream & </td>
|
|
<td class="paramname"><em>stream</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classTerminal.html#a6fd7d021468962e9604bee0522b3a364">Mode</a> </td>
|
|
<td class="paramname"><em>mode</em> = <code><a class="el" href="classTerminal.html#a6fd7d021468962e9604bee0522b3a364a7efe0e37dae166c00d913190cd8f55f6">Serial</a></code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Begins terminal operations on an underlying stream. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">stream</td><td>The underlying stream, whether a serial port, TCP connection, or some other stream. </td></tr>
|
|
<tr><td class="paramname">mode</td><td>The mode to operate in, either Serial or Telnet.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>If Telnet mode is selected, then embedded commands and options from the telnet protocol (<a href="https://tools.ietf.org/html/rfc854">RFC 854</a>) will be interpreted. This is useful if the underlying <em>stream</em> is a TCP connection on port 23. The mode operates as a telnet server.</p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a9e4c08d43a1a1c039e385d63aca049c0" title="Ends terminal operations on an underlying stream. ">end()</a>, <a class="el" href="classTerminal.html#a18f46590476d5231e9480b5f69a68f63" title="Returns a pointer to the underlying Stream, or NULL if the stream has not been set with begin() yet...">stream()</a>, <a class="el" href="classTerminal.html#acbf591c7371acba52bcd84ba4a0ce5c8" title="Returns the mode this terminal is operating in, Serial or Telnet. ">mode()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00183">183</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a2e8dd341fc1ce63aa120be6066a89bea"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::bold </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Enables bold text. </p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a928023c8125f226ab0851f8b4bb6302f" title="Selects normal text with all attributes and colors off. ">normal()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l01037">1037</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ad1fc2be31d49124a1d32e8afddaa57b8"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::color </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20">Color</a> </td>
|
|
<td class="paramname"><em>fg</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Selects a text foreground color with the default background color. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">fg</td><td>The foreground color to select.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>All other text attributes (reverse, underline, etc) are disabled.</p>
|
|
<p>The following example displays a warning string with the initial word in red and all following words in normal text:</p>
|
|
<div class="fragment"><div class="line">term.<a class="code" href="classTerminal.html#ad1fc2be31d49124a1d32e8afddaa57b8">color</a>(<a class="code" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20af2687d41cae4cb8276778be71c1e1efb">Terminal::Red</a>);</div>
|
|
<div class="line">term.print(<span class="stringliteral">"WARNING: "</span>);</div>
|
|
<div class="line">term.<a class="code" href="classTerminal.html#a928023c8125f226ab0851f8b4bb6302f">normal</a>();</div>
|
|
<div class="line">term.println(<span class="stringliteral">"All files on the SD card will be deleted!"</span>);</div>
|
|
</div><!-- fragment --><dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a928023c8125f226ab0851f8b4bb6302f" title="Selects normal text with all attributes and colors off. ">normal()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l01174">1174</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae22436e478a854e8b559fe73182bc329"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::color </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20">Color</a> </td>
|
|
<td class="paramname"><em>fg</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classTerminal.html#a7a03a2e94316da7b2144dad5ba95ac20">Color</a> </td>
|
|
<td class="paramname"><em>bg</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Selects text foreground and background colors. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">fg</td><td>The foreground color to select. </td></tr>
|
|
<tr><td class="paramname">bg</td><td>The background color to select.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>All other text attributes (reverse, underline, etc) are disabled.</p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a928023c8125f226ab0851f8b4bb6302f" title="Selects normal text with all attributes and colors off. ">normal()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l01206">1206</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aed25b5a884f89dcd2bb269a8e356e5d6"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int Terminal::columns </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Gets the number of columns in the window; defaults to 80. </p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#ac01cf545938eff14f8e249e072b82357" title="Gets the number of rows in the window; defaults to 24. ">rows()</a>, <a class="el" href="classTerminal.html#af8957afd199718a809114dc5236f1a62" title="Sets the number of columns and rows in the window. ">setWindowSize()</a>, <a class="el" href="classTerminal.html#a7f60537603bd91df3ff1371a895054ea" title="Moves the cursor to a specific location in the window. ">cursorMove()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8h_source.html#l00072">72</a> of file <a class="el" href="Terminal_8h_source.html">Terminal.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a4068f1fd6087ff865b169da0a3d61ec5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::cursorDown </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Moves the cursor down by one line. </p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#ae5259872812d674e1fda215ddd18ee70" title="Moves the cursor up by one line. ">cursorUp()</a>, <a class="el" href="classTerminal.html#a2b8434f44885beabb668b70565bfbebe" title="Moves the cursor left by one character. ">cursorLeft()</a>, <a class="el" href="classTerminal.html#adba29515f7a2f7e3a8038cd583bd28dc" title="Moves the cursor right by one character. ">cursorRight()</a>, <a class="el" href="classTerminal.html#a7f60537603bd91df3ff1371a895054ea" title="Moves the cursor to a specific location in the window. ">cursorMove()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00931">931</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a2b8434f44885beabb668b70565bfbebe"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::cursorLeft </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Moves the cursor left by one character. </p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#adba29515f7a2f7e3a8038cd583bd28dc" title="Moves the cursor right by one character. ">cursorRight()</a>, <a class="el" href="classTerminal.html#ae5259872812d674e1fda215ddd18ee70" title="Moves the cursor up by one line. ">cursorUp()</a>, <a class="el" href="classTerminal.html#a4068f1fd6087ff865b169da0a3d61ec5" title="Moves the cursor down by one line. ">cursorDown()</a>, <a class="el" href="classTerminal.html#a7f60537603bd91df3ff1371a895054ea" title="Moves the cursor to a specific location in the window. ">cursorMove()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00898">898</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a7f60537603bd91df3ff1371a895054ea"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::cursorMove </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>x</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>y</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Moves the cursor to a specific location in the window. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">x</td><td>The x position for the cursor between 0 and <a class="el" href="classTerminal.html#aed25b5a884f89dcd2bb269a8e356e5d6" title="Gets the number of columns in the window; defaults to 80. ">columns()</a> - 1. </td></tr>
|
|
<tr><td class="paramname">y</td><td>The y position for the cursor between 0 and <a class="el" href="classTerminal.html#ac01cf545938eff14f8e249e072b82357" title="Gets the number of rows in the window; defaults to 24. ">rows()</a> - 1.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a2b8434f44885beabb668b70565bfbebe" title="Moves the cursor left by one character. ">cursorLeft()</a>, <a class="el" href="classTerminal.html#aed25b5a884f89dcd2bb269a8e356e5d6" title="Gets the number of columns in the window; defaults to 80. ">columns()</a>, <a class="el" href="classTerminal.html#ac01cf545938eff14f8e249e072b82357" title="Gets the number of rows in the window; defaults to 24. ">rows()</a>, <a class="el" href="classTerminal.html#af8957afd199718a809114dc5236f1a62" title="Sets the number of columns and rows in the window. ">setWindowSize()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00866">866</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="adba29515f7a2f7e3a8038cd583bd28dc"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::cursorRight </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Moves the cursor right by one character. </p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a2b8434f44885beabb668b70565bfbebe" title="Moves the cursor left by one character. ">cursorLeft()</a>, <a class="el" href="classTerminal.html#ae5259872812d674e1fda215ddd18ee70" title="Moves the cursor up by one line. ">cursorUp()</a>, <a class="el" href="classTerminal.html#a4068f1fd6087ff865b169da0a3d61ec5" title="Moves the cursor down by one line. ">cursorDown()</a>, <a class="el" href="classTerminal.html#a7f60537603bd91df3ff1371a895054ea" title="Moves the cursor to a specific location in the window. ">cursorMove()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00909">909</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae5259872812d674e1fda215ddd18ee70"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::cursorUp </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Moves the cursor up by one line. </p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a4068f1fd6087ff865b169da0a3d61ec5" title="Moves the cursor down by one line. ">cursorDown()</a>, <a class="el" href="classTerminal.html#a2b8434f44885beabb668b70565bfbebe" title="Moves the cursor left by one character. ">cursorLeft()</a>, <a class="el" href="classTerminal.html#adba29515f7a2f7e3a8038cd583bd28dc" title="Moves the cursor right by one character. ">cursorRight()</a>, <a class="el" href="classTerminal.html#a7f60537603bd91df3ff1371a895054ea" title="Moves the cursor to a specific location in the window. ">cursorMove()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00920">920</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a7daffb0fe91d76678c5a9f22fe16e2c5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::deleteChar </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Deletes the character at the cursor position. </p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#ae2f95592f13a1a5fe8464176a2b10298" title="Deletes a line at the cursor position. ">deleteLine()</a>, <a class="el" href="classTerminal.html#af79ea5335f73762828087f5c813feafd" title="Inserts a blank character at the cursor position. ">insertChar()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00993">993</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae2f95592f13a1a5fe8464176a2b10298"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::deleteLine </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Deletes a line at the cursor position. </p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a7daffb0fe91d76678c5a9f22fe16e2c5" title="Deletes the character at the cursor position. ">deleteChar()</a>, <a class="el" href="classTerminal.html#a9109858612082ffd3d91a88713b7448a" title="Inserts a line at the cursor position. ">insertLine()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00982">982</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a9e4c08d43a1a1c039e385d63aca049c0"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::end </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Ends terminal operations on an underlying stream. </p>
|
|
<p>This function may be useful if you want to detach the terminal from the underlying stream so that it can be used for something else. </p>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00198">198</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="af79ea5335f73762828087f5c813feafd"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::insertChar </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Inserts a blank character at the cursor position. </p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a9109858612082ffd3d91a88713b7448a" title="Inserts a line at the cursor position. ">insertLine()</a>, <a class="el" href="classTerminal.html#a7daffb0fe91d76678c5a9f22fe16e2c5" title="Deletes the character at the cursor position. ">deleteChar()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00971">971</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a9109858612082ffd3d91a88713b7448a"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::insertLine </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Inserts a line at the cursor position. </p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#af79ea5335f73762828087f5c813feafd" title="Inserts a blank character at the cursor position. ">insertChar()</a>, <a class="el" href="classTerminal.html#ae2f95592f13a1a5fe8464176a2b10298" title="Deletes a line at the cursor position. ">deleteLine()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00960">960</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a25fdddd02378250799016cbb714c8a6b"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool Terminal::isWideCharacter </td>
|
|
<td>(</td>
|
|
<td class="paramtype">long </td>
|
|
<td class="paramname"><em>code</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Determine if a Unicode character is wide. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">code</td><td>The code point for the Unicode character. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Returns true if <em>code</em> is a wide character, false otherwise.</dd></dl>
|
|
<p>Wide characters typically come from East Asian languages and occupy two spaces in a terminal. Two calls to <a class="el" href="classTerminal.html#ae4aec627f980fe0d26653401785d41bc" title="Backspaces over the last character. ">backspace()</a> are required to erase such characters.</p>
|
|
<p>References: <a href="http://www.unicode.org/reports/tr11/,">http://www.unicode.org/reports/tr11/,</a> <a href="http://www.unicode.org/Public/UCD/latest/ucd/EastAsianWidth.txt">http://www.unicode.org/Public/UCD/latest/ucd/EastAsianWidth.txt</a></p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#ae4aec627f980fe0d26653401785d41bc" title="Backspaces over the last character. ">backspace()</a>, <a class="el" href="classTerminal.html#a25308d6b2a3d18820d8a0e641c7be937" title="Writes a Unicode code point to the output in UTF-8 encoding. ">writeUnicode()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l01247">1247</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="acbf591c7371acba52bcd84ba4a0ce5c8"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classTerminal.html#a6fd7d021468962e9604bee0522b3a364">Terminal::Mode</a> Terminal::mode </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the mode this terminal is operating in, Serial or Telnet. </p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a6bf417195a7d2a2fab6b3518f25764a2" title="Begins terminal operations on an underlying stream. ">begin()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8h_source.html#l00052">52</a> of file <a class="el" href="Terminal_8h_source.html">Terminal.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a928023c8125f226ab0851f8b4bb6302f"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::normal </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Selects normal text with all attributes and colors off. </p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#ad1fc2be31d49124a1d32e8afddaa57b8" title="Selects a text foreground color with the default background color. ">color()</a>, <a class="el" href="classTerminal.html#a2e8dd341fc1ce63aa120be6066a89bea" title="Enables bold text. ">bold()</a>, <a class="el" href="classTerminal.html#a0e23c452353e7fdf0881d37521f3d105" title="Enables underlined text. ">underline()</a>, <a class="el" href="classTerminal.html#a8485c7073e94e77f9873b80e9cac3151" title="Enables blinking text. ">blink()</a>, <a class="el" href="classTerminal.html#a4d770065054af95c2b8f98b561619ede" title="Reverse the foreground and background colors for inverted text. ">reverse()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l01026">1026</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a49f6aa694fae8a9ff8a526350dd8f8fc"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int Terminal::peek </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Peeks at the next byte from the underlying stream. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>The next byte or -1 if no bytes are available yet.</dd></dl>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a14dfd6dc5c4a30acfb47ab24c22d1cd5" title="Reads the next byte from the underlying stream. ">read()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00240">240</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a14dfd6dc5c4a30acfb47ab24c22d1cd5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int Terminal::read </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Reads the next byte from the underlying stream. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Returns 0x00 to 0xFF if a byte is ready, or -1 if none available.</dd></dl>
|
|
<p>This function performs a low-level read on the underlying byte stream without applying any specific interpretation to the byte. In particular, escape sequences corresponding to arrow and function keys will not be recognized.</p>
|
|
<p>Applications will usually want to call <a class="el" href="classTerminal.html#aa82621ea174422601cc7384c8185eb96" title="Reads the next key that was typed on this terminal. ">readKey()</a> instead to handle escape sequences for arrow and function keys. This function is provided as a convenience to implement the parent Stream interface.</p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#aa82621ea174422601cc7384c8185eb96" title="Reads the next key that was typed on this terminal. ">readKey()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00261">261</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aa82621ea174422601cc7384c8185eb96"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int Terminal::readKey </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Reads the next key that was typed on this terminal. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Returns -1 if there is no key ready yet; 0x00 to 0x7F for an ASCII character; KEY_UNICODE for an extended Unicode code point, or a USB keyboard code for special arrow or function keys.</dd></dl>
|
|
<p>For example, if the user types the Home key, then this function will return KEY_HOME. If the user types the capital letter A, then this function will return 0x41.</p>
|
|
<p>If the user types an extended Unicode character (U+0080 and higher), then this function will return KEY_UNICODE. The application should call <a class="el" href="classTerminal.html#a33e5eb60d69e4ccf6e3c90f7428b4961" title="Gets the Unicode version of the last key returned by readKey(). ">unicodeKey()</a> to retrieve the actual code point. All Unicode characters are assumed to be in the UTF-8 encoding on the stream.</p>
|
|
<p>Some ASCII control characters correspond to special keys and will be mapped appropriately:</p>
|
|
<ul>
|
|
<li>0x08 (CTRL-H) and 0x7F (DEL) are mapped to KEY_BACKSPACE </li>
|
|
<li>0x0D (CTRL-M) and 0x0A (CTRL-J) are mapped to KEY_RETURN </li>
|
|
<li>0x09 (CTRL-I) is mapped to KEY_TAB </li>
|
|
<li>0x1B (CTRL-[) is mapped to KEY_ESCAPE</li>
|
|
</ul>
|
|
<p>In all of these cases, the original ASCII code will be reported by <a class="el" href="classTerminal.html#a33e5eb60d69e4ccf6e3c90f7428b4961" title="Gets the Unicode version of the last key returned by readKey(). ">unicodeKey()</a>. As a special case, if 0x0D is immediately followed by 0x0A (that is, CRLF) then KEY_RETURN will be reported only once with <a class="el" href="classTerminal.html#a33e5eb60d69e4ccf6e3c90f7428b4961" title="Gets the Unicode version of the last key returned by readKey(). ">unicodeKey()</a> set to 0x0D. This ensures that all line ending types are mapped to a single KEY_RETURN report.</p>
|
|
<p>If the window size has changed due to a remote event, then KEY_WINSIZE will be returned. This can allow the caller to clear and redraw the window in the new size.</p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a33e5eb60d69e4ccf6e3c90f7428b4961" title="Gets the Unicode version of the last key returned by readKey(). ">unicodeKey()</a>, <a class="el" href="classTerminal.html#a14dfd6dc5c4a30acfb47ab24c22d1cd5" title="Reads the next byte from the underlying stream. ">read()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00387">387</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ac01cf545938eff14f8e249e072b82357"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int Terminal::rows </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Gets the number of rows in the window; defaults to 24. </p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#aed25b5a884f89dcd2bb269a8e356e5d6" title="Gets the number of columns in the window; defaults to 80. ">columns()</a>, <a class="el" href="classTerminal.html#af8957afd199718a809114dc5236f1a62" title="Sets the number of columns and rows in the window. ">setWindowSize()</a>, <a class="el" href="classTerminal.html#a7f60537603bd91df3ff1371a895054ea" title="Moves the cursor to a specific location in the window. ">cursorMove()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8h_source.html#l00073">73</a> of file <a class="el" href="Terminal_8h_source.html">Terminal.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a661474bb4790aa82178b3ce9a85e5dea"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::scrollDown </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Scrolls the contents of the window down one line. </p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a30d8d69fd84cafc6c2c94ae6fc65b690" title="Scrolls the contents of the window up one line. ">scrollUp()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l01015">1015</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a30d8d69fd84cafc6c2c94ae6fc65b690"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::scrollUp </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Scrolls the contents of the window up one line. </p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a661474bb4790aa82178b3ce9a85e5dea" title="Scrolls the contents of the window down one line. ">scrollDown()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l01004">1004</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="af8957afd199718a809114dc5236f1a62"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool Terminal::setWindowSize </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>columns</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>rows</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the number of columns and rows in the window. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">columns</td><td>The number of columns between 1 and 10000. </td></tr>
|
|
<tr><td class="paramname">rows</td><td>The number of rows between 1 and 10000.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Returns true if the window size has changed.</dd></dl>
|
|
<p>This function should be used if the application has some information about the actual window size. For serial ports, this usually isn't available but telnet and ssh sessions can get the window size from the remote host.</p>
|
|
<p>The window size defaults to 80x24 which is the standard default for terminal programs like PuTTY that emulate a VT100.</p>
|
|
<p>If the window size changes due to a remote event, <a class="el" href="classTerminal.html#aa82621ea174422601cc7384c8185eb96" title="Reads the next key that was typed on this terminal. ">readKey()</a> will return KEY_WINSIZE to inform the application.</p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#aed25b5a884f89dcd2bb269a8e356e5d6" title="Gets the number of columns in the window; defaults to 80. ">columns()</a>, <a class="el" href="classTerminal.html#ac01cf545938eff14f8e249e072b82357" title="Gets the number of rows in the window; defaults to 24. ">rows()</a>, <a class="el" href="classTerminal.html#aa82621ea174422601cc7384c8185eb96" title="Reads the next key that was typed on this terminal. ">readKey()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00801">801</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a18f46590476d5231e9480b5f69a68f63"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">Stream * Terminal::stream </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns a pointer to the underlying Stream, or NULL if the stream has not been set with <a class="el" href="classTerminal.html#a6bf417195a7d2a2fab6b3518f25764a2" title="Begins terminal operations on an underlying stream. ">begin()</a> yet. </p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a6bf417195a7d2a2fab6b3518f25764a2" title="Begins terminal operations on an underlying stream. ">begin()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8h_source.html#l00051">51</a> of file <a class="el" href="Terminal_8h_source.html">Terminal.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a33e5eb60d69e4ccf6e3c90f7428b4961"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">long Terminal::unicodeKey </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Gets the Unicode version of the last key returned by <a class="el" href="classTerminal.html#aa82621ea174422601cc7384c8185eb96" title="Reads the next key that was typed on this terminal. ">readKey()</a>. </p>
|
|
<p>If <a class="el" href="classTerminal.html#aa82621ea174422601cc7384c8185eb96" title="Reads the next key that was typed on this terminal. ">readKey()</a> returned an ASCII character (0x00 to 0x7F) or KEY_UNICODE, then this function can be used to query the full Unicode code point for the key that was typed. If some other key is typed, or no key was typed, then this function will return -1.</p>
|
|
<p>Unicode code points range between 0 and 0x10FFFF.</p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#aa82621ea174422601cc7384c8185eb96" title="Reads the next key that was typed on this terminal. ">readKey()</a>, <a class="el" href="classTerminal.html#a25308d6b2a3d18820d8a0e641c7be937" title="Writes a Unicode code point to the output in UTF-8 encoding. ">writeUnicode()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8h_source.html#l00068">68</a> of file <a class="el" href="Terminal_8h_source.html">Terminal.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae6478319776ecb726613b38429d7cdec"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t Terminal::utf8Format </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint8_t * </td>
|
|
<td class="paramname"><em>buffer</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">long </td>
|
|
<td class="paramname"><em>code</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Formats a Unicode code point in a buffer in the UTF-8 encoding. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">buffer</td><td>The buffer to write the UTF-8 encoding to. At most 4 bytes will be written to this buffer. </td></tr>
|
|
<tr><td class="paramname">code</td><td>The code point to be written between 0 and 0x10FFFF. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The number of bytes that were written to <em>buffer</em> to represent <em>code</em>. Returns zero if <em>code</em> is not a valid code point.</dd></dl>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#a0ed780bd8568f752c5d3dfe68a111c52" title="Determines the length of a Unicode code point in the UTF-8 encoding. ">utf8Length()</a>, <a class="el" href="classTerminal.html#a25308d6b2a3d18820d8a0e641c7be937" title="Writes a Unicode code point to the output in UTF-8 encoding. ">writeUnicode()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l01334">1334</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a0ed780bd8568f752c5d3dfe68a111c52"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t Terminal::utf8Length </td>
|
|
<td>(</td>
|
|
<td class="paramtype">long </td>
|
|
<td class="paramname"><em>code</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Determines the length of a Unicode code point in the UTF-8 encoding. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">code</td><td>The code point to be written between 0 and 0x10FFFF. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The number of bytes that makes up the UTF-8 encoding of <em>code</em>. Returns zero if <em>code</em> is not a valid code point.</dd></dl>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#ae6478319776ecb726613b38429d7cdec" title="Formats a Unicode code point in a buffer in the UTF-8 encoding. ">utf8Format()</a>, <a class="el" href="classTerminal.html#a25308d6b2a3d18820d8a0e641c7be937" title="Writes a Unicode code point to the output in UTF-8 encoding. ">writeUnicode()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l01302">1302</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae723f16d4f97954fb45550fa05d600bb"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t Terminal::write </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>c</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Writes a single byte to the underlying stream. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">c</td><td>The byte to write. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The number of bytes written, zero on error. </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00286">286</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a134b9131e18b35af18c53eabec49186d"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t Terminal::write </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const uint8_t * </td>
|
|
<td class="paramname"><em>buffer</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">size_t </td>
|
|
<td class="paramname"><em>size</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Writes a buffer of data to the underlying stream. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">buffer</td><td>Points to the buffer to write. </td></tr>
|
|
<tr><td class="paramname">size</td><td>The number of bytes in the <em>buffer</em>.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The number of bytes written, which may be short on error. </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00299">299</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae0b908585ec355e0f299579a015c1170"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Terminal::writeProgMem </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const char * </td>
|
|
<td class="paramname"><em>str</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Writes a static string that is stored in program memory. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">str</td><td>Points to the NUL-terminated string in program memory.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>This is a convenience function for printing static strings that are stored in program memory.</p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#ae723f16d4f97954fb45550fa05d600bb" title="Writes a single byte to the underlying stream. ">write()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00314">314</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a25308d6b2a3d18820d8a0e641c7be937"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t Terminal::writeUnicode </td>
|
|
<td>(</td>
|
|
<td class="paramtype">long </td>
|
|
<td class="paramname"><em>code</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Writes a Unicode code point to the output in UTF-8 encoding. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">code</td><td>The code point to be written between 0 and 0x10FFFF. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The number of bytes that were written to the underlying stream to represent <em>code</em>. Returns zero if <em>code</em> is not a valid code point.</dd></dl>
|
|
<p>This function is useful when a specific Unicode character is desired; for example the code point 0x2264 corresponds to the less than or equal to operator "≤". See the Unicode standard for more information.</p>
|
|
<p>Unicode characters between 0x00 and 0x7F and strings that are already in the UTF-8 encoding can also be written using <a class="el" href="classTerminal.html#ae723f16d4f97954fb45550fa05d600bb" title="Writes a single byte to the underlying stream. ">write()</a>.</p>
|
|
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTerminal.html#ae723f16d4f97954fb45550fa05d600bb" title="Writes a single byte to the underlying stream. ">write()</a> </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="Terminal_8cpp_source.html#l00757">757</a> of file <a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following files:<ul>
|
|
<li><a class="el" href="Terminal_8h_source.html">Terminal.h</a></li>
|
|
<li><a class="el" href="Terminal_8cpp_source.html">Terminal.cpp</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated on Mon Apr 2 2018 18:36:53 for ArduinoLibs by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.6
|
|
</small></address>
|
|
</body>
|
|
</html>
|