<!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.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>RadioLib: src/modules/SX126x/SX126x.h Source File</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.9.1 -->
<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','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih: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('_s_x126x_8h_source.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="headertitle">
<div class="title">SX126x.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#if !defined(_RADIOLIB_SX126X_H)</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define _RADIOLIB_SX126X_H</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160; </div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &quot;../../TypeDef.h&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#if !defined(RADIOLIB_EXCLUDE_SX126X)</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160; </div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &quot;../../Module.h&quot;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160; </div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &quot;../../protocols/PhysicalLayer/PhysicalLayer.h&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// SX126X physical layer properties</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_FREQUENCY_STEP_SIZE                    0.9536743164</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_MAX_PACKET_LENGTH                      255</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CRYSTAL_FREQ                           32.0</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_DIV_EXPONENT                           25</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160; </div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">// SX126X SPI commands</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">// operational modes commands</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_NOP                                0x00</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_SLEEP                          0x84</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_STANDBY                        0x80</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_FS                             0xC1</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_TX                             0x83</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_RX                             0x82</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_STOP_TIMER_ON_PREAMBLE             0x9F</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_RX_DUTY_CYCLE                  0x94</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_CAD                            0xC5</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_TX_CONTINUOUS_WAVE             0xD1</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_TX_INFINITE_PREAMBLE           0xD2</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_REGULATOR_MODE                 0x96</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_CALIBRATE                          0x89</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_CALIBRATE_IMAGE                    0x98</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_PA_CONFIG                      0x95</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_RX_TX_FALLBACK_MODE            0x93</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">// register and buffer access commands</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_WRITE_REGISTER                     0x0D</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_READ_REGISTER                      0x1D</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_WRITE_BUFFER                       0x0E</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_READ_BUFFER                        0x1E</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">// DIO and IRQ control</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_DIO_IRQ_PARAMS                 0x08</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_GET_IRQ_STATUS                     0x12</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_CLEAR_IRQ_STATUS                   0x02</span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_DIO2_AS_RF_SWITCH_CTRL         0x9D</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_DIO3_AS_TCXO_CTRL              0x97</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">// RF, modulation and packet commands</span></div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_RF_FREQUENCY                   0x86</span></div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_PACKET_TYPE                    0x8A</span></div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_GET_PACKET_TYPE                    0x11</span></div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_TX_PARAMS                      0x8E</span></div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_MODULATION_PARAMS              0x8B</span></div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_PACKET_PARAMS                  0x8C</span></div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_CAD_PARAMS                     0x88</span></div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_BUFFER_BASE_ADDRESS            0x8F</span></div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_SET_LORA_SYMB_NUM_TIMEOUT          0x0A</span></div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">// status commands</span></div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_GET_STATUS                         0xC0</span></div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_GET_RSSI_INST                      0x15</span></div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_GET_RX_BUFFER_STATUS               0x13</span></div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_GET_PACKET_STATUS                  0x14</span></div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_GET_DEVICE_ERRORS                  0x17</span></div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_CLEAR_DEVICE_ERRORS                0x07</span></div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_GET_STATS                          0x10</span></div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CMD_RESET_STATS                        0x00</span></div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160; </div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">// SX126X register map</span></div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_HOPPING_ENABLE                     0x0385</span></div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_LR_FHSS_PACKET_LENGTH              0x0386</span></div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_LR_FHSS_NUM_HOPPING_BLOCKS         0x0387</span></div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_LR_FHSS_NUM_SYMBOLS_FREQX_MSB(X)   (0x0388 + (X)*6)</span></div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_LR_FHSS_NUM_SYMBOLS_FREQX_LSB(X)   (0x0389 + (X)*6)</span></div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_LR_FHSS_FREQX_0(X)                 (0x038A + (X)*6)</span></div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_LR_FHSS_FREQX_1(X)                 (0x038B + (X)*6)</span></div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_LR_FHSS_FREQX_2(X)                 (0x038C + (X)*6)</span></div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_LR_FHSS_FREQX_3(X)                 (0x038D + (X)*6)</span></div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_DIOX_OUT_ENABLE                    0x0580</span></div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_DIOX_IN_ENABLE                     0x0583</span></div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_DIOX_PULL_UP_CTRL                  0x0584</span></div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_DIOX_PULL_DOWN_CTRL                0x0585</span></div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_WHITENING_INITIAL_MSB              0x06B8</span></div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_WHITENING_INITIAL_LSB              0x06B9</span></div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_CRC_INITIAL_MSB                    0x06BC</span></div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_CRC_INITIAL_LSB                    0x06BD</span></div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_CRC_POLYNOMIAL_MSB                 0x06BE</span></div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_CRC_POLYNOMIAL_LSB                 0x06BF</span></div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_SYNC_WORD_0                        0x06C0</span></div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_SYNC_WORD_1                        0x06C1</span></div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_SYNC_WORD_2                        0x06C2</span></div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_SYNC_WORD_3                        0x06C3</span></div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_SYNC_WORD_4                        0x06C4</span></div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_SYNC_WORD_5                        0x06C5</span></div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_SYNC_WORD_6                        0x06C6</span></div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_SYNC_WORD_7                        0x06C7</span></div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_NODE_ADDRESS                       0x06CD</span></div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_BROADCAST_ADDRESS                  0x06CE</span></div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_IQ_CONFIG                          0x0736</span></div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_LORA_SYNC_WORD_MSB                 0x0740</span></div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_LORA_SYNC_WORD_LSB                 0x0741</span></div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_RANDOM_NUMBER_0                    0x0819</span></div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_RANDOM_NUMBER_1                    0x081A</span></div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_RANDOM_NUMBER_2                    0x081B</span></div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_RANDOM_NUMBER_3                    0x081C</span></div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_RX_GAIN                            0x08AC</span></div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_TX_CLAMP_CONFIG                    0x08D8</span></div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_OCP_CONFIGURATION                  0x08E7</span></div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_RTC_CTRL                           0x0902</span></div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_XTA_TRIM                           0x0911</span></div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_XTB_TRIM                           0x0912</span></div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_DIO3_OUT_VOLTAGE_CTRL              0x0920</span></div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_EVENT_MASK                         0x0944</span></div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment">// undocumented registers</span></div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_SENSITIVITY_CONFIG                 0x0889 </span><span class="comment">// SX1268 datasheet v1.1, section 15.1</span></div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_RX_GAIN_RETENTION_0                0x029F </span><span class="comment">// SX1268 datasheet v1.1, section 9.6</span></div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_RX_GAIN_RETENTION_1                0x02A0 </span><span class="comment">// SX1268 datasheet v1.1, section 9.6</span></div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REG_RX_GAIN_RETENTION_2                0x02A1 </span><span class="comment">// SX1268 datasheet v1.1, section 9.6</span></div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160; </div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160; </div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment">// SX126X SPI command variables</span></div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_SET_SLEEP                                                MSB   LSB   DESCRIPTION</span></div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_SLEEP_START_COLD                       0b00000000  </span><span class="comment">//  2     2     sleep mode: cold start, configuration is lost (default)</span></div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_SLEEP_START_WARM                       0b00000100  </span><span class="comment">//  2     2                 warm start, configuration is retained</span></div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_SLEEP_RTC_OFF                          0b00000000  </span><span class="comment">//  0     0     wake on RTC timeout: disabled</span></div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_SLEEP_RTC_ON                           0b00000001  </span><span class="comment">//  0     0                          enabled</span></div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; </div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_SET_STANDBY</span></div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_STANDBY_RC                             0x00        </span><span class="comment">//  7     0     standby mode: 13 MHz RC oscillator</span></div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_STANDBY_XOSC                           0x01        </span><span class="comment">//  7     0                   32 MHz crystal oscillator</span></div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_SET_RX</span></div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_RX_TIMEOUT_NONE                        0x000000    </span><span class="comment">//  23    0     Rx timeout duration: no timeout (Rx single mode)</span></div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_RX_TIMEOUT_INF                         0xFFFFFF    </span><span class="comment">//  23    0                          infinite (Rx continuous mode)</span></div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160; </div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_SET_TX</span></div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_TX_TIMEOUT_NONE                        0x000000    </span><span class="comment">//  23    0     Tx timeout duration: no timeout (Tx single mode)</span></div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160; </div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_STOP_TIMER_ON_PREAMBLE</span></div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_STOP_ON_PREAMBLE_OFF                   0x00        </span><span class="comment">//  7     0     stop timer on: sync word or header (default)</span></div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_STOP_ON_PREAMBLE_ON                    0x01        </span><span class="comment">//  7     0                    preamble detection</span></div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160; </div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_SET_REGULATOR_MODE</span></div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REGULATOR_LDO                          0x00        </span><span class="comment">//  7     0     set regulator mode: LDO (default)</span></div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_REGULATOR_DC_DC                        0x01        </span><span class="comment">//  7     0                         DC-DC</span></div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_CALIBRATE</span></div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CALIBRATE_IMAGE_OFF                    0b00000000  </span><span class="comment">//  6     6     image calibration: disabled</span></div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CALIBRATE_IMAGE_ON                     0b01000000  </span><span class="comment">//  6     6                        enabled</span></div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_P_OFF               0b00000000  </span><span class="comment">//  5     5     ADC bulk P calibration: disabled</span></div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_P_ON                0b00100000  </span><span class="comment">//  5     5                             enabled</span></div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_N_OFF               0b00000000  </span><span class="comment">//  4     4     ADC bulk N calibration: disabled</span></div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_N_ON                0b00010000  </span><span class="comment">//  4     4                             enabled</span></div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CALIBRATE_ADC_PULSE_OFF                0b00000000  </span><span class="comment">//  3     3     ADC pulse calibration: disabled</span></div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CALIBRATE_ADC_PULSE_ON                 0b00001000  </span><span class="comment">//  3     3                            enabled</span></div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CALIBRATE_PLL_OFF                      0b00000000  </span><span class="comment">//  2     2     PLL calibration: disabled</span></div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CALIBRATE_PLL_ON                       0b00000100  </span><span class="comment">//  2     2                      enabled</span></div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CALIBRATE_RC13M_OFF                    0b00000000  </span><span class="comment">//  1     1     13 MHz RC osc. calibration: disabled</span></div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CALIBRATE_RC13M_ON                     0b00000010  </span><span class="comment">//  1     1                                 enabled</span></div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CALIBRATE_RC64K_OFF                    0b00000000  </span><span class="comment">//  0     0     64 kHz RC osc. calibration: disabled</span></div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CALIBRATE_RC64K_ON                     0b00000001  </span><span class="comment">//  0     0                                 enabled</span></div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CALIBRATE_ALL                          0b01111111  </span><span class="comment">//  6     0     calibrate all blocks</span></div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160; </div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_CALIBRATE_IMAGE</span></div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAL_IMG_430_MHZ_1                      0x6B</span></div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAL_IMG_430_MHZ_2                      0x6F</span></div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAL_IMG_470_MHZ_1                      0x75</span></div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAL_IMG_470_MHZ_2                      0x81</span></div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAL_IMG_779_MHZ_1                      0xC1</span></div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAL_IMG_779_MHZ_2                      0xC5</span></div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAL_IMG_863_MHZ_1                      0xD7</span></div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAL_IMG_863_MHZ_2                      0xDB</span></div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAL_IMG_902_MHZ_1                      0xE1</span></div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAL_IMG_902_MHZ_2                      0xE9</span></div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160; </div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_SET_PA_CONFIG</span></div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PA_CONFIG_HP_MAX                       0x07</span></div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PA_CONFIG_PA_LUT                       0x01</span></div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PA_CONFIG_SX1262_8                     0x00</span></div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160; </div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_SET_RX_TX_FALLBACK_MODE</span></div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_RX_TX_FALLBACK_MODE_FS                 0x40        </span><span class="comment">//  7     0     after Rx/Tx go to: FS mode</span></div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_RX_TX_FALLBACK_MODE_STDBY_XOSC         0x30        </span><span class="comment">//  7     0                        standby with crystal oscillator</span></div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_RX_TX_FALLBACK_MODE_STDBY_RC           0x20        </span><span class="comment">//  7     0                        standby with RC oscillator (default)</span></div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160; </div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_SET_DIO_IRQ_PARAMS</span></div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_IRQ_LR_FHSS_HOP                      0b0100000000000000  </span><span class="comment">//  14    14    PA ramped up during LR-FHSS hop</span></div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_IRQ_TIMEOUT                          0b0000001000000000  </span><span class="comment">//  9     9     Rx or Tx timeout</span></div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_IRQ_CAD_DETECTED                     0b0000000100000000  </span><span class="comment">//  8     8     channel activity detected</span></div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_IRQ_CAD_DONE                         0b0000000010000000  </span><span class="comment">//  7     7     channel activity detection finished</span></div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_IRQ_CRC_ERR                          0b0000000001000000  </span><span class="comment">//  6     6     wrong CRC received</span></div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_IRQ_HEADER_ERR                       0b0000000000100000  </span><span class="comment">//  5     5     LoRa header CRC error</span></div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_IRQ_HEADER_VALID                     0b0000000000010000  </span><span class="comment">//  4     4     valid LoRa header received</span></div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_IRQ_SYNC_WORD_VALID                  0b0000000000001000  </span><span class="comment">//  3     3     valid sync word detected</span></div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_IRQ_RADIOLIB_PREAMBLE_DETECTED       0b0000000000000100  </span><span class="comment">//  2     2     preamble detected</span></div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_IRQ_RX_DONE                          0b0000000000000010  </span><span class="comment">//  1     1     packet received</span></div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_IRQ_TX_DONE                          0b0000000000000001  </span><span class="comment">//  0     0     packet transmission completed</span></div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_IRQ_ALL                              0b0100001111111111  </span><span class="comment">//  14    0     all interrupts</span></div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_IRQ_NONE                             0b0000000000000000  </span><span class="comment">//  14     0    no interrupts</span></div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160; </div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_SET_DIO2_AS_RF_SWITCH_CTRL</span></div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_DIO2_AS_IRQ                            0x00        </span><span class="comment">//  7     0     DIO2 configuration: IRQ</span></div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_DIO2_AS_RF_SWITCH                      0x01        </span><span class="comment">//  7     0                         RF switch control</span></div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160; </div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_SET_DIO3_AS_TCXO_CTRL</span></div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_DIO3_OUTPUT_1_6                        0x00        </span><span class="comment">//  7     0     DIO3 voltage output for TCXO: 1.6 V</span></div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_DIO3_OUTPUT_1_7                        0x01        </span><span class="comment">//  7     0                                   1.7 V</span></div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_DIO3_OUTPUT_1_8                        0x02        </span><span class="comment">//  7     0                                   1.8 V</span></div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_DIO3_OUTPUT_2_2                        0x03        </span><span class="comment">//  7     0                                   2.2 V</span></div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_DIO3_OUTPUT_2_4                        0x04        </span><span class="comment">//  7     0                                   2.4 V</span></div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_DIO3_OUTPUT_2_7                        0x05        </span><span class="comment">//  7     0                                   2.7 V</span></div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_DIO3_OUTPUT_3_0                        0x06        </span><span class="comment">//  7     0                                   3.0 V</span></div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_DIO3_OUTPUT_3_3                        0x07        </span><span class="comment">//  7     0                                   3.3 V</span></div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160; </div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_SET_PACKET_TYPE</span></div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PACKET_TYPE_GFSK                       0x00        </span><span class="comment">//  7     0     packet type: GFSK</span></div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PACKET_TYPE_LORA                       0x01        </span><span class="comment">//  7     0                  LoRa</span></div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PACKET_TYPE_LR_FHSS                    0x03        </span><span class="comment">//  7     0                  LR-FHSS</span></div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160; </div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_SET_TX_PARAMS</span></div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PA_RAMP_10U                            0x00        </span><span class="comment">//  7     0     ramp time: 10 us</span></div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PA_RAMP_20U                            0x01        </span><span class="comment">//  7     0                20 us</span></div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PA_RAMP_40U                            0x02        </span><span class="comment">//  7     0                40 us</span></div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PA_RAMP_80U                            0x03        </span><span class="comment">//  7     0                80 us</span></div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PA_RAMP_200U                           0x04        </span><span class="comment">//  7     0                200 us</span></div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PA_RAMP_800U                           0x05        </span><span class="comment">//  7     0                800 us</span></div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PA_RAMP_1700U                          0x06        </span><span class="comment">//  7     0                1700 us</span></div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PA_RAMP_3400U                          0x07        </span><span class="comment">//  7     0                3400 us</span></div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160; </div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_SET_MODULATION_PARAMS</span></div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_FILTER_NONE                       0x00        </span><span class="comment">//  7     0     GFSK filter: none</span></div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_0_3                  0x08        </span><span class="comment">//  7     0                  Gaussian, BT = 0.3</span></div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_0_5                  0x09        </span><span class="comment">//  7     0                  Gaussian, BT = 0.5</span></div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_0_7                  0x0A        </span><span class="comment">//  7     0                  Gaussian, BT = 0.7</span></div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_1                    0x0B        </span><span class="comment">//  7     0                  Gaussian, BT = 1</span></div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_4_8                         0x1F        </span><span class="comment">//  7     0     GFSK Rx bandwidth: 4.8 kHz</span></div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_5_8                         0x17        </span><span class="comment">//  7     0                        5.8 kHz</span></div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_7_3                         0x0F        </span><span class="comment">//  7     0                        7.3 kHz</span></div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_9_7                         0x1E        </span><span class="comment">//  7     0                        9.7 kHz</span></div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_11_7                        0x16        </span><span class="comment">//  7     0                        11.7 kHz</span></div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_14_6                        0x0E        </span><span class="comment">//  7     0                        14.6 kHz</span></div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_19_5                        0x1D        </span><span class="comment">//  7     0                        19.5 kHz</span></div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_23_4                        0x15        </span><span class="comment">//  7     0                        23.4 kHz</span></div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_29_3                        0x0D        </span><span class="comment">//  7     0                        29.3 kHz</span></div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_39_0                        0x1C        </span><span class="comment">//  7     0                        39.0 kHz</span></div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_46_9                        0x14        </span><span class="comment">//  7     0                        46.9 kHz</span></div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_58_6                        0x0C        </span><span class="comment">//  7     0                        58.6 kHz</span></div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_78_2                        0x1B        </span><span class="comment">//  7     0                        78.2 kHz</span></div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_93_8                        0x13        </span><span class="comment">//  7     0                        93.8 kHz</span></div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_117_3                       0x0B        </span><span class="comment">//  7     0                        117.3 kHz</span></div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_156_2                       0x1A        </span><span class="comment">//  7     0                        156.2 kHz</span></div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_187_2                       0x12        </span><span class="comment">//  7     0                        187.2 kHz</span></div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_234_3                       0x0A        </span><span class="comment">//  7     0                        234.3 kHz</span></div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_312_0                       0x19        </span><span class="comment">//  7     0                        312.0 kHz</span></div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_373_6                       0x11        </span><span class="comment">//  7     0                        373.6 kHz</span></div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_BW_467_0                       0x09        </span><span class="comment">//  7     0                        467.0 kHz</span></div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_BW_7_8                            0x00        </span><span class="comment">//  7     0     LoRa bandwidth: 7.8 kHz</span></div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_BW_10_4                           0x08        </span><span class="comment">//  7     0                     10.4 kHz</span></div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_BW_15_6                           0x01        </span><span class="comment">//  7     0                     15.6 kHz</span></div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_BW_20_8                           0x09        </span><span class="comment">//  7     0                     20.8 kHz</span></div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_BW_31_25                          0x02        </span><span class="comment">//  7     0                     31.25 kHz</span></div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_BW_41_7                           0x0A        </span><span class="comment">//  7     0                     41.7 kHz</span></div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_BW_62_5                           0x03        </span><span class="comment">//  7     0                     62.5 kHz</span></div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_BW_125_0                          0x04        </span><span class="comment">//  7     0                     125.0 kHz</span></div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_BW_250_0                          0x05        </span><span class="comment">//  7     0                     250.0 kHz</span></div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_BW_500_0                          0x06        </span><span class="comment">//  7     0                     500.0 kHz</span></div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_CR_4_5                            0x01        </span><span class="comment">//  7     0     LoRa coding rate: 4/5</span></div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_CR_4_6                            0x02        </span><span class="comment">//  7     0                       4/6</span></div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_CR_4_7                            0x03        </span><span class="comment">//  7     0                       4/7</span></div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_CR_4_8                            0x04        </span><span class="comment">//  7     0                       4/8</span></div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_LOW_DATA_RATE_OPTIMIZE_OFF        0x00        </span><span class="comment">//  7     0     LoRa low data rate optimization: disabled</span></div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_LOW_DATA_RATE_OPTIMIZE_ON         0x01        </span><span class="comment">//  7     0                                      enabled</span></div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160; </div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_SET_PACKET_PARAMS</span></div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_OFF               0x00        </span><span class="comment">//  7     0     GFSK minimum preamble length before reception starts: detector disabled</span></div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_8                 0x04        </span><span class="comment">//  7     0                                                           8 bits</span></div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_16                0x05        </span><span class="comment">//  7     0                                                           16 bits</span></div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_24                0x06        </span><span class="comment">//  7     0                                                           24 bits</span></div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_32                0x07        </span><span class="comment">//  7     0                                                           32 bits</span></div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_ADDRESS_FILT_OFF                  0x00        </span><span class="comment">//  7     0     GFSK address filtering: disabled</span></div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_ADDRESS_FILT_NODE                 0x01        </span><span class="comment">//  7     0                             node only</span></div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_ADDRESS_FILT_NODE_BROADCAST       0x02        </span><span class="comment">//  7     0                             node and broadcast</span></div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_PACKET_FIXED                      0x00        </span><span class="comment">//  7     0     GFSK packet type: fixed (payload length known in advance to both sides)</span></div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_PACKET_VARIABLE                   0x01        </span><span class="comment">//  7     0                       variable (payload length added to packet)</span></div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_CRC_OFF                           0x01        </span><span class="comment">//  7     0     GFSK packet CRC: disabled</span></div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_CRC_1_BYTE                        0x00        </span><span class="comment">//  7     0                      1 byte</span></div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_CRC_2_BYTE                        0x02        </span><span class="comment">//  7     0                      2 byte</span></div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_CRC_1_BYTE_INV                    0x04        </span><span class="comment">//  7     0                      1 byte, inverted</span></div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_CRC_2_BYTE_INV                    0x06        </span><span class="comment">//  7     0                      2 byte, inverted</span></div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_WHITENING_OFF                     0x00        </span><span class="comment">//  7     0     GFSK data whitening: disabled</span></div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_WHITENING_ON                      0x01        </span><span class="comment">//  7     0                          enabled</span></div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_HEADER_EXPLICIT                   0x00        </span><span class="comment">//  7     0     LoRa header mode: explicit</span></div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_HEADER_IMPLICIT                   0x01        </span><span class="comment">//  7     0                       implicit</span></div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_CRC_OFF                           0x00        </span><span class="comment">//  7     0     LoRa CRC mode: disabled</span></div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_CRC_ON                            0x01        </span><span class="comment">//  7     0                    enabled</span></div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_IQ_STANDARD                       0x00        </span><span class="comment">//  7     0     LoRa IQ setup: standard</span></div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_LORA_IQ_INVERTED                       0x01        </span><span class="comment">//  7     0                    inverted</span></div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160; </div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_SET_CAD_PARAMS</span></div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAD_ON_1_SYMB                          0x00        </span><span class="comment">//  7     0     number of symbols used for CAD: 1</span></div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAD_ON_2_SYMB                          0x01        </span><span class="comment">//  7     0                                     2</span></div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAD_ON_4_SYMB                          0x02        </span><span class="comment">//  7     0                                     4</span></div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAD_ON_8_SYMB                          0x03        </span><span class="comment">//  7     0                                     8</span></div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAD_ON_16_SYMB                         0x04        </span><span class="comment">//  7     0                                     16</span></div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAD_GOTO_STDBY                         0x00        </span><span class="comment">//  7     0     after CAD is done, always go to STDBY_RC mode</span></div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAD_GOTO_RX                            0x01        </span><span class="comment">//  7     0     after CAD is done, go to Rx mode if activity is detected</span></div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAD_PARAM_DEFAULT                      0xFF        </span><span class="comment">//  7     0     used by the CAD methods to specify default parameter value</span></div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_CAD_PARAM_DET_MIN                      10          </span><span class="comment">//  7     0     default detMin CAD parameter</span></div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160; </div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_GET_STATUS</span></div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_STATUS_MODE_STDBY_RC                   0b00100000  </span><span class="comment">//  6     4     current chip mode: STDBY_RC</span></div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_STATUS_MODE_STDBY_XOSC                 0b00110000  </span><span class="comment">//  6     4                        STDBY_XOSC</span></div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_STATUS_MODE_FS                         0b01000000  </span><span class="comment">//  6     4                        FS</span></div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_STATUS_MODE_RX                         0b01010000  </span><span class="comment">//  6     4                        RX</span></div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_STATUS_MODE_TX                         0b01100000  </span><span class="comment">//  6     4                        TX</span></div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_STATUS_DATA_AVAILABLE                  0b00000100  </span><span class="comment">//  3     1     command status: packet received and data can be retrieved</span></div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_STATUS_CMD_TIMEOUT                     0b00000110  </span><span class="comment">//  3     1                     SPI command timed out</span></div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_STATUS_CMD_INVALID                     0b00001000  </span><span class="comment">//  3     1                     invalid SPI command</span></div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_STATUS_CMD_FAILED                      0b00001010  </span><span class="comment">//  3     1                     SPI command failed to execute</span></div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_STATUS_TX_DONE                         0b00001100  </span><span class="comment">//  3     1                     packet transmission done</span></div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_STATUS_SPI_FAILED                      0b11111111  </span><span class="comment">//  7     0     SPI transaction failed</span></div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160; </div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_GET_PACKET_STATUS</span></div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_STATUS_PREAMBLE_ERR            0b10000000  </span><span class="comment">//  7     7     GFSK Rx status: preamble error</span></div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_STATUS_SYNC_ERR                0b01000000  </span><span class="comment">//  6     6                     sync word error</span></div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_STATUS_ADRS_ERR                0b00100000  </span><span class="comment">//  5     5                     address error</span></div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_STATUS_CRC_ERR                 0b00010000  </span><span class="comment">//  4     4                     CRC error</span></div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_STATUS_LENGTH_ERR              0b00001000  </span><span class="comment">//  3     3                     length error</span></div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_STATUS_ABORT_ERR               0b00000100  </span><span class="comment">//  2     2                     abort error</span></div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_STATUS_PACKET_RECEIVED         0b00000010  </span><span class="comment">//  2     2                     packet received</span></div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_GFSK_RX_STATUS_PACKET_SENT             0b00000001  </span><span class="comment">//  2     2                     packet sent</span></div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160; </div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="comment">//RADIOLIB_SX126X_CMD_GET_DEVICE_ERRORS</span></div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PA_RAMP_ERR                           0b100000000  </span><span class="comment">//  8     8     device errors: PA ramping failed</span></div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PLL_LOCK_ERR                          0b001000000  </span><span class="comment">//  6     6                    PLL failed to lock</span></div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_XOSC_START_ERR                        0b000100000  </span><span class="comment">//  5     5                    crystal oscillator failed to start</span></div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_IMG_CALIB_ERR                         0b000010000  </span><span class="comment">//  4     4                    image calibration failed</span></div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_ADC_CALIB_ERR                         0b000001000  </span><span class="comment">//  3     3                    ADC calibration failed</span></div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_PLL_CALIB_ERR                         0b000000100  </span><span class="comment">//  2     2                    PLL calibration failed</span></div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_RC13M_CALIB_ERR                       0b000000010  </span><span class="comment">//  1     1                    RC13M calibration failed</span></div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_RC64K_CALIB_ERR                       0b000000001  </span><span class="comment">//  0     0                    RC64K calibration failed</span></div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160; </div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160; </div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="comment">// SX126X SPI register variables</span></div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="comment">//RADIOLIB_SX126X_REG_HOPPING_ENABLE</span></div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_HOPPING_ENABLED                        0b00000001  </span><span class="comment">//  0     0     intra-packet hopping for LR-FHSS: enabled</span></div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_HOPPING_DISABLED                       0b00000000  </span><span class="comment">//  0     0                                       (disabled)</span></div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160; </div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="comment">//RADIOLIB_SX126X_REG_LORA_SYNC_WORD_MSB + LSB</span></div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_SYNC_WORD_PUBLIC                       0x34        </span><span class="comment">// actually 0x3444  NOTE: The low nibbles in each byte (0x_4_4) are masked out since apparently, they&#39;re reserved.</span></div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="preprocessor">#define RADIOLIB_SX126X_SYNC_WORD_PRIVATE                      0x12        </span><span class="comment">// actually 0x1424        You couldn&#39;t make this up if you tried.</span></div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160; </div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160; </div>
<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="class_s_x126x.html">  364</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_s_x126x.html">SX126x</a>: <span class="keyword">public</span> <a class="code" href="class_physical_layer.html">PhysicalLayer</a> {</div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;  <span class="keyword">public</span>:</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    <span class="comment">// introduce PhysicalLayer overloads</span></div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#ab139a34e03a6fd5a781cd54da21d308f">PhysicalLayer::transmit</a>;</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#afb1b090348d9091bfa3a0b5ba3d85b36">PhysicalLayer::receive</a>;</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#af068e6e862c99e39d0261a7971dd56db">PhysicalLayer::startTransmit</a>;</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#ae8eed0e888a7c8742e89d2b850977de2">PhysicalLayer::readData</a>;</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160; </div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <a class="code" href="class_s_x126x.html#aaca5a8fa8a3e634dd1b5b4c2bb5058d8">SX126x</a>(<a class="code" href="class_module.html">Module</a>* mod);</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160; </div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    <a class="code" href="class_module.html">Module</a>* getMod();</div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160; </div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    <span class="comment">// basic methods</span></div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160; </div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a936a40038e05740a528f2b53f8e17010">begin</a>(uint8_t cr, uint8_t syncWord, uint16_t preambleLength, <span class="keywordtype">float</span> tcxoVoltage, <span class="keywordtype">bool</span> useRegulatorLDO = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160; </div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a2e500e5b6044ccab8f6b19af4ffa917c">beginFSK</a>(<span class="keywordtype">float</span> br, <span class="keywordtype">float</span> freqDev, <span class="keywordtype">float</span> rxBw, uint16_t preambleLength, <span class="keywordtype">float</span> tcxoVoltage, <span class="keywordtype">bool</span> useRegulatorLDO = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160; </div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a9aa6dd05dd32ef717a06cc8ba28ff71f">reset</a>(<span class="keywordtype">bool</span> verify = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160; </div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#ab139a34e03a6fd5a781cd54da21d308f">transmit</a>(uint8_t* data, <span class="keywordtype">size_t</span> len, uint8_t addr = 0) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160; </div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#afb1b090348d9091bfa3a0b5ba3d85b36">receive</a>(uint8_t* data, <span class="keywordtype">size_t</span> len) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160; </div>
<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a921aa8afb8d33b2660731c1f8d67664b">transmitDirect</a>(uint32_t frf = 0) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160; </div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a8a18aee2bf05793aa29b5cf6b47bb435">receiveDirect</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160; </div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a755e7df4b0958f7c793d0c058408831a">scanChannel</a>(uint8_t symbolNum = RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak = RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin = RADIOLIB_SX126X_CAD_PARAM_DEFAULT);</div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160; </div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#afb5509f0705cdd971065251ed6b2fb4e">sleep</a>(<span class="keywordtype">bool</span> retainConfig = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160; </div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a7a1579e2557c36a4a34b09039c0d0c71">standby</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160; </div>
<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a7a1579e2557c36a4a34b09039c0d0c71">standby</a>(uint8_t mode);</div>
<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160; </div>
<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;    <span class="comment">// interrupt methods</span></div>
<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160; </div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_s_x126x.html#a0da667fe702d7b4aafaa4bf7e69ea40d">setDio1Action</a>(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">void</span>));</div>
<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160; </div>
<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_s_x126x.html#a6848afe4c16a47edb3e0b342a86ecdfd">clearDio1Action</a>();</div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160; </div>
<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#af068e6e862c99e39d0261a7971dd56db">startTransmit</a>(uint8_t* data, <span class="keywordtype">size_t</span> len, uint8_t addr = 0) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160; </div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a8e22d67b64953c8b4da779d87d563f3e">finishTransmit</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160; </div>
<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#aeb92dc9d2e2a2b3a3a5ff2856528d497">startReceive</a>(uint32_t timeout = RADIOLIB_SX126X_RX_TIMEOUT_INF);</div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160; </div>
<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#adc46b6adda2d0e82e25ed1fc78274136">startReceiveDutyCycle</a>(uint32_t rxPeriod, uint32_t sleepPeriod);</div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160; </div>
<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a6b50cb78f02a3d93939437eb48489d3f">startReceiveDutyCycleAuto</a>(uint16_t senderPreambleLength = 0, uint16_t minSymbols = 8);</div>
<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160; </div>
<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;    uint16_t <a class="code" href="class_s_x126x.html#a9a9b090eddcb811ee19b595debfab1df">getIrqStatus</a>();</div>
<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160; </div>
<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#ae8eed0e888a7c8742e89d2b850977de2">readData</a>(uint8_t* data, <span class="keywordtype">size_t</span> len) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160; </div>
<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a10a0e75571350fb05fa100e5d5151be2">startChannelScan</a>(uint8_t symbolNum = RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak = RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin = RADIOLIB_SX126X_CAD_PARAM_DEFAULT);</div>
<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160; </div>
<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#abf1c3d6fa419a1e3ef11db63d3f46f8f">getChannelScanResult</a>();</div>
<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160; </div>
<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;    <span class="comment">// configuration methods</span></div>
<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160; </div>
<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a2f60df59c80241d98ce078c0417a7f08">setBandwidth</a>(<span class="keywordtype">float</span> bw);</div>
<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160; </div>
<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#ae5993359ace652fbdc862eb23fdd263d">setSpreadingFactor</a>(uint8_t sf);</div>
<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160; </div>
<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#afd3113858966e878e9c67a1e710bd586">setCodingRate</a>(uint8_t cr);</div>
<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160; </div>
<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a9d92dce566f8aefa836fe8f332e9560f">setSyncWord</a>(uint8_t syncWord, uint8_t controlBits = 0x44);</div>
<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160; </div>
<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a8f971dca834be7e0470a9a9f0c01854e">setCurrentLimit</a>(<span class="keywordtype">float</span> currentLimit);</div>
<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160; </div>
<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_s_x126x.html#aa668babb0bd129b2facee9fd280525ab">getCurrentLimit</a>();</div>
<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160; </div>
<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#ab00f765bbfbfaa8c693532ea3a90c29b">setPreambleLength</a>(uint16_t preambleLength);</div>
<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160; </div>
<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a7cd95a5f2e39ae8fb1a3040e77fa21a3">setFrequencyDeviation</a>(<span class="keywordtype">float</span> freqDev) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160; </div>
<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a7deeef45d7f64a4018a3e56aaea4eb0e">setBitRate</a>(<span class="keywordtype">float</span> br);</div>
<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160; </div>
<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a59d443c02d4620cda32c63a00c6bcc22">setRxBandwidth</a>(<span class="keywordtype">float</span> rxBw);</div>
<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160; </div>
<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a1d8f4deb555844b24c2426dd86e69676">setDataShaping</a>(uint8_t sh) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160; </div>
<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a9d92dce566f8aefa836fe8f332e9560f">setSyncWord</a>(uint8_t* syncWord, uint8_t len);</div>
<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160; </div>
<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#ac594fbb30c5010658c970a64654c7162">setSyncBits</a>(uint8_t *syncWord, uint8_t bitsLen);</div>
<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160; </div>
<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a514cabe74bbe3434d7e4f244c4077752">setNodeAddress</a>(uint8_t nodeAddr);</div>
<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160; </div>
<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#abd8eea7e468db3d6064c19d4934d5034">setBroadcastAddress</a>(uint8_t broadAddr);</div>
<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160; </div>
<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#afc3a7a42c401b6c44e00cb6c5b9696f2">disableAddressFiltering</a>();</div>
<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160; </div>
<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a95007639c2648a1dbb614493224606f1">setCRC</a>(uint8_t len, uint16_t initial = 0x1D0F, uint16_t polynomial = 0x1021, <span class="keywordtype">bool</span> inverted = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160; </div>
<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a67702de41ae866b9f9d73234fc9ae376">setWhitening</a>(<span class="keywordtype">bool</span> enabled, uint16_t initial = 0x0100);</div>
<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160; </div>
<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#a57bee6f4b3a3b7ec646ac8de347ee0d6">setTCXO</a>(<span class="keywordtype">float</span> voltage, uint32_t delay = 5000);</div>
<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160; </div>
<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;    int16_t <a class="code" href="class_s_x126x.html#ae46e08d579f4acbad029b4cd4f4fffaf">setDio2AsRfSwitch</a>(<span class="keywordtype">bool</span> enable = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160; </div>
<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_s_x126x.html#acbe2d75b1e2df8bcc58c4fd9d8e6e4f9">getDataRate</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160; </div>
<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_s_x126x.html#a0e5f0032a91686b9673a48c908eb1925">getRSSI</a>();</div>
<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160; </div>
<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_s_x126x.html#ae36823d3539667bdf7d2f073bd4fa1ca">getSNR</a>();</div>
<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160; </div>
<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;    <span class="keywordtype">size_t</span> <a class="code" href="class_s_x126x.html#ac4ef8c8751a3c09d64e431684840c987">getPacketLength</a>(<span class="keywordtype">bool</span> update = <span class="keyword">true</span>) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160; </div>
<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;   int16_t <a class="code" href="class_s_x126x.html#abc3a4f9213b2a7052e97c2e3a0bf45a5">fixedPacketLengthMode</a>(uint8_t len = RADIOLIB_SX126X_MAX_PACKET_LENGTH);</div>
<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160; </div>
<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;   int16_t <a class="code" href="class_s_x126x.html#a92c157efe751b4ae73d22ff44115285d">variablePacketLengthMode</a>(uint8_t maxLen = RADIOLIB_SX126X_MAX_PACKET_LENGTH);</div>
<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160; </div>
<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;   uint32_t <a class="code" href="class_s_x126x.html#a7e342ddbef84cf845bef8f4448b8da10">getTimeOnAir</a>(<span class="keywordtype">size_t</span> len);</div>
<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160; </div>
<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;   <span class="keywordtype">float</span> <a class="code" href="class_s_x126x.html#ae36664f9c605a8fe74b2f357e0ec3323">getRSSIInst</a>();</div>
<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160; </div>
<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;   int16_t <a class="code" href="class_s_x126x.html#adec09cba71494bd927ad1da786606ca6">implicitHeader</a>(<span class="keywordtype">size_t</span> len);</div>
<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160; </div>
<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;   int16_t <a class="code" href="class_s_x126x.html#a3765f534418d4e0540c179621c019138">explicitHeader</a>();</div>
<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160; </div>
<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;   int16_t <a class="code" href="class_s_x126x.html#a21c263ce1a339faa74c568d9afb81cd2">setRegulatorLDO</a>();</div>
<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160; </div>
<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;   int16_t <a class="code" href="class_s_x126x.html#a5ae69309ca0cf5f13c60f2d162916ff8">setRegulatorDCDC</a>();</div>
<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160; </div>
<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;   int16_t <a class="code" href="class_s_x126x.html#a2b3eb51117558c58384b03de4b7bfe60">setEncoding</a>(uint8_t encoding) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160; </div>
<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;   <span class="keywordtype">void</span> <a class="code" href="class_s_x126x.html#a288257242e483cb3eb6944333179dd26">setRfSwitchPins</a>(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);</div>
<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160; </div>
<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;   <span class="keywordtype">void</span> <a class="code" href="class_s_x126x.html#ad92085fdf4508c0849de0aec8dee2494">setRfSwitchTable</a>(<span class="keyword">const</span> RADIOLIB_PIN_TYPE (&amp;pins)[<a class="code" href="class_module.html#a0c11551e12579bbabf57b19e12555b3c">Module::RFSWITCH_MAX_PINS</a>], <span class="keyword">const</span> <a class="code" href="struct_module_1_1_rf_switch_mode__t.html">Module::RfSwitchMode_t</a> table[]);</div>
<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160; </div>
<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;   int16_t <a class="code" href="class_s_x126x.html#a420c23bb1861646e29f44c0f4c646ee8">forceLDRO</a>(<span class="keywordtype">bool</span> enable);</div>
<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160; </div>
<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;   int16_t <a class="code" href="class_s_x126x.html#ab9ce38cfeaa36ddcc2d82b2974d7088c">autoLDRO</a>();</div>
<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160; </div>
<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;   uint8_t <a class="code" href="class_s_x126x.html#a819bb3ced0f184a63cbfbef408a68561">randomByte</a>();</div>
<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160; </div>
<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;   int16_t <a class="code" href="class_s_x126x.html#ac71eb1209354837ced2e21e66534bff3">getLastError</a>();</div>
<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160; </div>
<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;<span class="preprocessor">   #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)</span></div>
<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;   <span class="keywordtype">void</span> <a class="code" href="class_s_x126x.html#abbf8b4623da8c2caa83a8c3d35a44d0a">setDirectAction</a>(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">void</span>));</div>
<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160; </div>
<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;   <span class="keywordtype">void</span> <a class="code" href="class_s_x126x.html#aff80db65e546934980feac7e6c81dd80">readBit</a>(RADIOLIB_PIN_TYPE pin);</div>
<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;<span class="preprocessor">   #endif</span></div>
<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160; </div>
<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160; </div>
<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;<span class="preprocessor">#if !defined(RADIOLIB_GODMODE)</span></div>
<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;  <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;    <span class="comment">// SX126x SPI command implementations</span></div>
<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;    int16_t setTx(uint32_t timeout = 0);</div>
<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;    int16_t setRx(uint32_t timeout);</div>
<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;    int16_t setCad(uint8_t symbolNum, uint8_t detPeak, uint8_t detMin);</div>
<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;    int16_t setPaConfig(uint8_t paDutyCycle, uint8_t deviceSel, uint8_t hpMax = RADIOLIB_SX126X_PA_CONFIG_HP_MAX, uint8_t paLut = RADIOLIB_SX126X_PA_CONFIG_PA_LUT);</div>
<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;    int16_t writeRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);</div>
<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;    int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);</div>
<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;    int16_t writeBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);</div>
<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;    int16_t readBuffer(uint8_t* data, uint8_t numBytes);</div>
<div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;    int16_t setDioIrqParams(uint16_t irqMask, uint16_t dio1Mask, uint16_t dio2Mask = RADIOLIB_SX126X_IRQ_NONE, uint16_t dio3Mask = RADIOLIB_SX126X_IRQ_NONE);</div>
<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;    <span class="keyword">virtual</span> int16_t clearIrqStatus(uint16_t clearIrqParams = RADIOLIB_SX126X_IRQ_ALL);</div>
<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;    int16_t setRfFrequency(uint32_t frf);</div>
<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;    int16_t calibrateImage(uint8_t* data);</div>
<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;    uint8_t getPacketType();</div>
<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;    int16_t setTxParams(uint8_t power, uint8_t rampTime = RADIOLIB_SX126X_PA_RAMP_200U);</div>
<div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;    int16_t setModulationParams(uint8_t sf, uint8_t bw, uint8_t cr, uint8_t ldro);</div>
<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;    int16_t setModulationParamsFSK(uint32_t br, uint8_t pulseShape, uint8_t rxBw, uint32_t freqDev);</div>
<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;    int16_t setPacketParams(uint16_t preambleLength, uint8_t crcType, uint8_t payloadLength, uint8_t headerType, uint8_t invertIQ = RADIOLIB_SX126X_LORA_IQ_STANDARD);</div>
<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;    int16_t setPacketParamsFSK(uint16_t preambleLength, uint8_t crcType, uint8_t syncWordLength, uint8_t addrComp, uint8_t whitening, uint8_t packetType = RADIOLIB_SX126X_GFSK_PACKET_VARIABLE, uint8_t payloadLength = 0xFF, uint8_t preambleDetectorLength = RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_16);</div>
<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;    int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);</div>
<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;    int16_t setRegulatorMode(uint8_t mode);</div>
<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;    uint8_t getStatus();</div>
<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;    uint32_t getPacketStatus();</div>
<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;    uint16_t getDeviceErrors();</div>
<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;    int16_t clearDeviceErrors();</div>
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; </div>
<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;    int16_t startReceiveCommon(uint32_t timeout = RADIOLIB_SX126X_RX_TIMEOUT_INF);</div>
<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;    int16_t setFrequencyRaw(<span class="keywordtype">float</span> freq);</div>
<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;    int16_t setPacketMode(uint8_t mode, uint8_t len);</div>
<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;    int16_t setHeaderType(uint8_t headerType, <span class="keywordtype">size_t</span> len = 0xFF);</div>
<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; </div>
<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;    <span class="comment">// fixes to errata</span></div>
<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;    int16_t fixSensitivity();</div>
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;    int16_t fixPaClamping(<span class="keywordtype">bool</span> enable = <span class="keyword">true</span>);</div>
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;    int16_t fixImplicitTimeout();</div>
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;    int16_t fixInvertedIQ(uint8_t iqConfig);</div>
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; </div>
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;<span class="preprocessor">#if !defined(RADIOLIB_GODMODE) &amp;&amp; !defined(RADIOLIB_LOW_LEVEL)</span></div>
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;  <span class="keyword">protected</span>:</div>
<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;    <a class="code" href="class_module.html">Module</a>* _mod;</div>
<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; </div>
<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;    <span class="comment">// common low-level SPI interface</span></div>
<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;    int16_t SPIwriteCommand(uint8_t cmd, uint8_t* data, uint8_t numBytes, <span class="keywordtype">bool</span> waitForBusy = <span class="keyword">true</span>, <span class="keywordtype">bool</span> verify = <span class="keyword">true</span>);</div>
<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;    int16_t SPIwriteCommand(uint8_t* cmd, uint8_t cmdLen, uint8_t* data, uint8_t numBytes, <span class="keywordtype">bool</span> waitForBusy = <span class="keyword">true</span>, <span class="keywordtype">bool</span> verify = <span class="keyword">true</span>);</div>
<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;    int16_t SPIreadCommand(uint8_t cmd, uint8_t* data, uint8_t numBytes, <span class="keywordtype">bool</span> waitForBusy = <span class="keyword">true</span>, <span class="keywordtype">bool</span> verify = <span class="keyword">true</span>);</div>
<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;    int16_t SPIreadCommand(uint8_t* cmd, uint8_t cmdLen, uint8_t* data, uint8_t numBytes, <span class="keywordtype">bool</span> waitForBusy = <span class="keyword">true</span>, <span class="keywordtype">bool</span> verify = <span class="keyword">true</span>);</div>
<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;    int16_t SPItransfer(uint8_t* cmd, uint8_t cmdLen, <span class="keywordtype">bool</span> write, uint8_t* dataOut, uint8_t* dataIn, uint8_t numBytes, <span class="keywordtype">bool</span> waitForBusy, uint32_t timeout = 5000);</div>
<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; </div>
<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;<span class="preprocessor">#if !defined(RADIOLIB_GODMODE)</span></div>
<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;  <span class="keyword">protected</span>:</div>
<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; </div>
<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;    uint8_t _bw = 0, _sf = 0, _cr = 0, _ldro = 0, _crcType = 0, _headerType = 0;</div>
<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;    uint16_t _preambleLength = 0;</div>
<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;    <span class="keywordtype">float</span> _bwKhz = 0;</div>
<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;    <span class="keywordtype">bool</span> _ldroAuto = <span class="keyword">true</span>;</div>
<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; </div>
<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;    uint32_t _br = 0, _freqDev = 0;</div>
<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;    uint8_t _rxBw = 0, _pulseShape = 0, _crcTypeFSK = 0, _syncWordLength = 0, _addrComp = 0, _whitening = 0, _packetType = 0;</div>
<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;    uint16_t _preambleLengthFSK = 0;</div>
<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;    <span class="keywordtype">float</span> _rxBwKhz = 0;</div>
<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; </div>
<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;    <span class="keywordtype">float</span> _dataRate = 0;</div>
<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; </div>
<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;    uint32_t _tcxoDelay = 0;</div>
<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; </div>
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;    <span class="keywordtype">size_t</span> _implicitLen = 0;</div>
<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; </div>
<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;    int16_t _lastError = <a class="code" href="group__status__codes.html#ga4c1dd3c7f2b37c973a047c58506729f5">RADIOLIB_ERR_NONE</a>;</div>
<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; </div>
<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;    <span class="comment">// Allow subclasses to define different TX modes</span></div>
<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;    uint8_t _tx_mode = <a class="code" href="class_module.html#a5a67b3a63420d762ecba9448671c99bfa269f4bc8ba3eb3d8568feb7b2decf571">Module::MODE_TX</a>;</div>
<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; </div>
<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;    int16_t config(uint8_t modem);</div>
<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;    int16_t checkCommandResult();</div>
<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;};</div>
<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; </div>
<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; </div>
<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="aclass_module_html"><div class="ttname"><a href="class_module.html">Module</a></div><div class="ttdoc">Implements all common low-level methods to control the wireless module. Every module class contains o...</div><div class="ttdef"><b>Definition:</b> Module.h:16</div></div>
<div class="ttc" id="aclass_module_html_a0c11551e12579bbabf57b19e12555b3c"><div class="ttname"><a href="class_module.html#a0c11551e12579bbabf57b19e12555b3c">Module::RFSWITCH_MAX_PINS</a></div><div class="ttdeci">static const size_t RFSWITCH_MAX_PINS</div><div class="ttdoc">The maximum number of pins supported by the RF switch code.</div><div class="ttdef"><b>Definition:</b> Module.h:27</div></div>
<div class="ttc" id="aclass_module_html_a5a67b3a63420d762ecba9448671c99bfa269f4bc8ba3eb3d8568feb7b2decf571"><div class="ttname"><a href="class_module.html#a5a67b3a63420d762ecba9448671c99bfa269f4bc8ba3eb3d8568feb7b2decf571">Module::MODE_TX</a></div><div class="ttdeci">@ MODE_TX</div><div class="ttdef"><b>Definition:</b> Module.h:56</div></div>
<div class="ttc" id="aclass_physical_layer_html"><div class="ttname"><a href="class_physical_layer.html">PhysicalLayer</a></div><div class="ttdoc">Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....</div><div class="ttdef"><b>Definition:</b> PhysicalLayer.h:14</div></div>
<div class="ttc" id="aclass_physical_layer_html_ab139a34e03a6fd5a781cd54da21d308f"><div class="ttname"><a href="class_physical_layer.html#ab139a34e03a6fd5a781cd54da21d308f">PhysicalLayer::transmit</a></div><div class="ttdeci">int16_t transmit(__FlashStringHelper *fstr, uint8_t addr=0)</div><div class="ttdoc">Arduino Flash String transmit method.</div><div class="ttdef"><b>Definition:</b> PhysicalLayer.cpp:12</div></div>
<div class="ttc" id="aclass_physical_layer_html_ae8eed0e888a7c8742e89d2b850977de2"><div class="ttname"><a href="class_physical_layer.html#ae8eed0e888a7c8742e89d2b850977de2">PhysicalLayer::readData</a></div><div class="ttdeci">int16_t readData(String &amp;str, size_t len=0)</div><div class="ttdoc">Reads data that was received after calling startReceive method.</div><div class="ttdef"><b>Definition:</b> PhysicalLayer.cpp:140</div></div>
<div class="ttc" id="aclass_physical_layer_html_af068e6e862c99e39d0261a7971dd56db"><div class="ttname"><a href="class_physical_layer.html#af068e6e862c99e39d0261a7971dd56db">PhysicalLayer::startTransmit</a></div><div class="ttdeci">int16_t startTransmit(String &amp;str, uint8_t addr=0)</div><div class="ttdoc">Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...</div><div class="ttdef"><b>Definition:</b> PhysicalLayer.cpp:121</div></div>
<div class="ttc" id="aclass_physical_layer_html_afb1b090348d9091bfa3a0b5ba3d85b36"><div class="ttname"><a href="class_physical_layer.html#afb1b090348d9091bfa3a0b5ba3d85b36">PhysicalLayer::receive</a></div><div class="ttdeci">int16_t receive(String &amp;str, size_t len=0)</div><div class="ttdoc">Arduino String receive method.</div><div class="ttdef"><b>Definition:</b> PhysicalLayer.cpp:60</div></div>
<div class="ttc" id="aclass_s_x126x_html"><div class="ttname"><a href="class_s_x126x.html">SX126x</a></div><div class="ttdoc">Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...</div><div class="ttdef"><b>Definition:</b> SX126x.h:364</div></div>
<div class="ttc" id="aclass_s_x126x_html_a0da667fe702d7b4aafaa4bf7e69ea40d"><div class="ttname"><a href="class_s_x126x.html#a0da667fe702d7b4aafaa4bf7e69ea40d">SX126x::setDio1Action</a></div><div class="ttdeci">void setDio1Action(void(*func)(void))</div><div class="ttdoc">Sets interrupt service routine to call when DIO1 activates.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:366</div></div>
<div class="ttc" id="aclass_s_x126x_html_a0e5f0032a91686b9673a48c908eb1925"><div class="ttname"><a href="class_s_x126x.html#a0e5f0032a91686b9673a48c908eb1925">SX126x::getRSSI</a></div><div class="ttdeci">float getRSSI()</div><div class="ttdoc">Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1098</div></div>
<div class="ttc" id="aclass_s_x126x_html_a10a0e75571350fb05fa100e5d5151be2"><div class="ttname"><a href="class_s_x126x.html#a10a0e75571350fb05fa100e5d5151be2">SX126x::startChannelScan</a></div><div class="ttdeci">int16_t startChannelScan(uint8_t symbolNum=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin=RADIOLIB_SX126X_CAD_PARAM_DEFAULT)</div><div class="ttdoc">Interrupt-driven channel activity detection method. DIO0 will be activated when LoRa preamble is dete...</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:592</div></div>
<div class="ttc" id="aclass_s_x126x_html_a1d8f4deb555844b24c2426dd86e69676"><div class="ttname"><a href="class_s_x126x.html#a1d8f4deb555844b24c2426dd86e69676">SX126x::setDataShaping</a></div><div class="ttdeci">int16_t setDataShaping(uint8_t sh) override</div><div class="ttdoc">Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPI...</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:873</div></div>
<div class="ttc" id="aclass_s_x126x_html_a21c263ce1a339faa74c568d9afb81cd2"><div class="ttname"><a href="class_s_x126x.html#a21c263ce1a339faa74c568d9afb81cd2">SX126x::setRegulatorLDO</a></div><div class="ttdeci">int16_t setRegulatorLDO()</div><div class="ttdoc">Set regulator mode to LDO.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1186</div></div>
<div class="ttc" id="aclass_s_x126x_html_a288257242e483cb3eb6944333179dd26"><div class="ttname"><a href="class_s_x126x.html#a288257242e483cb3eb6944333179dd26">SX126x::setRfSwitchPins</a></div><div class="ttdeci">void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)</div><div class="ttdoc">Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1198</div></div>
<div class="ttc" id="aclass_s_x126x_html_a2b3eb51117558c58384b03de4b7bfe60"><div class="ttname"><a href="class_s_x126x.html#a2b3eb51117558c58384b03de4b7bfe60">SX126x::setEncoding</a></div><div class="ttdeci">int16_t setEncoding(uint8_t encoding) override</div><div class="ttdoc">Sets transmission encoding. Available in FSK mode only. Serves only as alias for PhysicalLayer compat...</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1194</div></div>
<div class="ttc" id="aclass_s_x126x_html_a2e500e5b6044ccab8f6b19af4ffa917c"><div class="ttname"><a href="class_s_x126x.html#a2e500e5b6044ccab8f6b19af4ffa917c">SX126x::beginFSK</a></div><div class="ttdeci">int16_t beginFSK(float br, float freqDev, float rxBw, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)</div><div class="ttdoc">Initialization method for FSK modem.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:78</div></div>
<div class="ttc" id="aclass_s_x126x_html_a2f60df59c80241d98ce078c0417a7f08"><div class="ttname"><a href="class_s_x126x.html#a2f60df59c80241d98ce078c0417a7f08">SX126x::setBandwidth</a></div><div class="ttdeci">int16_t setBandwidth(float bw)</div><div class="ttdoc">Sets LoRa bandwidth. Allowed values are 7.8, 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125....</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:639</div></div>
<div class="ttc" id="aclass_s_x126x_html_a3765f534418d4e0540c179621c019138"><div class="ttname"><a href="class_s_x126x.html#a3765f534418d4e0540c179621c019138">SX126x::explicitHeader</a></div><div class="ttdeci">int16_t explicitHeader()</div><div class="ttdoc">Set explicit header mode for future reception/transmission.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1182</div></div>
<div class="ttc" id="aclass_s_x126x_html_a420c23bb1861646e29f44c0f4c646ee8"><div class="ttname"><a href="class_s_x126x.html#a420c23bb1861646e29f44c0f4c646ee8">SX126x::forceLDRO</a></div><div class="ttdeci">int16_t forceLDRO(bool enable)</div><div class="ttdoc">Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method,...</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1206</div></div>
<div class="ttc" id="aclass_s_x126x_html_a514cabe74bbe3434d7e4f244c4077752"><div class="ttname"><a href="class_s_x126x.html#a514cabe74bbe3434d7e4f244c4077752">SX126x::setNodeAddress</a></div><div class="ttdeci">int16_t setNodeAddress(uint8_t nodeAddr)</div><div class="ttdoc">Sets node address. Calling this method will also enable address filtering for node address only.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:953</div></div>
<div class="ttc" id="aclass_s_x126x_html_a57bee6f4b3a3b7ec646ac8de347ee0d6"><div class="ttname"><a href="class_s_x126x.html#a57bee6f4b3a3b7ec646ac8de347ee0d6">SX126x::setTCXO</a></div><div class="ttdeci">int16_t setTCXO(float voltage, uint32_t delay=5000)</div><div class="ttdoc">Sets TCXO (Temperature Compensated Crystal Oscillator) configuration.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1266</div></div>
<div class="ttc" id="aclass_s_x126x_html_a59d443c02d4620cda32c63a00c6bcc22"><div class="ttname"><a href="class_s_x126x.html#a59d443c02d4620cda32c63a00c6bcc22">SX126x::setRxBandwidth</a></div><div class="ttdeci">int16_t setRxBandwidth(float rxBw)</div><div class="ttdoc">Sets FSK receiver bandwidth. Allowed values are 4.8, 5.8, 7.3, 9.7, 11.7, 14.6, 19....</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:810</div></div>
<div class="ttc" id="aclass_s_x126x_html_a5ae69309ca0cf5f13c60f2d162916ff8"><div class="ttname"><a href="class_s_x126x.html#a5ae69309ca0cf5f13c60f2d162916ff8">SX126x::setRegulatorDCDC</a></div><div class="ttdeci">int16_t setRegulatorDCDC()</div><div class="ttdoc">Set regulator mode to DC-DC.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1190</div></div>
<div class="ttc" id="aclass_s_x126x_html_a67702de41ae866b9f9d73234fc9ae376"><div class="ttname"><a href="class_s_x126x.html#a67702de41ae866b9f9d73234fc9ae376">SX126x::setWhitening</a></div><div class="ttdeci">int16_t setWhitening(bool enabled, uint16_t initial=0x0100)</div><div class="ttdoc">Sets FSK whitening parameters.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1057</div></div>
<div class="ttc" id="aclass_s_x126x_html_a6848afe4c16a47edb3e0b342a86ecdfd"><div class="ttname"><a href="class_s_x126x.html#a6848afe4c16a47edb3e0b342a86ecdfd">SX126x::clearDio1Action</a></div><div class="ttdeci">void clearDio1Action()</div><div class="ttdoc">Clears interrupt service routine to call when DIO1 activates.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:370</div></div>
<div class="ttc" id="aclass_s_x126x_html_a6b50cb78f02a3d93939437eb48489d3f"><div class="ttname"><a href="class_s_x126x.html#a6b50cb78f02a3d93939437eb48489d3f">SX126x::startReceiveDutyCycleAuto</a></div><div class="ttdeci">int16_t startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8)</div><div class="ttdoc">Calls startReceiveDutyCycle with rxPeriod and sleepPeriod set so the unit shouldn't miss any messages...</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:483</div></div>
<div class="ttc" id="aclass_s_x126x_html_a755e7df4b0958f7c793d0c058408831a"><div class="ttname"><a href="class_s_x126x.html#a755e7df4b0958f7c793d0c058408831a">SX126x::scanChannel</a></div><div class="ttdeci">int16_t scanChannel(uint8_t symbolNum=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin=RADIOLIB_SX126X_CAD_PARAM_DEFAULT)</div><div class="ttdoc">Performs scan for LoRa transmission in the current channel. Detects both preamble and payload.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:324</div></div>
<div class="ttc" id="aclass_s_x126x_html_a7a1579e2557c36a4a34b09039c0d0c71"><div class="ttname"><a href="class_s_x126x.html#a7a1579e2557c36a4a34b09039c0d0c71">SX126x::standby</a></div><div class="ttdeci">int16_t standby() override</div><div class="ttdoc">Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator)...</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:354</div></div>
<div class="ttc" id="aclass_s_x126x_html_a7cd95a5f2e39ae8fb1a3040e77fa21a3"><div class="ttname"><a href="class_s_x126x.html#a7cd95a5f2e39ae8fb1a3040e77fa21a3">SX126x::setFrequencyDeviation</a></div><div class="ttdeci">int16_t setFrequencyDeviation(float freqDev) override</div><div class="ttdoc">Sets FSK frequency deviation. Allowed values range from 0.0 to 200.0 kHz.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:762</div></div>
<div class="ttc" id="aclass_s_x126x_html_a7deeef45d7f64a4018a3e56aaea4eb0e"><div class="ttname"><a href="class_s_x126x.html#a7deeef45d7f64a4018a3e56aaea4eb0e">SX126x::setBitRate</a></div><div class="ttdeci">int16_t setBitRate(float br)</div><div class="ttdoc">Sets FSK bit rate. Allowed values range from 0.6 to 300.0 kbps.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:789</div></div>
<div class="ttc" id="aclass_s_x126x_html_a7e342ddbef84cf845bef8f4448b8da10"><div class="ttname"><a href="class_s_x126x.html#a7e342ddbef84cf845bef8f4448b8da10">SX126x::getTimeOnAir</a></div><div class="ttdeci">uint32_t getTimeOnAir(size_t len)</div><div class="ttdoc">Get expected time-on-air for a given size of payload.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1136</div></div>
<div class="ttc" id="aclass_s_x126x_html_a819bb3ced0f184a63cbfbef408a68561"><div class="ttname"><a href="class_s_x126x.html#a819bb3ced0f184a63cbfbef408a68561">SX126x::randomByte</a></div><div class="ttdeci">uint8_t randomByte()</div><div class="ttdoc">Get one truly random byte from RSSI noise.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1227</div></div>
<div class="ttc" id="aclass_s_x126x_html_a8a18aee2bf05793aa29b5cf6b47bb435"><div class="ttname"><a href="class_s_x126x.html#a8a18aee2bf05793aa29b5cf6b47bb435">SX126x::receiveDirect</a></div><div class="ttdeci">int16_t receiveDirect() override</div><div class="ttdoc">Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX126x series does...</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:316</div></div>
<div class="ttc" id="aclass_s_x126x_html_a8e22d67b64953c8b4da779d87d563f3e"><div class="ttname"><a href="class_s_x126x.html#a8e22d67b64953c8b4da779d87d563f3e">SX126x::finishTransmit</a></div><div class="ttdeci">int16_t finishTransmit() override</div><div class="ttdoc">Clean up after transmission is done.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:435</div></div>
<div class="ttc" id="aclass_s_x126x_html_a8f971dca834be7e0470a9a9f0c01854e"><div class="ttname"><a href="class_s_x126x.html#a8f971dca834be7e0470a9a9f0c01854e">SX126x::setCurrentLimit</a></div><div class="ttdeci">int16_t setCurrentLimit(float currentLimit)</div><div class="ttdoc">Sets current protection limit. Can be set in 2.5 mA steps.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:727</div></div>
<div class="ttc" id="aclass_s_x126x_html_a921aa8afb8d33b2660731c1f8d67664b"><div class="ttname"><a href="class_s_x126x.html#a921aa8afb8d33b2660731c1f8d67664b">SX126x::transmitDirect</a></div><div class="ttdeci">int16_t transmitDirect(uint32_t frf=0) override</div><div class="ttdoc">Starts direct mode transmission.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:300</div></div>
<div class="ttc" id="aclass_s_x126x_html_a92c157efe751b4ae73d22ff44115285d"><div class="ttname"><a href="class_s_x126x.html#a92c157efe751b4ae73d22ff44115285d">SX126x::variablePacketLengthMode</a></div><div class="ttdeci">int16_t variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)</div><div class="ttdoc">Set modem in variable packet length mode. Available in FSK mode only.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1132</div></div>
<div class="ttc" id="aclass_s_x126x_html_a936a40038e05740a528f2b53f8e17010"><div class="ttname"><a href="class_s_x126x.html#a936a40038e05740a528f2b53f8e17010">SX126x::begin</a></div><div class="ttdeci">int16_t begin(uint8_t cr, uint8_t syncWord, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)</div><div class="ttdoc">Initialization method for LoRa modem.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:12</div></div>
<div class="ttc" id="aclass_s_x126x_html_a95007639c2648a1dbb614493224606f1"><div class="ttname"><a href="class_s_x126x.html#a95007639c2648a1dbb614493224606f1">SX126x::setCRC</a></div><div class="ttdeci">int16_t setCRC(uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)</div><div class="ttdoc">Sets CRC configuration.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:998</div></div>
<div class="ttc" id="aclass_s_x126x_html_a9a9b090eddcb811ee19b595debfab1df"><div class="ttname"><a href="class_s_x126x.html#a9a9b090eddcb811ee19b595debfab1df">SX126x::getIrqStatus</a></div><div class="ttdeci">uint16_t getIrqStatus()</div><div class="ttdoc">Reads the current IRQ status.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1415</div></div>
<div class="ttc" id="aclass_s_x126x_html_a9aa6dd05dd32ef717a06cc8ba28ff71f"><div class="ttname"><a href="class_s_x126x.html#a9aa6dd05dd32ef717a06cc8ba28ff71f">SX126x::reset</a></div><div class="ttdeci">int16_t reset(bool verify=true)</div><div class="ttdoc">Reset method. Will reset the chip to the default state using RST pin.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:159</div></div>
<div class="ttc" id="aclass_s_x126x_html_a9d92dce566f8aefa836fe8f332e9560f"><div class="ttname"><a href="class_s_x126x.html#a9d92dce566f8aefa836fe8f332e9560f">SX126x::setSyncWord</a></div><div class="ttdeci">int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44)</div><div class="ttdoc">Sets LoRa sync word.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:716</div></div>
<div class="ttc" id="aclass_s_x126x_html_aa668babb0bd129b2facee9fd280525ab"><div class="ttname"><a href="class_s_x126x.html#aa668babb0bd129b2facee9fd280525ab">SX126x::getCurrentLimit</a></div><div class="ttdeci">float getCurrentLimit()</div><div class="ttdoc">Reads current protection limit.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:740</div></div>
<div class="ttc" id="aclass_s_x126x_html_aaca5a8fa8a3e634dd1b5b4c2bb5058d8"><div class="ttname"><a href="class_s_x126x.html#aaca5a8fa8a3e634dd1b5b4c2bb5058d8">SX126x::SX126x</a></div><div class="ttdeci">SX126x(Module *mod)</div><div class="ttdoc">Default constructor.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:4</div></div>
<div class="ttc" id="aclass_s_x126x_html_ab00f765bbfbfaa8c693532ea3a90c29b"><div class="ttname"><a href="class_s_x126x.html#ab00f765bbfbfaa8c693532ea3a90c29b">SX126x::setPreambleLength</a></div><div class="ttdeci">int16_t setPreambleLength(uint16_t preambleLength)</div><div class="ttdoc">Sets preamble length for LoRa or FSK modem. Allowed values range from 1 to 65535.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:749</div></div>
<div class="ttc" id="aclass_s_x126x_html_ab139a34e03a6fd5a781cd54da21d308f"><div class="ttname"><a href="class_s_x126x.html#ab139a34e03a6fd5a781cd54da21d308f">SX126x::transmit</a></div><div class="ttdeci">int16_t transmit(__FlashStringHelper *fstr, uint8_t addr=0)</div><div class="ttdoc">Arduino Flash String transmit method.</div><div class="ttdef"><b>Definition:</b> PhysicalLayer.cpp:12</div></div>
<div class="ttc" id="aclass_s_x126x_html_ab9ce38cfeaa36ddcc2d82b2974d7088c"><div class="ttname"><a href="class_s_x126x.html#ab9ce38cfeaa36ddcc2d82b2974d7088c">SX126x::autoLDRO</a></div><div class="ttdeci">int16_t autoLDRO()</div><div class="ttdoc">Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method,...</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1218</div></div>
<div class="ttc" id="aclass_s_x126x_html_abbf8b4623da8c2caa83a8c3d35a44d0a"><div class="ttname"><a href="class_s_x126x.html#abbf8b4623da8c2caa83a8c3d35a44d0a">SX126x::setDirectAction</a></div><div class="ttdeci">void setDirectAction(void(*func)(void))</div><div class="ttdoc">Dummy method, to ensure PhysicalLayer compatibility.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1253</div></div>
<div class="ttc" id="aclass_s_x126x_html_abc3a4f9213b2a7052e97c2e3a0bf45a5"><div class="ttname"><a href="class_s_x126x.html#abc3a4f9213b2a7052e97c2e3a0bf45a5">SX126x::fixedPacketLengthMode</a></div><div class="ttdeci">int16_t fixedPacketLengthMode(uint8_t len=RADIOLIB_SX126X_MAX_PACKET_LENGTH)</div><div class="ttdoc">Set modem in fixed packet length mode. Available in FSK mode only.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1128</div></div>
<div class="ttc" id="aclass_s_x126x_html_abd8eea7e468db3d6064c19d4934d5034"><div class="ttname"><a href="class_s_x126x.html#abd8eea7e468db3d6064c19d4934d5034">SX126x::setBroadcastAddress</a></div><div class="ttdeci">int16_t setBroadcastAddress(uint8_t broadAddr)</div><div class="ttdoc">Sets broadcast address. Calling this method will also enable address filtering for node and broadcast...</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:970</div></div>
<div class="ttc" id="aclass_s_x126x_html_abf1c3d6fa419a1e3ef11db63d3f46f8f"><div class="ttname"><a href="class_s_x126x.html#abf1c3d6fa419a1e3ef11db63d3f46f8f">SX126x::getChannelScanResult</a></div><div class="ttdeci">int16_t getChannelScanResult()</div><div class="ttdoc">Read the channel scan result.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:618</div></div>
<div class="ttc" id="aclass_s_x126x_html_ac4ef8c8751a3c09d64e431684840c987"><div class="ttname"><a href="class_s_x126x.html#ac4ef8c8751a3c09d64e431684840c987">SX126x::getPacketLength</a></div><div class="ttdeci">size_t getPacketLength(bool update=true) override</div><div class="ttdoc">Query modem for the packet length of received payload.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1121</div></div>
<div class="ttc" id="aclass_s_x126x_html_ac594fbb30c5010658c970a64654c7162"><div class="ttname"><a href="class_s_x126x.html#ac594fbb30c5010658c970a64654c7162">SX126x::setSyncBits</a></div><div class="ttdeci">int16_t setSyncBits(uint8_t *syncWord, uint8_t bitsLen)</div><div class="ttdoc">Sets FSK sync word in the form of array of up to 8 bytes.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:926</div></div>
<div class="ttc" id="aclass_s_x126x_html_ac71eb1209354837ced2e21e66534bff3"><div class="ttname"><a href="class_s_x126x.html#ac71eb1209354837ced2e21e66534bff3">SX126x::getLastError</a></div><div class="ttdeci">int16_t getLastError()</div><div class="ttdoc">Get the last recorded transaction error.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1248</div></div>
<div class="ttc" id="aclass_s_x126x_html_acbe2d75b1e2df8bcc58c4fd9d8e6e4f9"><div class="ttname"><a href="class_s_x126x.html#acbe2d75b1e2df8bcc58c4fd9d8e6e4f9">SX126x::getDataRate</a></div><div class="ttdeci">float getDataRate() const</div><div class="ttdoc">Gets effective data rate for the last transmitted packet. The value is calculated only for payload by...</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1094</div></div>
<div class="ttc" id="aclass_s_x126x_html_ad92085fdf4508c0849de0aec8dee2494"><div class="ttname"><a href="class_s_x126x.html#ad92085fdf4508c0849de0aec8dee2494">SX126x::setRfSwitchTable</a></div><div class="ttdeci">void setRfSwitchTable(const RADIOLIB_PIN_TYPE(&amp;pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])</div><div class="ttdoc">Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1202</div></div>
<div class="ttc" id="aclass_s_x126x_html_adc46b6adda2d0e82e25ed1fc78274136"><div class="ttname"><a href="class_s_x126x.html#adc46b6adda2d0e82e25ed1fc78274136">SX126x::startReceiveDutyCycle</a></div><div class="ttdeci">int16_t startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod)</div><div class="ttdoc">Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen....</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:456</div></div>
<div class="ttc" id="aclass_s_x126x_html_adec09cba71494bd927ad1da786606ca6"><div class="ttname"><a href="class_s_x126x.html#adec09cba71494bd927ad1da786606ca6">SX126x::implicitHeader</a></div><div class="ttdeci">int16_t implicitHeader(size_t len)</div><div class="ttdoc">Set implicit header mode for future reception/transmission.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1178</div></div>
<div class="ttc" id="aclass_s_x126x_html_ae36664f9c605a8fe74b2f357e0ec3323"><div class="ttname"><a href="class_s_x126x.html#ae36664f9c605a8fe74b2f357e0ec3323">SX126x::getRSSIInst</a></div><div class="ttdeci">float getRSSIInst()</div><div class="ttdoc">Get instantaneous RSSI value during recption of the packet. Should switch to FSK receive mode for LBT...</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1171</div></div>
<div class="ttc" id="aclass_s_x126x_html_ae36823d3539667bdf7d2f073bd4fa1ca"><div class="ttname"><a href="class_s_x126x.html#ae36823d3539667bdf7d2f073bd4fa1ca">SX126x::getSNR</a></div><div class="ttdeci">float getSNR()</div><div class="ttdoc">Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1105</div></div>
<div class="ttc" id="aclass_s_x126x_html_ae46e08d579f4acbad029b4cd4f4fffaf"><div class="ttname"><a href="class_s_x126x.html#ae46e08d579f4acbad029b4cd4f4fffaf">SX126x::setDio2AsRfSwitch</a></div><div class="ttdeci">int16_t setDio2AsRfSwitch(bool enable=true)</div><div class="ttdoc">Set DIO2 to function as RF switch (default in Semtech example designs).</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1314</div></div>
<div class="ttc" id="aclass_s_x126x_html_ae5993359ace652fbdc862eb23fdd263d"><div class="ttname"><a href="class_s_x126x.html#ae5993359ace652fbdc862eb23fdd263d">SX126x::setSpreadingFactor</a></div><div class="ttdeci">int16_t setSpreadingFactor(uint8_t sf)</div><div class="ttdoc">Sets LoRa spreading factor. Allowed values range from 5 to 12.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:690</div></div>
<div class="ttc" id="aclass_s_x126x_html_ae8eed0e888a7c8742e89d2b850977de2"><div class="ttname"><a href="class_s_x126x.html#ae8eed0e888a7c8742e89d2b850977de2">SX126x::readData</a></div><div class="ttdeci">int16_t readData(String &amp;str, size_t len=0)</div><div class="ttdoc">Reads data that was received after calling startReceive method.</div><div class="ttdef"><b>Definition:</b> PhysicalLayer.cpp:140</div></div>
<div class="ttc" id="aclass_s_x126x_html_aeb92dc9d2e2a2b3a3a5ff2856528d497"><div class="ttname"><a href="class_s_x126x.html#aeb92dc9d2e2a2b3a3a5ff2856528d497">SX126x::startReceive</a></div><div class="ttdeci">int16_t startReceive(uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF)</div><div class="ttdoc">Interrupt-driven receive method. DIO1 will be activated when full packet is received.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:443</div></div>
<div class="ttc" id="aclass_s_x126x_html_af068e6e862c99e39d0261a7971dd56db"><div class="ttname"><a href="class_s_x126x.html#af068e6e862c99e39d0261a7971dd56db">SX126x::startTransmit</a></div><div class="ttdeci">int16_t startTransmit(String &amp;str, uint8_t addr=0)</div><div class="ttdoc">Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...</div><div class="ttdef"><b>Definition:</b> PhysicalLayer.cpp:121</div></div>
<div class="ttc" id="aclass_s_x126x_html_afb1b090348d9091bfa3a0b5ba3d85b36"><div class="ttname"><a href="class_s_x126x.html#afb1b090348d9091bfa3a0b5ba3d85b36">SX126x::receive</a></div><div class="ttdeci">int16_t receive(String &amp;str, size_t len=0)</div><div class="ttdoc">Arduino String receive method.</div><div class="ttdef"><b>Definition:</b> PhysicalLayer.cpp:60</div></div>
<div class="ttc" id="aclass_s_x126x_html_afb5509f0705cdd971065251ed6b2fb4e"><div class="ttname"><a href="class_s_x126x.html#afb5509f0705cdd971065251ed6b2fb4e">SX126x::sleep</a></div><div class="ttdeci">int16_t sleep(bool retainConfig=true)</div><div class="ttdoc">Sets the module to sleep mode.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:338</div></div>
<div class="ttc" id="aclass_s_x126x_html_afc3a7a42c401b6c44e00cb6c5b9696f2"><div class="ttname"><a href="class_s_x126x.html#afc3a7a42c401b6c44e00cb6c5b9696f2">SX126x::disableAddressFiltering</a></div><div class="ttdeci">int16_t disableAddressFiltering()</div><div class="ttdoc">Disables address filtering. Calling this method will also erase previously set addresses.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:987</div></div>
<div class="ttc" id="aclass_s_x126x_html_afd3113858966e878e9c67a1e710bd586"><div class="ttname"><a href="class_s_x126x.html#afd3113858966e878e9c67a1e710bd586">SX126x::setCodingRate</a></div><div class="ttdeci">int16_t setCodingRate(uint8_t cr)</div><div class="ttdoc">Sets LoRa coding rate denominator. Allowed values range from 5 to 8.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:703</div></div>
<div class="ttc" id="aclass_s_x126x_html_aff80db65e546934980feac7e6c81dd80"><div class="ttname"><a href="class_s_x126x.html#aff80db65e546934980feac7e6c81dd80">SX126x::readBit</a></div><div class="ttdeci">void readBit(RADIOLIB_PIN_TYPE pin)</div><div class="ttdoc">Dummy method, to ensure PhysicalLayer compatibility.</div><div class="ttdef"><b>Definition:</b> SX126x.cpp:1259</div></div>
<div class="ttc" id="agroup__status__codes_html_ga4c1dd3c7f2b37c973a047c58506729f5"><div class="ttname"><a href="group__status__codes.html#ga4c1dd3c7f2b37c973a047c58506729f5">RADIOLIB_ERR_NONE</a></div><div class="ttdeci">#define RADIOLIB_ERR_NONE</div><div class="ttdoc">No error, method executed successfully.</div><div class="ttdef"><b>Definition:</b> TypeDef.h:102</div></div>
<div class="ttc" id="astruct_module_1_1_rf_switch_mode__t_html"><div class="ttname"><a href="struct_module_1_1_rf_switch_mode__t.html">Module::RfSwitchMode_t</a></div><div class="ttdef"><b>Definition:</b> Module.h:34</div></div>
</div><!-- fragment --></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="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_ddb4d7e95cc2d6c8e1ade10a20d7247d.html">modules</a></li><li class="navelem"><a class="el" href="dir_747c20e84f9dfe1cc835713177129efc.html">SX126x</a></li><li class="navelem"><b>SX126x.h</b></li>
    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>