RadioLibSmol/class_module.html
2021-06-14 19:01:44 +00:00

1804 lines
88 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>RadioLib: Module 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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">RadioLib
</div>
<div id="projectbrief">Universal wireless communication library for Arduino</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('class_module.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="class_module-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Module Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
<a href="class_module.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_module_8h_source.html">Module.h</a>&gt;</code></p>
<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:a5ea76bc25ef979ec1ff90c032e476004"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a5ea76bc25ef979ec1ff90c032e476004">Module</a> (RADIOLIB_PIN_TYPE rx, RADIOLIB_PIN_TYPE tx, HardwareSerial *serial=nullptr, RADIOLIB_PIN_TYPE rst=RADIOLIB_NC)</td></tr>
<tr class="memdesc:a5ea76bc25ef979ec1ff90c032e476004"><td class="mdescLeft">&#160;</td><td class="mdescRight">UART-based module constructor. <a href="class_module.html#a5ea76bc25ef979ec1ff90c032e476004">More...</a><br /></td></tr>
<tr class="separator:a5ea76bc25ef979ec1ff90c032e476004"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06b2e1f1eb9e07a280e55f517f2fab38"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a06b2e1f1eb9e07a280e55f517f2fab38">Module</a> (RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst)</td></tr>
<tr class="memdesc:a06b2e1f1eb9e07a280e55f517f2fab38"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPI-based module constructor. Will use the default SPI interface automatically initialize it. <a href="class_module.html#a06b2e1f1eb9e07a280e55f517f2fab38">More...</a><br /></td></tr>
<tr class="separator:a06b2e1f1eb9e07a280e55f517f2fab38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8709b81f592a23ebd72ba3fd8066b0f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#ae8709b81f592a23ebd72ba3fd8066b0f">Module</a> (RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE gpio)</td></tr>
<tr class="memdesc:ae8709b81f592a23ebd72ba3fd8066b0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extended SPI-based module constructor. Will use the default SPI interface automatically initialize it. <a href="class_module.html#ae8709b81f592a23ebd72ba3fd8066b0f">More...</a><br /></td></tr>
<tr class="separator:ae8709b81f592a23ebd72ba3fd8066b0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac65f3d9e022b3284134ced1c20bcff09"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#ac65f3d9e022b3284134ced1c20bcff09">Module</a> (RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, SPIClass &amp;spi, SPISettings spiSettings)</td></tr>
<tr class="memdesc:ac65f3d9e022b3284134ced1c20bcff09"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPI-based module constructor. <a href="class_module.html#ac65f3d9e022b3284134ced1c20bcff09">More...</a><br /></td></tr>
<tr class="separator:ac65f3d9e022b3284134ced1c20bcff09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53d99944916b750dc1c69890f370680e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a53d99944916b750dc1c69890f370680e">Module</a> (RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE gpio, SPIClass &amp;spi, SPISettings spiSettings=SPISettings(2000000, MSBFIRST, SPI_MODE0))</td></tr>
<tr class="memdesc:a53d99944916b750dc1c69890f370680e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extended SPI-based module constructor. <a href="class_module.html#a53d99944916b750dc1c69890f370680e">More...</a><br /></td></tr>
<tr class="separator:a53d99944916b750dc1c69890f370680e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56456ade4eeffa2c566a6fc3fd098276"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a56456ade4eeffa2c566a6fc3fd098276">Module</a> (RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE rx, RADIOLIB_PIN_TYPE tx, SPIClass &amp;spi=RADIOLIB_DEFAULT_SPI, SPISettings spiSettings=SPISettings(2000000, MSBFIRST, SPI_MODE0), HardwareSerial *serial=nullptr)</td></tr>
<tr class="memdesc:a56456ade4eeffa2c566a6fc3fd098276"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic module constructor. <a href="class_module.html#a56456ade4eeffa2c566a6fc3fd098276">More...</a><br /></td></tr>
<tr class="separator:a56456ade4eeffa2c566a6fc3fd098276"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a919baf2e46c357ebfcdbc1025b6c551e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a919baf2e46c357ebfcdbc1025b6c551e">Module</a> (const <a class="el" href="class_module.html">Module</a> &amp;mod)</td></tr>
<tr class="memdesc:a919baf2e46c357ebfcdbc1025b6c551e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <a href="class_module.html#a919baf2e46c357ebfcdbc1025b6c551e">More...</a><br /></td></tr>
<tr class="separator:a919baf2e46c357ebfcdbc1025b6c551e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ea888758b4a7784082d513a1e7849a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_module.html">Module</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a4ea888758b4a7784082d513a1e7849a4">operator=</a> (const <a class="el" href="class_module.html">Module</a> &amp;mod)</td></tr>
<tr class="memdesc:a4ea888758b4a7784082d513a1e7849a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overload for assignment operator. <a href="class_module.html#a4ea888758b4a7784082d513a1e7849a4">More...</a><br /></td></tr>
<tr class="separator:a4ea888758b4a7784082d513a1e7849a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb22d89bc5f532f1d056d9a9f3a6589c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#adb22d89bc5f532f1d056d9a9f3a6589c">init</a> (uint8_t interface)</td></tr>
<tr class="memdesc:adb22d89bc5f532f1d056d9a9f3a6589c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize low-level module control. <a href="class_module.html#adb22d89bc5f532f1d056d9a9f3a6589c">More...</a><br /></td></tr>
<tr class="separator:adb22d89bc5f532f1d056d9a9f3a6589c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0569f6930da7bee761eeca8158aed3a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#af0569f6930da7bee761eeca8158aed3a">term</a> (uint8_t interface)</td></tr>
<tr class="memdesc:af0569f6930da7bee761eeca8158aed3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate low-level module control. <a href="class_module.html#af0569f6930da7bee761eeca8158aed3a">More...</a><br /></td></tr>
<tr class="separator:af0569f6930da7bee761eeca8158aed3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5767216ba9340ae6d86915b12e89bd6"><td class="memItemLeft" align="right" valign="top"><a id="ad5767216ba9340ae6d86915b12e89bd6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#ad5767216ba9340ae6d86915b12e89bd6">ATemptyBuffer</a> ()</td></tr>
<tr class="memdesc:ad5767216ba9340ae6d86915b12e89bd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty internal AT buffer. <br /></td></tr>
<tr class="separator:ad5767216ba9340ae6d86915b12e89bd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1aadc2b52eea2bf9d26591091eec3f1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#ad1aadc2b52eea2bf9d26591091eec3f1">ATgetResponse</a> ()</td></tr>
<tr class="memdesc:ad1aadc2b52eea2bf9d26591091eec3f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get response after sending AT command. <a href="class_module.html#ad1aadc2b52eea2bf9d26591091eec3f1">More...</a><br /></td></tr>
<tr class="separator:ad1aadc2b52eea2bf9d26591091eec3f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c09c878b55f56990dd0c2972a3440c4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a5c09c878b55f56990dd0c2972a3440c4">ATsendCommand</a> (const char *cmd)</td></tr>
<tr class="memdesc:a5c09c878b55f56990dd0c2972a3440c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send AT command. Will also call ATgetResponse. <a href="class_module.html#a5c09c878b55f56990dd0c2972a3440c4">More...</a><br /></td></tr>
<tr class="separator:a5c09c878b55f56990dd0c2972a3440c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a623aee6405b330b7c935013ff3d01100"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a623aee6405b330b7c935013ff3d01100">ATsendData</a> (uint8_t *data, uint32_t len)</td></tr>
<tr class="memdesc:a623aee6405b330b7c935013ff3d01100"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send raw AT data. Will also call ATgetResponse. <a href="class_module.html#a623aee6405b330b7c935013ff3d01100">More...</a><br /></td></tr>
<tr class="separator:a623aee6405b330b7c935013ff3d01100"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7ca9ae5a22cdacdf9437ca9cd37c9b4"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#ad7ca9ae5a22cdacdf9437ca9cd37c9b4">SPIgetRegValue</a> (uint8_t reg, uint8_t msb=7, uint8_t lsb=0)</td></tr>
<tr class="memdesc:ad7ca9ae5a22cdacdf9437ca9cd37c9b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPI read method that automatically masks unused bits. This method is the preferred SPI read mechanism. <a href="class_module.html#ad7ca9ae5a22cdacdf9437ca9cd37c9b4">More...</a><br /></td></tr>
<tr class="separator:ad7ca9ae5a22cdacdf9437ca9cd37c9b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1286d7fd9673cbfab945c26b2585a129"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a1286d7fd9673cbfab945c26b2585a129">SPIsetRegValue</a> (uint8_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2, uint8_t checkMask=0xFF)</td></tr>
<tr class="memdesc:a1286d7fd9673cbfab945c26b2585a129"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overwrite-safe SPI write method with verification. This method is the preferred SPI write mechanism. <a href="class_module.html#a1286d7fd9673cbfab945c26b2585a129">More...</a><br /></td></tr>
<tr class="separator:a1286d7fd9673cbfab945c26b2585a129"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fa5239d73379e4140f5c4f513b1b8d2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a6fa5239d73379e4140f5c4f513b1b8d2">SPIreadRegisterBurst</a> (uint8_t reg, uint8_t numBytes, uint8_t *inBytes)</td></tr>
<tr class="memdesc:a6fa5239d73379e4140f5c4f513b1b8d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPI burst read method. <a href="class_module.html#a6fa5239d73379e4140f5c4f513b1b8d2">More...</a><br /></td></tr>
<tr class="separator:a6fa5239d73379e4140f5c4f513b1b8d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d1a279cc7e1ab92e30c29c4dcca26a3"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a1d1a279cc7e1ab92e30c29c4dcca26a3">SPIreadRegister</a> (uint8_t reg)</td></tr>
<tr class="memdesc:a1d1a279cc7e1ab92e30c29c4dcca26a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPI basic read method. Use of this method is reserved for special cases, SPIgetRegValue should be used instead. <a href="class_module.html#a1d1a279cc7e1ab92e30c29c4dcca26a3">More...</a><br /></td></tr>
<tr class="separator:a1d1a279cc7e1ab92e30c29c4dcca26a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d77a08070cbd48fd4ece62a739333e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a9d77a08070cbd48fd4ece62a739333e9">SPIwriteRegisterBurst</a> (uint8_t reg, uint8_t *data, uint8_t numBytes)</td></tr>
<tr class="memdesc:a9d77a08070cbd48fd4ece62a739333e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPI burst write method. <a href="class_module.html#a9d77a08070cbd48fd4ece62a739333e9">More...</a><br /></td></tr>
<tr class="separator:a9d77a08070cbd48fd4ece62a739333e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab814614ddd34b57f5a612a20f5fe4c57"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#ab814614ddd34b57f5a612a20f5fe4c57">SPIwriteRegister</a> (uint8_t reg, uint8_t data)</td></tr>
<tr class="memdesc:ab814614ddd34b57f5a612a20f5fe4c57"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPI basic write method. Use of this method is reserved for special cases, SPIsetRegValue should be used instead. <a href="class_module.html#ab814614ddd34b57f5a612a20f5fe4c57">More...</a><br /></td></tr>
<tr class="separator:ab814614ddd34b57f5a612a20f5fe4c57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefd955f1cd6d588b2cc229db87cb2121"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#aefd955f1cd6d588b2cc229db87cb2121">SPItransfer</a> (uint8_t cmd, uint8_t reg, uint8_t *dataOut, uint8_t *dataIn, uint8_t numBytes)</td></tr>
<tr class="memdesc:aefd955f1cd6d588b2cc229db87cb2121"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPI single transfer method. <a href="class_module.html#aefd955f1cd6d588b2cc229db87cb2121">More...</a><br /></td></tr>
<tr class="separator:aefd955f1cd6d588b2cc229db87cb2121"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae53e355a77f2b7ce6473c62ac5f37334"><td class="memItemLeft" align="right" valign="top">RADIOLIB_PIN_TYPE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#ae53e355a77f2b7ce6473c62ac5f37334">getCs</a> () const</td></tr>
<tr class="memdesc:ae53e355a77f2b7ce6473c62ac5f37334"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access method to get the pin number of SPI chip select. <a href="class_module.html#ae53e355a77f2b7ce6473c62ac5f37334">More...</a><br /></td></tr>
<tr class="separator:ae53e355a77f2b7ce6473c62ac5f37334"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c7f17a63b67117d953f1ba990b17f80"><td class="memItemLeft" align="right" valign="top">RADIOLIB_PIN_TYPE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a8c7f17a63b67117d953f1ba990b17f80">getIrq</a> () const</td></tr>
<tr class="memdesc:a8c7f17a63b67117d953f1ba990b17f80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access method to get the pin number of interrupt/GPIO. <a href="class_module.html#a8c7f17a63b67117d953f1ba990b17f80">More...</a><br /></td></tr>
<tr class="separator:a8c7f17a63b67117d953f1ba990b17f80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae352c7a7b997fc1b17189c1312a8347f"><td class="memItemLeft" align="right" valign="top">RADIOLIB_PIN_TYPE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#ae352c7a7b997fc1b17189c1312a8347f">getRst</a> () const</td></tr>
<tr class="memdesc:ae352c7a7b997fc1b17189c1312a8347f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access method to get the pin number of hardware reset pin. <a href="class_module.html#ae352c7a7b997fc1b17189c1312a8347f">More...</a><br /></td></tr>
<tr class="separator:ae352c7a7b997fc1b17189c1312a8347f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb4c7447372d56a7cae6db91994aacfc"><td class="memItemLeft" align="right" valign="top">RADIOLIB_PIN_TYPE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#aeb4c7447372d56a7cae6db91994aacfc">getGpio</a> () const</td></tr>
<tr class="memdesc:aeb4c7447372d56a7cae6db91994aacfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access method to get the pin number of second interrupt/GPIO. <a href="class_module.html#aeb4c7447372d56a7cae6db91994aacfc">More...</a><br /></td></tr>
<tr class="separator:aeb4c7447372d56a7cae6db91994aacfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d66f76c11ac91a35a3a1d9647aa6f6d"><td class="memItemLeft" align="right" valign="top">RADIOLIB_PIN_TYPE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a5d66f76c11ac91a35a3a1d9647aa6f6d">getRx</a> () const</td></tr>
<tr class="memdesc:a5d66f76c11ac91a35a3a1d9647aa6f6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access method to get the pin number of UART Rx. <a href="class_module.html#a5d66f76c11ac91a35a3a1d9647aa6f6d">More...</a><br /></td></tr>
<tr class="separator:a5d66f76c11ac91a35a3a1d9647aa6f6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a680dd2e80255cab30cbe9773bf20b390"><td class="memItemLeft" align="right" valign="top">RADIOLIB_PIN_TYPE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a680dd2e80255cab30cbe9773bf20b390">getTx</a> () const</td></tr>
<tr class="memdesc:a680dd2e80255cab30cbe9773bf20b390"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access method to get the pin number of UART Rx. <a href="class_module.html#a680dd2e80255cab30cbe9773bf20b390">More...</a><br /></td></tr>
<tr class="separator:a680dd2e80255cab30cbe9773bf20b390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae867ebfef795d63d1df234394510b96e"><td class="memItemLeft" align="right" valign="top">SPIClass *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#ae867ebfef795d63d1df234394510b96e">getSpi</a> () const</td></tr>
<tr class="memdesc:ae867ebfef795d63d1df234394510b96e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access method to get the SPI interface. <a href="class_module.html#ae867ebfef795d63d1df234394510b96e">More...</a><br /></td></tr>
<tr class="separator:ae867ebfef795d63d1df234394510b96e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b6da4ca8fe5178617a1cc28854929a0"><td class="memItemLeft" align="right" valign="top">SPISettings&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a7b6da4ca8fe5178617a1cc28854929a0">getSpiSettings</a> () const</td></tr>
<tr class="memdesc:a7b6da4ca8fe5178617a1cc28854929a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access method to get the SPI interface settings. <a href="class_module.html#a7b6da4ca8fe5178617a1cc28854929a0">More...</a><br /></td></tr>
<tr class="separator:a7b6da4ca8fe5178617a1cc28854929a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ecbb4e1e98094c1296b1e823dc14703"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a0ecbb4e1e98094c1296b1e823dc14703">setRfSwitchPins</a> (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)</td></tr>
<tr class="memdesc:a0ecbb4e1e98094c1296b1e823dc14703"><td class="mdescLeft">&#160;</td><td class="mdescRight">Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! <a href="class_module.html#a0ecbb4e1e98094c1296b1e823dc14703">More...</a><br /></td></tr>
<tr class="separator:a0ecbb4e1e98094c1296b1e823dc14703"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a87d59ad2bf6bb1bb9de1856a81b824"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a4a87d59ad2bf6bb1bb9de1856a81b824">setRfSwitchState</a> (RADIOLIB_PIN_STATUS rxPinState, RADIOLIB_PIN_STATUS txPinState)</td></tr>
<tr class="memdesc:a4a87d59ad2bf6bb1bb9de1856a81b824"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set RF switch state. <a href="class_module.html#a4a87d59ad2bf6bb1bb9de1856a81b824">More...</a><br /></td></tr>
<tr class="separator:a4a87d59ad2bf6bb1bb9de1856a81b824"><td class="memSeparator" colspan="2">&#160;</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:af7e4872dad3d19b6f75f532c88683168"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#af7e4872dad3d19b6f75f532c88683168">pinMode</a> (RADIOLIB_PIN_TYPE pin, RADIOLIB_PIN_MODE mode)</td></tr>
<tr class="memdesc:af7e4872dad3d19b6f75f532c88683168"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arduino core pinMode override that checks RADIOLIB_NC as alias for unused pin. <a href="class_module.html#af7e4872dad3d19b6f75f532c88683168">More...</a><br /></td></tr>
<tr class="separator:af7e4872dad3d19b6f75f532c88683168"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46ad10b113df7c7e0a932be19eff63cd"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a46ad10b113df7c7e0a932be19eff63cd">digitalWrite</a> (RADIOLIB_PIN_TYPE pin, RADIOLIB_PIN_STATUS value)</td></tr>
<tr class="memdesc:a46ad10b113df7c7e0a932be19eff63cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arduino core digitalWrite override that checks RADIOLIB_NC as alias for unused pin. <a href="class_module.html#a46ad10b113df7c7e0a932be19eff63cd">More...</a><br /></td></tr>
<tr class="separator:a46ad10b113df7c7e0a932be19eff63cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7495c81640aac8f4686221dad34a274f"><td class="memItemLeft" align="right" valign="top">static RADIOLIB_PIN_STATUS&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a7495c81640aac8f4686221dad34a274f">digitalRead</a> (RADIOLIB_PIN_TYPE pin)</td></tr>
<tr class="memdesc:a7495c81640aac8f4686221dad34a274f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arduino core digitalWrite override that checks RADIOLIB_NC as alias for unused pin. <a href="class_module.html#a7495c81640aac8f4686221dad34a274f">More...</a><br /></td></tr>
<tr class="separator:a7495c81640aac8f4686221dad34a274f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32ba59613a2f1e77038956e18d9fedd7"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a32ba59613a2f1e77038956e18d9fedd7">tone</a> (RADIOLIB_PIN_TYPE pin, uint16_t value)</td></tr>
<tr class="memdesc:a32ba59613a2f1e77038956e18d9fedd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arduino core tone override that checks RADIOLIB_NC as alias for unused pin and RADIOLIB_TONE_UNSUPPORTED to make sure the platform does support tone. <a href="class_module.html#a32ba59613a2f1e77038956e18d9fedd7">More...</a><br /></td></tr>
<tr class="separator:a32ba59613a2f1e77038956e18d9fedd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af998b86ce1243f616f6fcb6df5336207"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#af998b86ce1243f616f6fcb6df5336207">noTone</a> (RADIOLIB_PIN_TYPE pin)</td></tr>
<tr class="memdesc:af998b86ce1243f616f6fcb6df5336207"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arduino core noTone override that checks RADIOLIB_NC as alias for unused pin and RADIOLIB_TONE_UNSUPPORTED to make sure the platform does support tone. <a href="class_module.html#af998b86ce1243f616f6fcb6df5336207">More...</a><br /></td></tr>
<tr class="separator:af998b86ce1243f616f6fcb6df5336207"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91aaa34aecdfeaf24948551b037033be"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a91aaa34aecdfeaf24948551b037033be">attachInterrupt</a> (RADIOLIB_PIN_TYPE interruptNum, void(*userFunc)(void), RADIOLIB_INTERRUPT_STATUS mode)</td></tr>
<tr class="memdesc:a91aaa34aecdfeaf24948551b037033be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arduino core attachInterrupt override. <a href="class_module.html#a91aaa34aecdfeaf24948551b037033be">More...</a><br /></td></tr>
<tr class="separator:a91aaa34aecdfeaf24948551b037033be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a656738f2fe41fb236d27aed02efa8ad4"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a656738f2fe41fb236d27aed02efa8ad4">detachInterrupt</a> (RADIOLIB_PIN_TYPE interruptNum)</td></tr>
<tr class="memdesc:a656738f2fe41fb236d27aed02efa8ad4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arduino core detachInterrupt override. <a href="class_module.html#a656738f2fe41fb236d27aed02efa8ad4">More...</a><br /></td></tr>
<tr class="separator:a656738f2fe41fb236d27aed02efa8ad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a227d2d38e4747d0f49bb4df1c80b45d7"><td class="memItemLeft" align="right" valign="top"><a id="a227d2d38e4747d0f49bb4df1c80b45d7"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a227d2d38e4747d0f49bb4df1c80b45d7">yield</a> ()</td></tr>
<tr class="memdesc:a227d2d38e4747d0f49bb4df1c80b45d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arduino core yield override. <br /></td></tr>
<tr class="separator:a227d2d38e4747d0f49bb4df1c80b45d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0f870b09b9dd9636f1587d708f07d38"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#af0f870b09b9dd9636f1587d708f07d38">delay</a> (uint32_t ms)</td></tr>
<tr class="memdesc:af0f870b09b9dd9636f1587d708f07d38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arduino core delay override. <a href="class_module.html#af0f870b09b9dd9636f1587d708f07d38">More...</a><br /></td></tr>
<tr class="separator:af0f870b09b9dd9636f1587d708f07d38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14d7cd8220bfa4440bda055ce5be748c"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a14d7cd8220bfa4440bda055ce5be748c">delayMicroseconds</a> (uint32_t us)</td></tr>
<tr class="memdesc:a14d7cd8220bfa4440bda055ce5be748c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arduino core delayMicroseconds override. <a href="class_module.html#a14d7cd8220bfa4440bda055ce5be748c">More...</a><br /></td></tr>
<tr class="separator:a14d7cd8220bfa4440bda055ce5be748c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a216dd0c6ce140857f2b003ab8d89fbac"><td class="memItemLeft" align="right" valign="top"><a id="a216dd0c6ce140857f2b003ab8d89fbac"></a>
static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a216dd0c6ce140857f2b003ab8d89fbac">millis</a> ()</td></tr>
<tr class="memdesc:a216dd0c6ce140857f2b003ab8d89fbac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arduino core millis override. <br /></td></tr>
<tr class="separator:a216dd0c6ce140857f2b003ab8d89fbac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3f51e517a825949891ad29e30fd3f59"><td class="memItemLeft" align="right" valign="top"><a id="af3f51e517a825949891ad29e30fd3f59"></a>
static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#af3f51e517a825949891ad29e30fd3f59">micros</a> ()</td></tr>
<tr class="memdesc:af3f51e517a825949891ad29e30fd3f59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arduino core micros override. <br /></td></tr>
<tr class="separator:af3f51e517a825949891ad29e30fd3f59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f5fd7409f21d33a16ea1de589962ae6"><td class="memItemLeft" align="right" valign="top"><a id="a7f5fd7409f21d33a16ea1de589962ae6"></a>
static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a7f5fd7409f21d33a16ea1de589962ae6">flipBits</a> (uint8_t b)</td></tr>
<tr class="memdesc:a7f5fd7409f21d33a16ea1de589962ae6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to reflect bits within a byte. <br /></td></tr>
<tr class="separator:a7f5fd7409f21d33a16ea1de589962ae6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a160006371be8e121a8a54cc4462b3a72"><td class="memItemLeft" align="right" valign="top"><a id="a160006371be8e121a8a54cc4462b3a72"></a>
static uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a160006371be8e121a8a54cc4462b3a72">flipBits16</a> (uint16_t i)</td></tr>
<tr class="memdesc:a160006371be8e121a8a54cc4462b3a72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to reflect bits within an integer. <br /></td></tr>
<tr class="separator:a160006371be8e121a8a54cc4462b3a72"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a99556decb983f682b98220ae5434b004"><td class="memItemLeft" align="right" valign="top"><a id="a99556decb983f682b98220ae5434b004"></a>
SoftwareSerial *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a99556decb983f682b98220ae5434b004">ModuleSerial</a></td></tr>
<tr class="memdesc:a99556decb983f682b98220ae5434b004"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal SoftwareSerial instance. <br /></td></tr>
<tr class="separator:a99556decb983f682b98220ae5434b004"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a128ead3f3198e3b06d39a128a5d6c777"><td class="memItemLeft" align="right" valign="top"><a id="a128ead3f3198e3b06d39a128a5d6c777"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a128ead3f3198e3b06d39a128a5d6c777">baudrate</a> = 9600</td></tr>
<tr class="memdesc:a128ead3f3198e3b06d39a128a5d6c777"><td class="mdescLeft">&#160;</td><td class="mdescRight">Baud rate of SoftwareSerial UART communication. Defaults to 9600 baud. <br /></td></tr>
<tr class="separator:a128ead3f3198e3b06d39a128a5d6c777"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d8ab2ff353bad5d0e7568d300a48ba0"><td class="memItemLeft" align="right" valign="top"><a id="a9d8ab2ff353bad5d0e7568d300a48ba0"></a>
char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a9d8ab2ff353bad5d0e7568d300a48ba0">AtLineFeed</a> [3] = {'\r', '\n'}</td></tr>
<tr class="memdesc:a9d8ab2ff353bad5d0e7568d300a48ba0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Line feed to be used when sending AT commands. Defaults to CR+LF. <br /></td></tr>
<tr class="separator:a9d8ab2ff353bad5d0e7568d300a48ba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a849ad85fc1bc3a7130e660c13973ab26"><td class="memItemLeft" align="right" valign="top"><a id="a849ad85fc1bc3a7130e660c13973ab26"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#a849ad85fc1bc3a7130e660c13973ab26">SPIreadCommand</a> = 0b00000000</td></tr>
<tr class="memdesc:a849ad85fc1bc3a7130e660c13973ab26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic SPI read command. Defaults to 0x00. <br /></td></tr>
<tr class="separator:a849ad85fc1bc3a7130e660c13973ab26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae89764d15e8df5694a6aec0e18f72d3f"><td class="memItemLeft" align="right" valign="top"><a id="ae89764d15e8df5694a6aec0e18f72d3f"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_module.html#ae89764d15e8df5694a6aec0e18f72d3f">SPIwriteCommand</a> = 0b10000000</td></tr>
<tr class="memdesc:ae89764d15e8df5694a6aec0e18f72d3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic SPI write command. Defaults to 0x80. <br /></td></tr>
<tr class="separator:ae89764d15e8df5694a6aec0e18f72d3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a5ea76bc25ef979ec1ff90c032e476004"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ea76bc25ef979ec1ff90c032e476004">&#9670;&nbsp;</a></span>Module() <span class="overload">[1/7]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Module::Module </td>
<td>(</td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>rx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>tx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">HardwareSerial *&#160;</td>
<td class="paramname"><em>serial</em> = <code>nullptr</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>rst</em> = <code>RADIOLIB_NC</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>UART-based module constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rx</td><td>Arduino pin to be used as Rx pin for SoftwareSerial communication.</td></tr>
<tr><td class="paramname">tx</td><td>Arduino pin to be used as Tx pin for SoftwareSerial communication.</td></tr>
<tr><td class="paramname">serial</td><td>HardwareSerial to be used on platforms that do not support SoftwareSerial. Defaults to Serial1.</td></tr>
<tr><td class="paramname">rst</td><td>Arduino pin to be used as hardware reset for the module. Defaults to NC (unused). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a06b2e1f1eb9e07a280e55f517f2fab38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06b2e1f1eb9e07a280e55f517f2fab38">&#9670;&nbsp;</a></span>Module() <span class="overload">[2/7]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Module::Module </td>
<td>(</td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>cs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>irq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>rst</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>SPI-based module constructor. Will use the default SPI interface automatically initialize it. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cs</td><td>Arduino pin to be used as chip select.</td></tr>
<tr><td class="paramname">irq</td><td>Arduino pin to be used as interrupt/GPIO.</td></tr>
<tr><td class="paramname">rst</td><td>Arduino pin to be used as hardware reset for the module. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae8709b81f592a23ebd72ba3fd8066b0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8709b81f592a23ebd72ba3fd8066b0f">&#9670;&nbsp;</a></span>Module() <span class="overload">[3/7]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Module::Module </td>
<td>(</td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>cs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>irq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>rst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>gpio</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Extended SPI-based module constructor. Will use the default SPI interface automatically initialize it. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cs</td><td>Arduino pin to be used as chip select.</td></tr>
<tr><td class="paramname">irq</td><td>Arduino pin to be used as interrupt/GPIO.</td></tr>
<tr><td class="paramname">rst</td><td>Arduino pin to be used as hardware reset for the module.</td></tr>
<tr><td class="paramname">gpio</td><td>Arduino pin to be used as additional interrupt/GPIO. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac65f3d9e022b3284134ced1c20bcff09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac65f3d9e022b3284134ced1c20bcff09">&#9670;&nbsp;</a></span>Module() <span class="overload">[4/7]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Module::Module </td>
<td>(</td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>cs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>irq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>rst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">SPIClass &amp;&#160;</td>
<td class="paramname"><em>spi</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">SPISettings&#160;</td>
<td class="paramname"><em>spiSettings</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>SPI-based module constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cs</td><td>Arduino pin to be used as chip select.</td></tr>
<tr><td class="paramname">irq</td><td>Arduino pin to be used as interrupt/GPIO.</td></tr>
<tr><td class="paramname">rst</td><td>Arduino pin to be used as hardware reset for the module.</td></tr>
<tr><td class="paramname">spi</td><td>SPI interface to be used, can also use software SPI implementations.</td></tr>
<tr><td class="paramname">spiSettings</td><td>SPI interface settings. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a53d99944916b750dc1c69890f370680e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53d99944916b750dc1c69890f370680e">&#9670;&nbsp;</a></span>Module() <span class="overload">[5/7]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Module::Module </td>
<td>(</td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>cs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>irq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>rst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>gpio</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">SPIClass &amp;&#160;</td>
<td class="paramname"><em>spi</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">SPISettings&#160;</td>
<td class="paramname"><em>spiSettings</em> = <code>SPISettings(2000000,&#160;MSBFIRST,&#160;SPI_MODE0)</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Extended SPI-based module constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cs</td><td>Arduino pin to be used as chip select.</td></tr>
<tr><td class="paramname">irq</td><td>Arduino pin to be used as interrupt/GPIO.</td></tr>
<tr><td class="paramname">rst</td><td>Arduino pin to be used as hardware reset for the module.</td></tr>
<tr><td class="paramname">gpio</td><td>Arduino pin to be used as additional interrupt/GPIO.</td></tr>
<tr><td class="paramname">spi</td><td>SPI interface to be used, can also use software SPI implementations.</td></tr>
<tr><td class="paramname">spiSettings</td><td>SPI interface settings. Defaults to 2 MHz clock, MSB first, mode 0. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a56456ade4eeffa2c566a6fc3fd098276"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56456ade4eeffa2c566a6fc3fd098276">&#9670;&nbsp;</a></span>Module() <span class="overload">[6/7]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Module::Module </td>
<td>(</td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>cs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>irq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>rst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>rx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>tx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">SPIClass &amp;&#160;</td>
<td class="paramname"><em>spi</em> = <code>RADIOLIB_DEFAULT_SPI</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">SPISettings&#160;</td>
<td class="paramname"><em>spiSettings</em> = <code>SPISettings(2000000,&#160;MSBFIRST,&#160;SPI_MODE0)</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">HardwareSerial *&#160;</td>
<td class="paramname"><em>serial</em> = <code>nullptr</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Generic module constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cs</td><td>Arduino pin to be used as chip select.</td></tr>
<tr><td class="paramname">irq</td><td>Arduino pin to be used as interrupt/GPIO.</td></tr>
<tr><td class="paramname">rst</td><td>Arduino pin to be used as hardware reset for the module.</td></tr>
<tr><td class="paramname">tx</td><td>Arduino pin to be used as Tx pin for SoftwareSerial communication.</td></tr>
<tr><td class="paramname">rx</td><td>Arduino pin to be used as Rx pin for SoftwareSerial communication.</td></tr>
<tr><td class="paramname">spi</td><td>SPI interface to be used. Defaults to Arduino hardware SPI interface, can also use software SPI implementations.</td></tr>
<tr><td class="paramname">spiSettings</td><td>SPI interface settings. Defaults to 2 MHz clock, MSB first, mode 0.</td></tr>
<tr><td class="paramname">serial</td><td>HardwareSerial to be used on ESP32 and SAMD. Defaults to 1 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a919baf2e46c357ebfcdbc1025b6c551e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a919baf2e46c357ebfcdbc1025b6c551e">&#9670;&nbsp;</a></span>Module() <span class="overload">[7/7]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Module::Module </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_module.html">Module</a> &amp;&#160;</td>
<td class="paramname"><em>mod</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mod</td><td><a class="el" href="class_module.html" title="Implements all common low-level SPI/UART/I2C methods to control the wireless module....">Module</a> instance to copy. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ad1aadc2b52eea2bf9d26591091eec3f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1aadc2b52eea2bf9d26591091eec3f1">&#9670;&nbsp;</a></span>ATgetResponse()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Module::ATgetResponse </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get response after sending AT command. </p>
<dl class="section return"><dt>Returns</dt><dd>True if AT response contains the string "OK", false otherwise. </dd></dl>
</div>
</div>
<a id="a5c09c878b55f56990dd0c2972a3440c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c09c878b55f56990dd0c2972a3440c4">&#9670;&nbsp;</a></span>ATsendCommand()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Module::ATsendCommand </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>cmd</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send AT command. Will also call ATgetResponse. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cmd</td><td>AT command to be sent. Line feed characters are added automatically.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if AT response contains the string "OK", false otherwise. </dd></dl>
</div>
</div>
<a id="a623aee6405b330b7c935013ff3d01100"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a623aee6405b330b7c935013ff3d01100">&#9670;&nbsp;</a></span>ATsendData()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Module::ATsendData </td>
<td>(</td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>len</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send raw AT data. Will also call ATgetResponse. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Data to be sent.</td></tr>
<tr><td class="paramname">len</td><td>Number of bytes to send.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if AT response contains the string "OK", false otherwise. </dd></dl>
</div>
</div>
<a id="a91aaa34aecdfeaf24948551b037033be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91aaa34aecdfeaf24948551b037033be">&#9670;&nbsp;</a></span>attachInterrupt()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Module::attachInterrupt </td>
<td>(</td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>interruptNum</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void(*)(void)&#160;</td>
<td class="paramname"><em>userFunc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_INTERRUPT_STATUS&#160;</td>
<td class="paramname"><em>mode</em>&#160;</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>Arduino core attachInterrupt override. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">interruptNum</td><td>Interrupt number.</td></tr>
<tr><td class="paramname">userFunc</td><td>Interrupt service routine.</td></tr>
<tr><td class="paramname">mode</td><td>Pin hcange direction. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="af0f870b09b9dd9636f1587d708f07d38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0f870b09b9dd9636f1587d708f07d38">&#9670;&nbsp;</a></span>delay()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Module::delay </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>ms</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>Arduino core delay override. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ms</td><td>Delay length in milliseconds. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a14d7cd8220bfa4440bda055ce5be748c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14d7cd8220bfa4440bda055ce5be748c">&#9670;&nbsp;</a></span>delayMicroseconds()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Module::delayMicroseconds </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>us</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>Arduino core delayMicroseconds override. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">us</td><td>Delay length in microseconds. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a656738f2fe41fb236d27aed02efa8ad4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a656738f2fe41fb236d27aed02efa8ad4">&#9670;&nbsp;</a></span>detachInterrupt()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Module::detachInterrupt </td>
<td>(</td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>interruptNum</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>Arduino core detachInterrupt override. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">interruptNum</td><td>Interrupt number. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7495c81640aac8f4686221dad34a274f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7495c81640aac8f4686221dad34a274f">&#9670;&nbsp;</a></span>digitalRead()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">RADIOLIB_PIN_STATUS Module::digitalRead </td>
<td>(</td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>pin</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>Arduino core digitalWrite override that checks RADIOLIB_NC as alias for unused pin. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pin</td><td>Pin to read from.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pin value. </dd></dl>
</div>
</div>
<a id="a46ad10b113df7c7e0a932be19eff63cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46ad10b113df7c7e0a932be19eff63cd">&#9670;&nbsp;</a></span>digitalWrite()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Module::digitalWrite </td>
<td>(</td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>pin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_STATUS&#160;</td>
<td class="paramname"><em>value</em>&#160;</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>Arduino core digitalWrite override that checks RADIOLIB_NC as alias for unused pin. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pin</td><td>Pin to write to.</td></tr>
<tr><td class="paramname">value</td><td>Whether to set the pin high or low. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae53e355a77f2b7ce6473c62ac5f37334"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae53e355a77f2b7ce6473c62ac5f37334">&#9670;&nbsp;</a></span>getCs()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">RADIOLIB_PIN_TYPE Module::getCs </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>Access method to get the pin number of SPI chip select. </p>
<dl class="section return"><dt>Returns</dt><dd>Pin number of SPI chip select configured in the constructor. </dd></dl>
</div>
</div>
<a id="aeb4c7447372d56a7cae6db91994aacfc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb4c7447372d56a7cae6db91994aacfc">&#9670;&nbsp;</a></span>getGpio()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">RADIOLIB_PIN_TYPE Module::getGpio </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>Access method to get the pin number of second interrupt/GPIO. </p>
<dl class="section return"><dt>Returns</dt><dd>Pin number of second interrupt/GPIO configured in the constructor. </dd></dl>
</div>
</div>
<a id="a8c7f17a63b67117d953f1ba990b17f80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c7f17a63b67117d953f1ba990b17f80">&#9670;&nbsp;</a></span>getIrq()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">RADIOLIB_PIN_TYPE Module::getIrq </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>Access method to get the pin number of interrupt/GPIO. </p>
<dl class="section return"><dt>Returns</dt><dd>Pin number of interrupt/GPIO configured in the constructor. </dd></dl>
</div>
</div>
<a id="ae352c7a7b997fc1b17189c1312a8347f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae352c7a7b997fc1b17189c1312a8347f">&#9670;&nbsp;</a></span>getRst()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">RADIOLIB_PIN_TYPE Module::getRst </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>Access method to get the pin number of hardware reset pin. </p>
<dl class="section return"><dt>Returns</dt><dd>Pin number of hardware reset pin configured in the constructor. </dd></dl>
</div>
</div>
<a id="a5d66f76c11ac91a35a3a1d9647aa6f6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d66f76c11ac91a35a3a1d9647aa6f6d">&#9670;&nbsp;</a></span>getRx()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">RADIOLIB_PIN_TYPE Module::getRx </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>Access method to get the pin number of UART Rx. </p>
<dl class="section return"><dt>Returns</dt><dd>Pin number of UART Rx configured in the constructor. </dd></dl>
</div>
</div>
<a id="ae867ebfef795d63d1df234394510b96e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae867ebfef795d63d1df234394510b96e">&#9670;&nbsp;</a></span>getSpi()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">SPIClass* Module::getSpi </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>Access method to get the SPI interface. </p>
<dl class="section return"><dt>Returns</dt><dd>SPI interface configured in the constructor. </dd></dl>
</div>
</div>
<a id="a7b6da4ca8fe5178617a1cc28854929a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b6da4ca8fe5178617a1cc28854929a0">&#9670;&nbsp;</a></span>getSpiSettings()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">SPISettings Module::getSpiSettings </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>Access method to get the SPI interface settings. </p>
<dl class="section return"><dt>Returns</dt><dd>SPI interface settings configured in the constructor. </dd></dl>
</div>
</div>
<a id="a680dd2e80255cab30cbe9773bf20b390"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a680dd2e80255cab30cbe9773bf20b390">&#9670;&nbsp;</a></span>getTx()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">RADIOLIB_PIN_TYPE Module::getTx </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>Access method to get the pin number of UART Rx. </p>
<dl class="section return"><dt>Returns</dt><dd>Pin number of UART Rx configured in the constructor. </dd></dl>
</div>
</div>
<a id="adb22d89bc5f532f1d056d9a9f3a6589c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb22d89bc5f532f1d056d9a9f3a6589c">&#9670;&nbsp;</a></span>init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Module::init </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>interface</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize low-level module control. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">interface</td><td>Interface to be used on the module. See <a class="el" href="group__shield__config.html">Shield Configuration</a> for details. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="af998b86ce1243f616f6fcb6df5336207"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af998b86ce1243f616f6fcb6df5336207">&#9670;&nbsp;</a></span>noTone()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Module::noTone </td>
<td>(</td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>pin</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>Arduino core noTone override that checks RADIOLIB_NC as alias for unused pin and RADIOLIB_TONE_UNSUPPORTED to make sure the platform does support tone. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pin</td><td>Pin to write to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4ea888758b4a7784082d513a1e7849a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ea888758b4a7784082d513a1e7849a4">&#9670;&nbsp;</a></span>operator=()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_module.html">Module</a> &amp; Module::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_module.html">Module</a> &amp;&#160;</td>
<td class="paramname"><em>mod</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Overload for assignment operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">frame</td><td>rvalue <a class="el" href="class_module.html" title="Implements all common low-level SPI/UART/I2C methods to control the wireless module....">Module</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="af7e4872dad3d19b6f75f532c88683168"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7e4872dad3d19b6f75f532c88683168">&#9670;&nbsp;</a></span>pinMode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Module::pinMode </td>
<td>(</td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>pin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_MODE&#160;</td>
<td class="paramname"><em>mode</em>&#160;</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>Arduino core pinMode override that checks RADIOLIB_NC as alias for unused pin. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pin</td><td>Pin to change the mode of.</td></tr>
<tr><td class="paramname">mode</td><td>Which mode to set. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0ecbb4e1e98094c1296b1e823dc14703"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ecbb4e1e98094c1296b1e823dc14703">&#9670;&nbsp;</a></span>setRfSwitchPins()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Module::setRfSwitchPins </td>
<td>(</td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>rxEn</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>txEn</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rxEn</td><td>RX enable pin.</td></tr>
<tr><td class="paramname">txEn</td><td>TX enable pin. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4a87d59ad2bf6bb1bb9de1856a81b824"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a87d59ad2bf6bb1bb9de1856a81b824">&#9670;&nbsp;</a></span>setRfSwitchState()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Module::setRfSwitchState </td>
<td>(</td>
<td class="paramtype">RADIOLIB_PIN_STATUS&#160;</td>
<td class="paramname"><em>rxPinState</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RADIOLIB_PIN_STATUS&#160;</td>
<td class="paramname"><em>txPinState</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set RF switch state. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rxPinState</td><td>Pin state to set on Tx enable pin (usually high to transmit).</td></tr>
<tr><td class="paramname">txPinState</td><td>Pin state to set on Rx enable pin (usually high to receive). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad7ca9ae5a22cdacdf9437ca9cd37c9b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7ca9ae5a22cdacdf9437ca9cd37c9b4">&#9670;&nbsp;</a></span>SPIgetRegValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int16_t Module::SPIgetRegValue </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>reg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>msb</em> = <code>7</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>lsb</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>SPI read method that automatically masks unused bits. This method is the preferred SPI read mechanism. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reg</td><td>Address of SPI register to read.</td></tr>
<tr><td class="paramname">msb</td><td>Most significant bit of the register variable. Bits above this one will be masked out.</td></tr>
<tr><td class="paramname">lsb</td><td>Least significant bit of the register variable. Bits below this one will be masked out.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Masked register value or status code. </dd></dl>
</div>
</div>
<a id="a1d1a279cc7e1ab92e30c29c4dcca26a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d1a279cc7e1ab92e30c29c4dcca26a3">&#9670;&nbsp;</a></span>SPIreadRegister()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t Module::SPIreadRegister </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>reg</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>SPI basic read method. Use of this method is reserved for special cases, SPIgetRegValue should be used instead. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reg</td><td>Address of SPI register to read.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Value that was read from register. </dd></dl>
</div>
</div>
<a id="a6fa5239d73379e4140f5c4f513b1b8d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fa5239d73379e4140f5c4f513b1b8d2">&#9670;&nbsp;</a></span>SPIreadRegisterBurst()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Module::SPIreadRegisterBurst </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>reg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>numBytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>inBytes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>SPI burst read method. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reg</td><td>Address of SPI register to read.</td></tr>
<tr><td class="paramname">numBytes</td><td>Number of bytes that will be read.</td></tr>
<tr><td class="paramname">inBytes</td><td>Pointer to array that will hold the read data. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1286d7fd9673cbfab945c26b2585a129"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1286d7fd9673cbfab945c26b2585a129">&#9670;&nbsp;</a></span>SPIsetRegValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int16_t Module::SPIsetRegValue </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>reg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>msb</em> = <code>7</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>lsb</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>checkInterval</em> = <code>2</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>checkMask</em> = <code>0xFF</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Overwrite-safe SPI write method with verification. This method is the preferred SPI write mechanism. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reg</td><td>Address of SPI register to write.</td></tr>
<tr><td class="paramname">value</td><td>Single byte value that will be written to the SPI register.</td></tr>
<tr><td class="paramname">msb</td><td>Most significant bit of the register variable. Bits above this one will not be affected by the write operation.</td></tr>
<tr><td class="paramname">lsb</td><td>Least significant bit of the register variable. Bits below this one will not be affected by the write operation.</td></tr>
<tr><td class="paramname">checkInterval</td><td>Number of milliseconds between register writing and verification reading. Some registers need up to 10ms to process the change.</td></tr>
<tr><td class="paramname">checkMask</td><td>Mask of bits to check, only bits set to 1 will be verified.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__status__codes.html">Status Codes</a> </dd></dl>
</div>
</div>
<a id="aefd955f1cd6d588b2cc229db87cb2121"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefd955f1cd6d588b2cc229db87cb2121">&#9670;&nbsp;</a></span>SPItransfer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Module::SPItransfer </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>cmd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>reg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>dataOut</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>dataIn</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>numBytes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>SPI single transfer method. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cmd</td><td>SPI access command (read/write/burst/...).</td></tr>
<tr><td class="paramname">reg</td><td>Address of SPI register to transfer to/from.</td></tr>
<tr><td class="paramname">dataOut</td><td>Data that will be transfered from master to slave.</td></tr>
<tr><td class="paramname">dataIn</td><td>Data that was transfered from slave to master.</td></tr>
<tr><td class="paramname">numBytes</td><td>Number of bytes to transfer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab814614ddd34b57f5a612a20f5fe4c57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab814614ddd34b57f5a612a20f5fe4c57">&#9670;&nbsp;</a></span>SPIwriteRegister()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Module::SPIwriteRegister </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>reg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>SPI basic write method. Use of this method is reserved for special cases, SPIsetRegValue should be used instead. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reg</td><td>Address of SPI register to write.</td></tr>
<tr><td class="paramname">data</td><td>Value that will be written to the register. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9d77a08070cbd48fd4ece62a739333e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d77a08070cbd48fd4ece62a739333e9">&#9670;&nbsp;</a></span>SPIwriteRegisterBurst()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Module::SPIwriteRegisterBurst </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>reg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>numBytes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>SPI burst write method. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reg</td><td>Address of SPI register to write.</td></tr>
<tr><td class="paramname">data</td><td>Pointer to array that holds the data that will be written.</td></tr>
<tr><td class="paramname">numBytes</td><td>Number of bytes that will be written. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="af0569f6930da7bee761eeca8158aed3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0569f6930da7bee761eeca8158aed3a">&#9670;&nbsp;</a></span>term()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Module::term </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>interface</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Terminate low-level module control. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">interface</td><td>Interface to be terminated. See <a class="el" href="group__shield__config.html">Shield Configuration</a> for details. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a32ba59613a2f1e77038956e18d9fedd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32ba59613a2f1e77038956e18d9fedd7">&#9670;&nbsp;</a></span>tone()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Module::tone </td>
<td>(</td>
<td class="paramtype">RADIOLIB_PIN_TYPE&#160;</td>
<td class="paramname"><em>pin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>value</em>&#160;</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>Arduino core tone override that checks RADIOLIB_NC as alias for unused pin and RADIOLIB_TONE_UNSUPPORTED to make sure the platform does support tone. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pin</td><td>Pin to write to.</td></tr>
<tr><td class="paramname">value</td><td>Frequency to output. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/<a class="el" href="_module_8h_source.html">Module.h</a></li>
<li>src/Module.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="class_module.html">Module</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>