mirror of
https://github.com/wjwwood/serial.git
synced 2026-01-22 11:44:53 +08:00
1525 lines
78 KiB
HTML
1525 lines
78 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"/>
|
|
<title>serial: serial::Serial Class Reference</title>
|
|
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<script type="text/javascript">
|
|
$(document).ready(function() { searchBox.OnSelectItem(0); });
|
|
</script>
|
|
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div! -->
|
|
|
|
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
|
|
|
|
<td style="padding-left: 0.5em;">
|
|
<div id="projectname">serial
|
|
 <span id="projectnumber">1.0</span>
|
|
</div>
|
|
<div id="projectbrief">Cross-platform serial port library for C++</div>
|
|
</td>
|
|
|
|
|
|
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<!-- Generated by Doxygen 1.8.0 -->
|
|
<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="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li class="current"><a href="annotated.html"><span>Data Structures</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>Data Structures</span></a></li>
|
|
<li><a href="classes.html"><span>Data Structure Index</span></a></li>
|
|
<li><a href="functions.html"><span>Data Fields</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>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</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>Defines</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 id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="namespaceserial.html">serial</a> </li>
|
|
<li class="navelem"><a class="el" href="classserial_1_1_serial.html">Serial</a> </li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Data Structures</a> |
|
|
<a href="#pub-methods">Public Member Functions</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">serial::Serial Class Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p><code>#include <<a class="el" href="serial_8h_source.html">serial.h</a>></code></p>
|
|
<table class="memberdecls">
|
|
<tr><td colspan="2"><h2><a name="nested-classes"></a>
|
|
Data Structures</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_serial_1_1_scoped_read_lock.html">ScopedReadLock</a></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_serial_1_1_scoped_write_lock.html">ScopedWriteLock</a></td></tr>
|
|
<tr><td colspan="2"><h2><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a3cb99baa1eca537742cb81117def8e9b"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a3cb99baa1eca537742cb81117def8e9b">Serial</a> (const std::string &port="", unsigned long baudrate=9600, <a class="el" href="structserial_1_1_timeout.html">Timeout</a> timeout=<a class="el" href="structserial_1_1_timeout.html">Timeout</a>(), <a class="el" href="namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8">bytesize_t</a> bytesize=<a class="el" href="namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a47f14d952cf9bed6c3f7ae5985161990">eightbits</a>, <a class="el" href="namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481">parity_t</a> parity=<a class="el" href="namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481a31cbb2b3cf0870d1a089d66295918416">parity_none</a>, <a class="el" href="namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469">stopbits_t</a> stopbits=<a class="el" href="namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469ab70806555a14cb43e5cc43f6f3d01157">stopbits_one</a>, <a class="el" href="namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351">flowcontrol_t</a> flowcontrol=<a class="el" href="namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351a083bc02a6e8e7c6540a28654c0f95bb0">flowcontrol_none</a>)</td></tr>
|
|
<tr class="memitem:a5b32c394c0ff923a4ef1c13cfb20a6ba"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a5b32c394c0ff923a4ef1c13cfb20a6ba">~Serial</a> ()</td></tr>
|
|
<tr class="memitem:af3644ed1a9d899b70e9d63bb9b808d62"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#af3644ed1a9d899b70e9d63bb9b808d62">open</a> ()</td></tr>
|
|
<tr class="memitem:af9895af496189f7f0aba7c097f5fa9c1"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#af9895af496189f7f0aba7c097f5fa9c1">isOpen</a> () const </td></tr>
|
|
<tr class="memitem:afbe59407e718bc3d22ea4a67b304db6c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#afbe59407e718bc3d22ea4a67b304db6c">close</a> ()</td></tr>
|
|
<tr class="memitem:afafe25b2f3bb0809550abdc72c51a234"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#afafe25b2f3bb0809550abdc72c51a234">available</a> ()</td></tr>
|
|
<tr class="memitem:a2bcd2c76cdacf64928fcd7e9ec279ff1"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a2bcd2c76cdacf64928fcd7e9ec279ff1">read</a> (unsigned char *buffer, size_t size)</td></tr>
|
|
<tr class="memitem:aa1f8933e86e7f37781c186b11a763221"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#aa1f8933e86e7f37781c186b11a763221">read</a> (std::vector< unsigned char > &buffer, size_t size=1)</td></tr>
|
|
<tr class="memitem:ac47576244e34abc2e460ba99684c351f"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#ac47576244e34abc2e460ba99684c351f">read</a> (std::string &buffer, size_t size=1)</td></tr>
|
|
<tr class="memitem:a6c71ad1cbacf86cead4d38b48c548405"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a6c71ad1cbacf86cead4d38b48c548405">read</a> (size_t size=1)</td></tr>
|
|
<tr class="memitem:a010b18ec545dfe1a7bb1c95be4bdaa54"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a010b18ec545dfe1a7bb1c95be4bdaa54">readline</a> (std::string &buffer, size_t size=65536, std::string eol="\n")</td></tr>
|
|
<tr class="memitem:a04177f637cc02f92ec0492d377528b2a"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a04177f637cc02f92ec0492d377528b2a">readline</a> (size_t size=65536, std::string eol="\n")</td></tr>
|
|
<tr class="memitem:a99f77b9bbdc128b6704cc59db77686c5"><td class="memItemLeft" align="right" valign="top">std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a99f77b9bbdc128b6704cc59db77686c5">readlines</a> (size_t size=65536, std::string eol="\n")</td></tr>
|
|
<tr class="memitem:acd98ae129db624b664a5dd51f352d8f7"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#acd98ae129db624b664a5dd51f352d8f7">write</a> (const unsigned char *data, size_t size)</td></tr>
|
|
<tr class="memitem:a280abb1b73ac368591d79badf23776bf"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a280abb1b73ac368591d79badf23776bf">write</a> (const std::vector< unsigned char > &data)</td></tr>
|
|
<tr class="memitem:a7c92c0307b86a935f6623953eec66460"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a7c92c0307b86a935f6623953eec66460">write</a> (const std::string &data)</td></tr>
|
|
<tr class="memitem:acecb0a5102ae0c944fe4b78e4adf839a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#acecb0a5102ae0c944fe4b78e4adf839a">setPort</a> (const std::string &port)</td></tr>
|
|
<tr class="memitem:ae95cd057e90258b1b3203ff8972a3567"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#ae95cd057e90258b1b3203ff8972a3567">getPort</a> () const </td></tr>
|
|
<tr class="memitem:a4fc63af4b800a9f9e757414f38f3e8b3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a4fc63af4b800a9f9e757414f38f3e8b3">setTimeout</a> (<a class="el" href="structserial_1_1_timeout.html">Timeout</a> &timeout)</td></tr>
|
|
<tr class="memitem:a1316ecb01d266e2698317c390ff7af80"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a1316ecb01d266e2698317c390ff7af80">setTimeout</a> (long inter_byte_timeout, long read_timeout_constant, long read_timeout_multiplier, long write_timeout_constant, long write_timeout_multiplier)</td></tr>
|
|
<tr class="memitem:a765fccd0e53562773626fb39bb2efcb6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structserial_1_1_timeout.html">Timeout</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a765fccd0e53562773626fb39bb2efcb6">getTimeout</a> () const </td></tr>
|
|
<tr class="memitem:aec535895c800e3fd7c52d60b9f6b08a5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#aec535895c800e3fd7c52d60b9f6b08a5">setBaudrate</a> (unsigned long baudrate)</td></tr>
|
|
<tr class="memitem:acd0e5a25e4484d6f08fe02c1911ab5e0"><td class="memItemLeft" align="right" valign="top">unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#acd0e5a25e4484d6f08fe02c1911ab5e0">getBaudrate</a> () const </td></tr>
|
|
<tr class="memitem:adba430fd704f6898a5a1d99fd39a94fa"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#adba430fd704f6898a5a1d99fd39a94fa">setBytesize</a> (<a class="el" href="namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8">bytesize_t</a> bytesize)</td></tr>
|
|
<tr class="memitem:a4fce90ef7a9a46525efa373a94a1bfbd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8">bytesize_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a4fce90ef7a9a46525efa373a94a1bfbd">getBytesize</a> () const </td></tr>
|
|
<tr class="memitem:a1e1896aa59ec35ac5bd263b87614ef01"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a1e1896aa59ec35ac5bd263b87614ef01">setParity</a> (<a class="el" href="namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481">parity_t</a> parity)</td></tr>
|
|
<tr class="memitem:a89d876e1d3f0afadb0d6c21b08ed8931"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481">parity_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a89d876e1d3f0afadb0d6c21b08ed8931">getParity</a> () const </td></tr>
|
|
<tr class="memitem:ab72284b5aab723b81013fb560bd6acc5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#ab72284b5aab723b81013fb560bd6acc5">setStopbits</a> (<a class="el" href="namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469">stopbits_t</a> stopbits)</td></tr>
|
|
<tr class="memitem:a42887bb76243bf6bbb3f69ff60f9792e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469">stopbits_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a42887bb76243bf6bbb3f69ff60f9792e">getStopbits</a> () const </td></tr>
|
|
<tr class="memitem:ade41650d6bfe91b6432e5a0a60c03969"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#ade41650d6bfe91b6432e5a0a60c03969">setFlowcontrol</a> (<a class="el" href="namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351">flowcontrol_t</a> flowcontrol)</td></tr>
|
|
<tr class="memitem:acdc6da48a5434b936b1db20f36caf41f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351">flowcontrol_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#acdc6da48a5434b936b1db20f36caf41f">getFlowcontrol</a> () const </td></tr>
|
|
<tr class="memitem:a63b7abf172cad25bfc998b3b1f98310f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a63b7abf172cad25bfc998b3b1f98310f">flush</a> ()</td></tr>
|
|
<tr class="memitem:afa2c1f9114a37b7d140fc2292d1499b9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#afa2c1f9114a37b7d140fc2292d1499b9">flushInput</a> ()</td></tr>
|
|
<tr class="memitem:a256ee4bb93ab0e79d7a66b50f08dce53"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a256ee4bb93ab0e79d7a66b50f08dce53">flushOutput</a> ()</td></tr>
|
|
<tr class="memitem:ade90ff8f03525ea6d7b702fcd0f336de"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#ade90ff8f03525ea6d7b702fcd0f336de">sendBreak</a> (int duration)</td></tr>
|
|
<tr class="memitem:a2a27912b1ca5cdad4a4aba7b9ddbc206"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a2a27912b1ca5cdad4a4aba7b9ddbc206">setBreak</a> (bool level=true)</td></tr>
|
|
<tr class="memitem:ab43ddc05e5d69ff2778f698aa7062370"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#ab43ddc05e5d69ff2778f698aa7062370">setRTS</a> (bool level=true)</td></tr>
|
|
<tr class="memitem:ac9b0bbf613a5fe68f05d1d40181a1bb3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#ac9b0bbf613a5fe68f05d1d40181a1bb3">setDTR</a> (bool level=true)</td></tr>
|
|
<tr class="memitem:a419dc984258956a5adb41fb8c86f5449"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a419dc984258956a5adb41fb8c86f5449">waitForChange</a> ()</td></tr>
|
|
<tr class="memitem:a809f048546c4c72b74e205139b97648c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a809f048546c4c72b74e205139b97648c">getCTS</a> ()</td></tr>
|
|
<tr class="memitem:a6b9a0c485e1fe599dbb5e9e15b1a65d6"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a6b9a0c485e1fe599dbb5e9e15b1a65d6">getDSR</a> ()</td></tr>
|
|
<tr class="memitem:afb96e6968f040c4bff7576095f4ba6e7"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#afb96e6968f040c4bff7576095f4ba6e7">getRI</a> ()</td></tr>
|
|
<tr class="memitem:a9795a3e83e6745a14c64f657e68061fb"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classserial_1_1_serial.html#a9795a3e83e6745a14c64f657e68061fb">getCD</a> ()</td></tr>
|
|
</table>
|
|
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
|
|
<div class="textblock"><p>Class that provides a portable serial port interface. </p>
|
|
</div><hr/><h2>Constructor & Destructor Documentation</h2>
|
|
<a class="anchor" id="a3cb99baa1eca537742cb81117def8e9b"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classserial_1_1_serial.html#a3cb99baa1eca537742cb81117def8e9b">serial::Serial::Serial</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>port</em> = <code>""</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned long </td>
|
|
<td class="paramname"><em>baudrate</em> = <code>9600</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structserial_1_1_timeout.html">Timeout</a> </td>
|
|
<td class="paramname"><em>timeout</em> = <code><a class="el" href="structserial_1_1_timeout.html">Timeout</a>()</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8">bytesize_t</a> </td>
|
|
<td class="paramname"><em>bytesize</em> = <code><a class="el" href="namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a47f14d952cf9bed6c3f7ae5985161990">eightbits</a></code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481">parity_t</a> </td>
|
|
<td class="paramname"><em>parity</em> = <code><a class="el" href="namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481a31cbb2b3cf0870d1a089d66295918416">parity_none</a></code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469">stopbits_t</a> </td>
|
|
<td class="paramname"><em>stopbits</em> = <code><a class="el" href="namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469ab70806555a14cb43e5cc43f6f3d01157">stopbits_one</a></code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351">flowcontrol_t</a> </td>
|
|
<td class="paramname"><em>flowcontrol</em> = <code><a class="el" href="namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351a083bc02a6e8e7c6540a28654c0f95bb0">flowcontrol_none</a></code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Creates a <a class="el" href="classserial_1_1_serial.html">Serial</a> object and opens the port if a port is specified, otherwise it remains closed until <a class="el" href="classserial_1_1_serial.html#af3644ed1a9d899b70e9d63bb9b808d62">serial::Serial::open</a> is called.</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">port</td><td>A std::string containing the address of the serial port, which would be something like 'COM1' on Windows and '/dev/ttyS0' on Linux.</td></tr>
|
|
<tr><td class="paramname">baudrate</td><td>An integer that represents the baudrate</td></tr>
|
|
<tr><td class="paramname">timeout</td><td>A <a class="el" href="structserial_1_1_timeout.html">serial::Timeout</a> struct that defines the timeout conditions for the serial port. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="structserial_1_1_timeout.html">serial::Timeout</a></dd></dl>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">bytesize</td><td>Size of each byte in the serial transmission of data, default is eightbits, possible values are: fivebits, sixbits, sevenbits, eightbits</td></tr>
|
|
<tr><td class="paramname">parity</td><td>Method of parity, default is parity_none, possible values are: parity_none, parity_odd, parity_even</td></tr>
|
|
<tr><td class="paramname">stopbits</td><td>Number of stop bits used, default is stopbits_one, possible values are: stopbits_one, stopbits_one_point_five, stopbits_two</td></tr>
|
|
<tr><td class="paramname">flowcontrol</td><td>Type of flowcontrol used, default is flowcontrol_none, possible values are: flowcontrol_none, flowcontrol_software, flowcontrol_hardware</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname"><a class="el" href="classserial_1_1_port_not_opened_exception.html">PortNotOpenedException</a></td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a5b32c394c0ff923a4ef1c13cfb20a6ba"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classserial_1_1_serial.html#a5b32c394c0ff923a4ef1c13cfb20a6ba">Serial::~Serial</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td><code> [virtual]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Destructor </p>
|
|
<div class="fragment"><pre class="fragment">{
|
|
<span class="keyword">delete</span> pimpl_;
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<hr/><h2>Member Function Documentation</h2>
|
|
<a class="anchor" id="afafe25b2f3bb0809550abdc72c51a234"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t <a class="el" href="classserial_1_1_serial.html#afafe25b2f3bb0809550abdc72c51a234">Serial::available</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Return the number of characters in the buffer. </p>
|
|
<div class="fragment"><pre class="fragment">{
|
|
<span class="keywordflow">return</span> pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aec474ec54cb40a4191939aacb80c5ea2">available</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="afbe59407e718bc3d22ea4a67b304db6c"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#afbe59407e718bc3d22ea4a67b304db6c">Serial::close</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Closes the serial port. </p>
|
|
<div class="fragment"><pre class="fragment">{
|
|
pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a38af5b9c8b676ffaef15c84fb303d6f7">close</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a63b7abf172cad25bfc998b3b1f98310f"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#a63b7abf172cad25bfc998b3b1f98310f">Serial::flush</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Flush the input and output buffers </p>
|
|
<div class="fragment"><pre class="fragment">{
|
|
ScopedReadLock(this->pimpl_);
|
|
ScopedWriteLock(this->pimpl_);
|
|
pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a7dc1818234ab3f5ae3ebd67bc79d8511">flush</a> ();
|
|
read_cache_.clear ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="afa2c1f9114a37b7d140fc2292d1499b9"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#afa2c1f9114a37b7d140fc2292d1499b9">Serial::flushInput</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Flush only the input buffer </p>
|
|
<div class="fragment"><pre class="fragment">{
|
|
ScopedReadLock(this->pimpl_);
|
|
pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a28003745a26c0924fc1d305e947bc3bf">flushInput</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a256ee4bb93ab0e79d7a66b50f08dce53"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#a256ee4bb93ab0e79d7a66b50f08dce53">Serial::flushOutput</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Flush only the output buffer </p>
|
|
<div class="fragment"><pre class="fragment">{
|
|
ScopedWriteLock(this->pimpl_);
|
|
pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a5b2c81540ca1e1eb962249ca8f538299">flushOutput</a> ();
|
|
read_cache_.clear ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="acd0e5a25e4484d6f08fe02c1911ab5e0"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">unsigned long <a class="el" href="classserial_1_1_serial.html#acd0e5a25e4484d6f08fe02c1911ab5e0">Serial::getBaudrate</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Gets the baudrate for the serial port.</p>
|
|
<dl class="section return"><dt>Returns:</dt><dd>An integer that sets the baud rate for the serial port.</dd></dl>
|
|
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="classserial_1_1_serial.html#aec535895c800e3fd7c52d60b9f6b08a5">Serial::setBaudrate</a></dd></dl>
|
|
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">InvalidConfigurationException</td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
<span class="keywordflow">return</span> pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229">getBaudrate</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a4fce90ef7a9a46525efa373a94a1bfbd"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8">bytesize_t</a> <a class="el" href="classserial_1_1_serial.html#a4fce90ef7a9a46525efa373a94a1bfbd">Serial::getBytesize</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Gets the bytesize for the serial port.</p>
|
|
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="classserial_1_1_serial.html#adba430fd704f6898a5a1d99fd39a94fa">Serial::setBytesize</a></dd></dl>
|
|
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">InvalidConfigurationException</td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
<span class="keywordflow">return</span> pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aafeff74e9aed67a996735dbb46323b25">getBytesize</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a9795a3e83e6745a14c64f657e68061fb"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="classserial_1_1_serial.html#a9795a3e83e6745a14c64f657e68061fb">Serial::getCD</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Returns the current status of the CD line. </p>
|
|
<div class="fragment"><pre class="fragment">{
|
|
<span class="keywordflow">return</span> pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a6f2a8d7ff955fc3f061b513c095859e1">getCD</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a809f048546c4c72b74e205139b97648c"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="classserial_1_1_serial.html#a809f048546c4c72b74e205139b97648c">Serial::getCTS</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Returns the current status of the CTS line. </p>
|
|
<div class="fragment"><pre class="fragment">{
|
|
<span class="keywordflow">return</span> pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0801d20b6e906369ad232e460b741d7b">getCTS</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a6b9a0c485e1fe599dbb5e9e15b1a65d6"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="classserial_1_1_serial.html#a6b9a0c485e1fe599dbb5e9e15b1a65d6">Serial::getDSR</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Returns the current status of the DSR line. </p>
|
|
<div class="fragment"><pre class="fragment">{
|
|
<span class="keywordflow">return</span> pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a15d1d986dad6ec754919bb38c3470362">getDSR</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="acdc6da48a5434b936b1db20f36caf41f"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351">flowcontrol_t</a> <a class="el" href="classserial_1_1_serial.html#acdc6da48a5434b936b1db20f36caf41f">Serial::getFlowcontrol</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Gets the flow control for the serial port.</p>
|
|
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="classserial_1_1_serial.html#ade41650d6bfe91b6432e5a0a60c03969">Serial::setFlowcontrol</a></dd></dl>
|
|
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">InvalidConfigurationException</td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
<span class="keywordflow">return</span> pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af1b3fe4ea4d075b76b0c243d4ed768ec">getFlowcontrol</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a89d876e1d3f0afadb0d6c21b08ed8931"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481">parity_t</a> <a class="el" href="classserial_1_1_serial.html#a89d876e1d3f0afadb0d6c21b08ed8931">Serial::getParity</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Gets the parity for the serial port.</p>
|
|
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="classserial_1_1_serial.html#a1e1896aa59ec35ac5bd263b87614ef01">Serial::setParity</a></dd></dl>
|
|
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">InvalidConfigurationException</td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
<span class="keywordflow">return</span> pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa7cc3b7bd62ad98d25f2e2e0f27d3b42">getParity</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae95cd057e90258b1b3203ff8972a3567"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">string <a class="el" href="classserial_1_1_serial.html#ae95cd057e90258b1b3203ff8972a3567">Serial::getPort</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Gets the serial port identifier.</p>
|
|
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="classserial_1_1_serial.html#acecb0a5102ae0c944fe4b78e4adf839a">Serial::setPort</a></dd></dl>
|
|
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">InvalidConfigurationException</td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
<span class="keywordflow">return</span> pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a1f881c2cf8bfc92a7836ee0dd554ec44">getPort</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="afb96e6968f040c4bff7576095f4ba6e7"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="classserial_1_1_serial.html#afb96e6968f040c4bff7576095f4ba6e7">Serial::getRI</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Returns the current status of the RI line. </p>
|
|
<div class="fragment"><pre class="fragment">{
|
|
<span class="keywordflow">return</span> pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0ee5f4cd897bc177a179ec4f0ba8c561">getRI</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a42887bb76243bf6bbb3f69ff60f9792e"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469">stopbits_t</a> <a class="el" href="classserial_1_1_serial.html#a42887bb76243bf6bbb3f69ff60f9792e">Serial::getStopbits</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Gets the stopbits for the serial port.</p>
|
|
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="classserial_1_1_serial.html#ab72284b5aab723b81013fb560bd6acc5">Serial::setStopbits</a></dd></dl>
|
|
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">InvalidConfigurationException</td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
<span class="keywordflow">return</span> pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af52b7b4b1d78b9fc98f7150587ddc8b6">getStopbits</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a765fccd0e53562773626fb39bb2efcb6"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structserial_1_1_timeout.html">serial::Timeout</a> <a class="el" href="classserial_1_1_serial.html#a765fccd0e53562773626fb39bb2efcb6">Serial::getTimeout</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Gets the timeout for reads in seconds.</p>
|
|
<dl class="section return"><dt>Returns:</dt><dd>A <a class="el" href="structserial_1_1_timeout.html">Timeout</a> struct containing the inter_byte_timeout, and read and write timeout constants and multipliers.</dd></dl>
|
|
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="classserial_1_1_serial.html#a4fc63af4b800a9f9e757414f38f3e8b3">Serial::setTimeout</a> </dd></dl>
|
|
<div class="fragment"><pre class="fragment"> {
|
|
<span class="keywordflow">return</span> pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63">getTimeout</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="af9895af496189f7f0aba7c097f5fa9c1"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="classserial_1_1_serial.html#af9895af496189f7f0aba7c097f5fa9c1">Serial::isOpen</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Gets the open status of the serial port.</p>
|
|
<dl class="section return"><dt>Returns:</dt><dd>Returns true if the port is open, false otherwise. </dd></dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
<span class="keywordflow">return</span> pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a189fe759d2119a6513d5981575a91b8e">isOpen</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="af3644ed1a9d899b70e9d63bb9b808d62"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#af3644ed1a9d899b70e9d63bb9b808d62">Serial::open</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Opens the serial port as long as the port is set and the port isn't already open.</p>
|
|
<p>If the port is provided to the constructor then an explicit call to open is not needed.</p>
|
|
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="classserial_1_1_serial.html#a3cb99baa1eca537742cb81117def8e9b">Serial::Serial</a></dd></dl>
|
|
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">std::invalid_argument</td><td></td></tr>
|
|
<tr><td class="paramname"><a class="el" href="classserial_1_1_serial_execption.html">serial::SerialExecption</a></td><td></td></tr>
|
|
<tr><td class="paramname"><a class="el" href="classserial_1_1_i_o_exception.html">serial::IOException</a></td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#abc447d3fefa173392f5d7b641ffef1ed">open</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a2bcd2c76cdacf64928fcd7e9ec279ff1"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t <a class="el" href="classserial_1_1_serial.html#a2bcd2c76cdacf64928fcd7e9ec279ff1">Serial::read</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">unsigned char * </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>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Read a given amount of bytes from the serial port into a given buffer.</p>
|
|
<p>The read function will return in one of three cases:</p>
|
|
<ul>
|
|
<li>The number of requested bytes was read.<ul>
|
|
<li>In this case the number of bytes requested will match the size_t returned by read.</li>
|
|
</ul>
|
|
</li>
|
|
<li>A timeout occurred, in this case the number of bytes read will not match the amount requested, but no exception will be thrown. One of two possible timeouts occurred:<ul>
|
|
<li>The inter byte timeout expired, this means that number of milliseconds elapsed between receiving bytes from the serial port exceeded the inter byte timeout.</li>
|
|
<li>The total timeout expired, which is calculated by multiplying the read timeout multiplier by the number of requested bytes and then added to the read timeout constant. If that total number of milliseconds elapses after the initial call to read a timeout will occur.</li>
|
|
</ul>
|
|
</li>
|
|
<li>An exception occurred, in this case an actual exception will be thrown.</li>
|
|
</ul>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">buffer</td><td>An unsigned char array of at least the requested size. </td></tr>
|
|
<tr><td class="paramname">size</td><td>A size_t defining how many bytes to be read.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns:</dt><dd>A size_t representing the number of bytes read as a result of the call to read. </dd></dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
ScopedReadLock (this->pimpl_);
|
|
<span class="keywordflow">return</span> this->pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab38e31999f75db98b45e74e9b8f66343">read</a> (buffer, size);
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aa1f8933e86e7f37781c186b11a763221"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t <a class="el" href="classserial_1_1_serial.html#a2bcd2c76cdacf64928fcd7e9ec279ff1">Serial::read</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::vector< unsigned char > & </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> = <code>1</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Read a given amount of bytes from the serial port into a give buffer.</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">buffer</td><td>A reference to a std::vector of unsigned char. </td></tr>
|
|
<tr><td class="paramname">size</td><td>A size_t defining how many bytes to be read.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns:</dt><dd>A size_t representing the number of bytes read as a result of the call to read. </dd></dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
ScopedReadLock (this->pimpl_);
|
|
<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buffer_ = <span class="keyword">new</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>[size];
|
|
<span class="keywordtype">size_t</span> bytes_read = this->pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab38e31999f75db98b45e74e9b8f66343">read</a> (buffer_, size);
|
|
buffer.insert (buffer.end (), buffer_, buffer_+bytes_read);
|
|
<span class="keyword">delete</span>[] buffer_;
|
|
<span class="keywordflow">return</span> bytes_read;
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ac47576244e34abc2e460ba99684c351f"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t <a class="el" href="classserial_1_1_serial.html#a2bcd2c76cdacf64928fcd7e9ec279ff1">Serial::read</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::string & </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> = <code>1</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Read a given amount of bytes from the serial port into a give buffer.</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">buffer</td><td>A reference to a std::string. </td></tr>
|
|
<tr><td class="paramname">size</td><td>A size_t defining how many bytes to be read.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns:</dt><dd>A size_t representing the number of bytes read as a result of the call to read. </dd></dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
ScopedReadLock (this->pimpl_);
|
|
<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buffer_ = <span class="keyword">new</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>[size];
|
|
<span class="keywordtype">size_t</span> bytes_read = this->pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab38e31999f75db98b45e74e9b8f66343">read</a> (buffer_, size);
|
|
buffer.append (reinterpret_cast<const char*>(buffer_), bytes_read);
|
|
<span class="keyword">delete</span>[] buffer_;
|
|
<span class="keywordflow">return</span> bytes_read;
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a6c71ad1cbacf86cead4d38b48c548405"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">string <a class="el" href="classserial_1_1_serial.html#a2bcd2c76cdacf64928fcd7e9ec279ff1">Serial::read</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">size_t </td>
|
|
<td class="paramname"><em>size</em> = <code>1</code></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Read a given amount of bytes from the serial port and return a string containing the data.</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">size</td><td>A size_t defining how many bytes to be read.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns:</dt><dd>A std::string containing the data read from the port. </dd></dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
std::string buffer;
|
|
this-><a class="code" href="classserial_1_1_serial.html#a2bcd2c76cdacf64928fcd7e9ec279ff1">read</a> (buffer, size);
|
|
<span class="keywordflow">return</span> buffer;
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a010b18ec545dfe1a7bb1c95be4bdaa54"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t <a class="el" href="classserial_1_1_serial.html#a010b18ec545dfe1a7bb1c95be4bdaa54">serial::Serial::readline</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::string & </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> = <code>65536</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::string </td>
|
|
<td class="paramname"><em>eol</em> = <code>"\n"</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Reads in a line or until a given delimiter has been processed.</p>
|
|
<p>Reads from the serial port until a single line has been read.</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">buffer</td><td>A std::string reference used to store the data. </td></tr>
|
|
<tr><td class="paramname">size</td><td>A maximum length of a line, defaults to 65536 (2^16) </td></tr>
|
|
<tr><td class="paramname">eol</td><td>A string to match against for the EOL.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns:</dt><dd>A size_t representing the number of bytes read. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a04177f637cc02f92ec0492d377528b2a"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::string <a class="el" href="classserial_1_1_serial.html#a010b18ec545dfe1a7bb1c95be4bdaa54">serial::Serial::readline</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">size_t </td>
|
|
<td class="paramname"><em>size</em> = <code>65536</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::string </td>
|
|
<td class="paramname"><em>eol</em> = <code>"\n"</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Reads in a line or until a given delimiter has been processed.</p>
|
|
<p>Reads from the serial port until a single line has been read.</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">size</td><td>A maximum length of a line, defaults to 65536 (2^16) </td></tr>
|
|
<tr><td class="paramname">eol</td><td>A string to match against for the EOL.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns:</dt><dd>A std::string containing the line. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a99f77b9bbdc128b6704cc59db77686c5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">vector< string > <a class="el" href="classserial_1_1_serial.html#a99f77b9bbdc128b6704cc59db77686c5">Serial::readlines</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">size_t </td>
|
|
<td class="paramname"><em>size</em> = <code>65536</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::string </td>
|
|
<td class="paramname"><em>eol</em> = <code>"\n"</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Reads in multiple lines until the serial port times out.</p>
|
|
<p>This requires a timeout > 0 before it can be run. It will read until a timeout occurs and return a list of strings.</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">size</td><td>A maximum length of combined lines, defaults to 65536 (2^16)</td></tr>
|
|
<tr><td class="paramname">eol</td><td>A string to match against for the EOL.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns:</dt><dd>A vector<string> containing the lines. </dd></dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
ScopedReadLock (this->pimpl_);
|
|
std::vector<std::string> lines;
|
|
<span class="keywordtype">size_t</span> eol_len = eol.length ();
|
|
<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buffer_ = <span class="keyword">static_cast<</span><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*<span class="keyword">></span>
|
|
(alloca (size * <span class="keyword">sizeof</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)));
|
|
<span class="keywordtype">size_t</span> read_so_far = 0;
|
|
<span class="keywordtype">size_t</span> start_of_line = 0;
|
|
<span class="keywordflow">while</span> (read_so_far < size) {
|
|
<span class="keywordtype">size_t</span> bytes_read = this->read_ (buffer_+read_so_far, 1);
|
|
read_so_far += bytes_read;
|
|
<span class="keywordflow">if</span> (bytes_read == 0) {
|
|
<span class="keywordflow">if</span> (start_of_line != read_so_far) {
|
|
lines.push_back (
|
|
<span class="keywordtype">string</span> (reinterpret_cast<const char*> (buffer_ + start_of_line),
|
|
read_so_far - start_of_line));
|
|
}
|
|
<span class="keywordflow">break</span>; <span class="comment">// Timeout occured on reading 1 byte</span>
|
|
}
|
|
<span class="keywordflow">if</span> (<span class="keywordtype">string</span> (reinterpret_cast<const char*>
|
|
(buffer_ + read_so_far - eol_len), eol_len) == eol) {
|
|
<span class="comment">// EOL found</span>
|
|
lines.push_back(
|
|
<span class="keywordtype">string</span>(reinterpret_cast<const char*> (buffer_ + start_of_line),
|
|
read_so_far - start_of_line));
|
|
start_of_line = read_so_far;
|
|
}
|
|
<span class="keywordflow">if</span> (read_so_far == size) {
|
|
<span class="keywordflow">if</span> (start_of_line != read_so_far) {
|
|
lines.push_back(
|
|
<span class="keywordtype">string</span>(reinterpret_cast<const char*> (buffer_ + start_of_line),
|
|
read_so_far - start_of_line));
|
|
}
|
|
<span class="keywordflow">break</span>; <span class="comment">// Reached the maximum read length</span>
|
|
}
|
|
}
|
|
<span class="keywordflow">return</span> lines;
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ade90ff8f03525ea6d7b702fcd0f336de"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#ade90ff8f03525ea6d7b702fcd0f336de">Serial::sendBreak</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>duration</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Sends the RS-232 break signal. See tcsendbreak(3). </p>
|
|
<div class="fragment"><pre class="fragment">{
|
|
pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3f738264b8236e271d79835f0ec08bf3">sendBreak</a> (duration);
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aec535895c800e3fd7c52d60b9f6b08a5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#aec535895c800e3fd7c52d60b9f6b08a5">Serial::setBaudrate</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">unsigned long </td>
|
|
<td class="paramname"><em>baudrate</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Sets the baudrate for the serial port.</p>
|
|
<p>Possible baudrates depends on the system but some safe baudrates include: 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200 Some other baudrates that are supported by some comports: 128000, 153600, 230400, 256000, 460800, 921600</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">baudrate</td><td>An integer that sets the baud rate for the serial port.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">InvalidConfigurationException</td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9773deb112bc756a7512930ec4bf23b3">setBaudrate</a> (baudrate);
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a2a27912b1ca5cdad4a4aba7b9ddbc206"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#a2a27912b1ca5cdad4a4aba7b9ddbc206">Serial::setBreak</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>level</em> = <code>true</code></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Set the break condition to a given level. Defaults to true. </p>
|
|
<div class="fragment"><pre class="fragment">{
|
|
pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aff11802f071e95c0e88ef6d0fa3bacd7">setBreak</a> (level);
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="adba430fd704f6898a5a1d99fd39a94fa"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#adba430fd704f6898a5a1d99fd39a94fa">Serial::setBytesize</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8">bytesize_t</a> </td>
|
|
<td class="paramname"><em>bytesize</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Sets the bytesize for the serial port.</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">bytesize</td><td>Size of each byte in the serial transmission of data, default is eightbits, possible values are: fivebits, sixbits, sevenbits, eightbits</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">InvalidConfigurationException</td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac7bde1547ae13c2bbb09126ae7082661">setBytesize</a> (bytesize);
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ac9b0bbf613a5fe68f05d1d40181a1bb3"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#ac9b0bbf613a5fe68f05d1d40181a1bb3">Serial::setDTR</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>level</em> = <code>true</code></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Set the DTR handshaking line to the given level. Defaults to true. </p>
|
|
<div class="fragment"><pre class="fragment">{
|
|
pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a741dbda555f51bb7be361a602f72358c">setDTR</a> (level);
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ade41650d6bfe91b6432e5a0a60c03969"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#ade41650d6bfe91b6432e5a0a60c03969">Serial::setFlowcontrol</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351">flowcontrol_t</a> </td>
|
|
<td class="paramname"><em>flowcontrol</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Sets the flow control for the serial port.</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">flowcontrol</td><td>Type of flowcontrol used, default is flowcontrol_none, possible values are: flowcontrol_none, flowcontrol_software, flowcontrol_hardware</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">InvalidConfigurationException</td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a70f3aaa863c4d11c226a983377a37e43">setFlowcontrol</a> (flowcontrol);
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a1e1896aa59ec35ac5bd263b87614ef01"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#a1e1896aa59ec35ac5bd263b87614ef01">Serial::setParity</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481">parity_t</a> </td>
|
|
<td class="paramname"><em>parity</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Sets the parity for the serial port.</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">parity</td><td>Method of parity, default is parity_none, possible values are: parity_none, parity_odd, parity_even</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">InvalidConfigurationException</td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2619123d52d075967bdb35247f40e51b">setParity</a> (parity);
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="acecb0a5102ae0c944fe4b78e4adf839a"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#acecb0a5102ae0c944fe4b78e4adf839a">Serial::setPort</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>port</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Sets the serial port identifier.</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">port</td><td>A const std::string reference containing the address of the serial port, which would be something like 'COM1' on Windows and '/dev/ttyS0' on Linux.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">InvalidConfigurationException</td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
ScopedReadLock(this->pimpl_);
|
|
ScopedWriteLock(this->pimpl_);
|
|
<span class="keywordtype">bool</span> was_open = pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a189fe759d2119a6513d5981575a91b8e">isOpen</a> ();
|
|
<span class="keywordflow">if</span> (was_open) <a class="code" href="classserial_1_1_serial.html#afbe59407e718bc3d22ea4a67b304db6c">close</a>();
|
|
pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aeb3006e2ff05d5bbaa518bb788eebcda">setPort</a> (port);
|
|
<span class="keywordflow">if</span> (was_open) <a class="code" href="classserial_1_1_serial.html#af3644ed1a9d899b70e9d63bb9b808d62">open</a> ();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ab43ddc05e5d69ff2778f698aa7062370"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#ab43ddc05e5d69ff2778f698aa7062370">Serial::setRTS</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>level</em> = <code>true</code></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Set the RTS handshaking line to the given level. Defaults to true. </p>
|
|
<div class="fragment"><pre class="fragment">{
|
|
pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa6f543e9fb4517fa00835eee15fa5ffa">setRTS</a> (level);
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ab72284b5aab723b81013fb560bd6acc5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#ab72284b5aab723b81013fb560bd6acc5">Serial::setStopbits</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469">stopbits_t</a> </td>
|
|
<td class="paramname"><em>stopbits</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Sets the stopbits for the serial port.</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">stopbits</td><td>Number of stop bits used, default is stopbits_one, possible values are: stopbits_one, stopbits_one_point_five, stopbits_two</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">InvalidConfigurationException</td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a697da32867459d1c4e527c3ec468062e">setStopbits</a> (stopbits);
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a4fc63af4b800a9f9e757414f38f3e8b3"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#a4fc63af4b800a9f9e757414f38f3e8b3">Serial::setTimeout</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structserial_1_1_timeout.html">serial::Timeout</a> & </td>
|
|
<td class="paramname"><em>timeout</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Sets the timeout for reads and writes using the <a class="el" href="structserial_1_1_timeout.html">Timeout</a> struct.</p>
|
|
<p>There are two timeout conditions described here:</p>
|
|
<ul>
|
|
<li>The inter byte timeout:<ul>
|
|
<li>The inter_byte_timeout component of <a class="el" href="structserial_1_1_timeout.html">serial::Timeout</a> defines the maximum amount of time, in milliseconds, between receiving bytes on the serial port that can pass before a timeout occurs. Setting this to zero will prevent inter byte timeouts from occurring.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Total time timeout:<ul>
|
|
<li>The the constant and multiplier component of this timeout condition, for both read and write, are defined in <a class="el" href="structserial_1_1_timeout.html">serial::Timeout</a>. This timeout occurs if the total time since the read or write call was made exceeds the specified time in milliseconds.</li>
|
|
<li>The limit is defined by multiplying the multiplier component by the number of requested bytes and adding that product to the constant component. In this way if you want a read call, for example, to timeout after exactly one second regardless of the number of bytes you asked for then set the read_timeout_constant component of <a class="el" href="structserial_1_1_timeout.html">serial::Timeout</a> to 1000 and the read_timeout_multiplier to zero. This timeout condition can be used in conjunction with the inter byte timeout condition with out any problems, timeout will simply occur when one of the two timeout conditions is met. This allows users to have maximum control over the trade-off between responsiveness and efficiency.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<p>Read and write functions will return in one of three cases. When the reading or writing is complete, when a timeout occurs, or when an exception occurs.</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">timeout</td><td>A <a class="el" href="structserial_1_1_timeout.html">serial::Timeout</a> struct containing the inter byte timeout, and the read and write timeout constants and multipliers.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="structserial_1_1_timeout.html">serial::Timeout</a> </dd></dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c">setTimeout</a> (timeout);
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a1316ecb01d266e2698317c390ff7af80"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classserial_1_1_serial.html#a4fc63af4b800a9f9e757414f38f3e8b3">serial::Serial::setTimeout</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">long </td>
|
|
<td class="paramname"><em>inter_byte_timeout</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">long </td>
|
|
<td class="paramname"><em>read_timeout_constant</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">long </td>
|
|
<td class="paramname"><em>read_timeout_multiplier</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">long </td>
|
|
<td class="paramname"><em>write_timeout_constant</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">long </td>
|
|
<td class="paramname"><em>write_timeout_multiplier</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Sets the timeout for reads and writes. </p>
|
|
<div class="fragment"><pre class="fragment"> {
|
|
Timeout timeout(inter_byte_timeout, read_timeout_constant,
|
|
read_timeout_multiplier, write_timeout_constant,
|
|
write_timeout_multiplier);
|
|
<span class="keywordflow">return</span> <a class="code" href="classserial_1_1_serial.html#a4fc63af4b800a9f9e757414f38f3e8b3">setTimeout</a>(timeout);
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a419dc984258956a5adb41fb8c86f5449"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="classserial_1_1_serial.html#a419dc984258956a5adb41fb8c86f5449">Serial::waitForChange</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Blocks until CTS, DSR, RI, CD changes or something interrupts it.</p>
|
|
<p>Can throw an exception if an error occurs while waiting. You can check the status of CTS, DSR, RI, and CD once this returns. Uses TIOCMIWAIT via ioctl if available (mostly only on Linux) with a resolution of less than +-1ms and as good as +-0.2ms. Otherwise a polling method is used which can give +-2ms.</p>
|
|
<dl class="section return"><dt>Returns:</dt><dd>Returns true if one of the lines changed, false if something else occurred.</dd></dl>
|
|
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">SerialException</td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="fragment"><pre class="fragment">{
|
|
<span class="keywordflow">return</span> pimpl_-><a class="code" href="classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a09f1dcb8e32cb64188daaf8ac0d40215">waitForChange</a>();
|
|
}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="acd98ae129db624b664a5dd51f352d8f7"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t <a class="el" href="classserial_1_1_serial.html#acd98ae129db624b664a5dd51f352d8f7">serial::Serial::write</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const unsigned char * </td>
|
|
<td class="paramname"><em>data</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>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Write a string to the serial port.</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">data</td><td>A const reference containing the data to be written to the serial port.</td></tr>
|
|
<tr><td class="paramname">size</td><td>A size_t that indicates how many bytes should be written from the given data buffer.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns:</dt><dd>A size_t representing the number of bytes actually written to the serial port. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a280abb1b73ac368591d79badf23776bf"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t <a class="el" href="classserial_1_1_serial.html#acd98ae129db624b664a5dd51f352d8f7">serial::Serial::write</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< unsigned char > & </td>
|
|
<td class="paramname"><em>data</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Write a string to the serial port.</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">data</td><td>A const reference containing the data to be written to the serial port.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns:</dt><dd>A size_t representing the number of bytes actually written to the serial port. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a7c92c0307b86a935f6623953eec66460"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t <a class="el" href="classserial_1_1_serial.html#acd98ae129db624b664a5dd51f352d8f7">serial::Serial::write</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>data</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Write a string to the serial port.</p>
|
|
<dl class="params"><dt><b>Parameters:</b></dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">data</td><td>A const reference containing the data to be written to the serial port.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns:</dt><dd>A size_t representing the number of bytes actually written to the serial port. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following files:<ul>
|
|
<li>include/serial/<a class="el" href="serial_8h_source.html">serial.h</a></li>
|
|
<li>src/<a class="el" href="serial_8cc.html">serial.cc</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
|
|
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated on Wed May 2 2012 23:38:24 for serial by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.0
|
|
</small></address>
|
|
|
|
</body>
|
|
</html>
|