<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>RadioLib: src/modules/SX128x/SX128x.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.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_s_x128x_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">SX128x.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_SX128X_H)</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define _RADIOLIB_SX128X_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_SX128X)</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">// SX128X physical layer properties</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#define SX128X_FREQUENCY_STEP_SIZE                    198.3642578</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define SX128X_MAX_PACKET_LENGTH                      255</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#define SX128X_CRYSTAL_FREQ                           52.0</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#define SX128X_DIV_EXPONENT                           18</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">// SX128X SPI commands</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define SX128X_CMD_NOP                                0x00</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#define SX128X_CMD_GET_STATUS                         0xC0</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define SX128X_CMD_WRITE_REGISTER                     0x18</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#define SX128X_CMD_READ_REGISTER                      0x19</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#define SX128X_CMD_WRITE_BUFFER                       0x1A</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#define SX128X_CMD_READ_BUFFER                        0x1B</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_SLEEP                          0x84</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_STANDBY                        0x80</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_FS                             0xC1</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_TX                             0x83</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_RX                             0x82</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_RX_DUTY_CYCLE                  0x94</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_CAD                            0xC5</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_TX_CONTINUOUS_WAVE             0xD1</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_TX_CONTINUOUS_PREAMBLE         0xD2</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_PACKET_TYPE                    0x8A</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#define SX128X_CMD_GET_PACKET_TYPE                    0x03</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_RF_FREQUENCY                   0x86</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_TX_PARAMS                      0x8E</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_CAD_PARAMS                     0x88</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_BUFFER_BASE_ADDRESS            0x8F</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_MODULATION_PARAMS              0x8B</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_PACKET_PARAMS                  0x8C</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SX128X_CMD_GET_RX_BUFFER_STATUS               0x17</span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#define SX128X_CMD_GET_PACKET_STATUS                  0x1D</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define SX128X_CMD_GET_RSSI_INST                      0x1F</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_DIO_IRQ_PARAMS                 0x8D</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#define SX128X_CMD_GET_IRQ_STATUS                     0x15</span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#define SX128X_CMD_CLEAR_IRQ_STATUS                   0x97</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_REGULATOR_MODE                 0x96</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_SAVE_CONTEXT                   0xD5</span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_AUTO_TX                        0x98</span></div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_AUTO_FS                        0x9E</span></div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_PERF_COUNTER_MODE              0x9C</span></div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_LONG_PREAMBLE                  0x9B</span></div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_UART_SPEED                     0x9D</span></div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_RANGING_ROLE                   0xA3</span></div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#define SX128X_CMD_SET_ADVANCED_RANGING               0x9A</span></div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">// SX128X register map</span></div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define SX128X_REG_GAIN_MODE                          0x0891</span></div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define SX128X_REG_MANUAL_GAIN_CONTROL_ENABLE_2       0x0895</span></div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#define SX128X_REG_MANUAL_GAIN_SETTING                0x089E</span></div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#define SX128X_REG_MANUAL_GAIN_CONTROL_ENABLE_1       0x089F</span></div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNCH_PEAK_ATTENUATION             0x08C2</span></div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#define SX128X_REG_LORA_FIXED_PAYLOAD_LENGTH          0x0901</span></div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#define SX128X_REG_LORA_HEADER_MODE                   0x0903</span></div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#define SX128X_REG_MASTER_RANGING_ADDRESS_BYTE_3      0x0912</span></div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#define SX128X_REG_MASTER_RANGING_ADDRESS_BYTE_2      0x0913</span></div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#define SX128X_REG_MASTER_RANGING_ADDRESS_BYTE_1      0x0914</span></div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#define SX128X_REG_MASTER_RANGING_ADDRESS_BYTE_0      0x0915</span></div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#define SX128X_REG_SLAVE_RANGING_ADDRESS_BYTE_3       0x0916</span></div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">#define SX128X_REG_SLAVE_RANGING_ADDRESS_BYTE_2       0x0917</span></div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#define SX128X_REG_SLAVE_RANGING_ADDRESS_BYTE_1       0x0918</span></div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#define SX128X_REG_SLAVE_RANGING_ADDRESS_BYTE_0       0x0919</span></div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#define SX128X_REG_RANGING_FILTER_WINDOW_SIZE         0x091E</span></div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#define SX128X_REG_RANGING_FILTER_RESET               0x0923</span></div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">#define SX128X_REG_RANGING_TYPE                       0x0924</span></div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#define SX128X_REG_LORA_SF_CONFIG                     0x0925</span></div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor">#define SX128X_REG_RANGING_ADDRESS_SWITCH             0x0927</span></div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor">#define SX128X_REG_RANGING_CALIBRATION_BYTE_2         0x092B</span></div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor">#define SX128X_REG_RANGING_CALIBRATION_MSB            0x092C</span></div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#define SX128X_REG_RANGING_CALIBRATION_LSB            0x092D</span></div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor">#define SX128X_REG_SLAVE_RANGING_ADDRESS_WIDTH        0x0931</span></div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#define SX128X_REG_FREQ_ERROR_CORRECTION              0x093C</span></div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">#define SX128X_REG_LORA_SYNC_WORD_MSB                 0x0944</span></div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#define SX128X_REG_LORA_SYNC_WORD_LSB                 0x0945</span></div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">#define SX128X_REG_RANGING_FILTER_RSSI_OFFSET         0x0953</span></div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#define SX128X_REG_FEI_MSB                            0x0954</span></div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#define SX128X_REG_FEI_MID                            0x0955</span></div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">#define SX128X_REG_FEI_LSB                            0x0956</span></div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">#define SX128X_REG_RANGING_ADDRESS_MSB                0x095F</span></div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">#define SX128X_REG_RANGING_ADDRESS_LSB                0x0960</span></div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">#define SX128X_REG_RANGING_RESULT_MSB                 0x0961</span></div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor">#define SX128X_REG_RANGING_RESULT_MID                 0x0962</span></div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor">#define SX128X_REG_RANGING_RESULT_LSB                 0x0963</span></div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor">#define SX128X_REG_RANGING_RSSI                       0x0964</span></div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#define SX128X_REG_RANGING_LORA_CLOCK_ENABLE          0x097F</span></div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">#define SX128X_REG_PACKET_PREAMBLE_SETTINGS           0x09C1</span></div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="preprocessor">#define SX128X_REG_WHITENING_INITIAL_VALUE            0x09C5</span></div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="preprocessor">#define SX128X_REG_CRC_POLYNOMIAL_MSB                 0x09C6</span></div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor">#define SX128X_REG_CRC_POLYNOMIAL_LSB                 0x09C7</span></div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">#define SX128X_REG_CRC_INITIAL_MSB                    0x09C8</span></div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">#define SX128X_REG_CRC_INITIAL_LSB                    0x09C9</span></div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#define SX128X_REG_BLE_CRC_INITIAL_MSB                0x09C7</span></div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor">#define SX128X_REG_BLE_CRC_INITIAL_MID                (SX128X_REG_CRC_INITIAL_MSB)</span></div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="preprocessor">#define SX128X_REG_BLE_CRC_INITIAL_LSB                (SX128X_REG_CRC_INITIAL_LSB)</span></div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNCH_ADDRESS_CONTROL              0x09CD</span></div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNC_WORD_1_BYTE_4                 0x09CE</span></div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNC_WORD_1_BYTE_3                 0x09CF</span></div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNC_WORD_1_BYTE_2                 0x09D0</span></div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNC_WORD_1_BYTE_1                 0x09D1</span></div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNC_WORD_1_BYTE_0                 0x09D2</span></div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNC_WORD_2_BYTE_4                 0x09D3</span></div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNC_WORD_2_BYTE_3                 0x09D4</span></div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNC_WORD_2_BYTE_2                 0x09D5</span></div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNC_WORD_2_BYTE_1                 0x09D6</span></div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNC_WORD_2_BYTE_0                 0x09D7</span></div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNC_WORD_3_BYTE_4                 0x09D8</span></div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNC_WORD_3_BYTE_3                 0x09D9</span></div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNC_WORD_3_BYTE_2                 0x09DA</span></div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNC_WORD_3_BYTE_1                 0x09DB</span></div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#define SX128X_REG_SYNC_WORD_3_BYTE_0                 0x09DC</span></div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">#define SX128X_REG_ACCESS_ADDRESS_BYTE_3              (SX128X_REG_SYNC_WORD_1_BYTE_3)</span></div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="preprocessor">#define SX128X_REG_ACCESS_ADDRESS_BYTE_2              (SX128X_REG_SYNC_WORD_1_BYTE_2)</span></div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="preprocessor">#define SX128X_REG_ACCESS_ADDRESS_BYTE_1              (SX128X_REG_SYNC_WORD_1_BYTE_1)</span></div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="preprocessor">#define SX128X_REG_ACCESS_ADDRESS_BYTE_0              (SX128X_REG_SYNC_WORD_1_BYTE_0)</span></div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment">// SX128X SPI command variables</span></div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment">//SX128X_CMD_GET_STATUS                                               MSB   LSB   DESCRIPTION</span></div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor">#define SX128X_STATUS_MODE_STDBY_RC                   0b01000000  //  7     5     current chip mode: STDBY_RC</span></div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">#define SX128X_STATUS_MODE_STDBY_XOSC                 0b01100000  //  7     5                        STDBY_XOSC</span></div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">#define SX128X_STATUS_MODE_FS                         0b10000000  //  7     5                        FS</span></div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">#define SX128X_STATUS_MODE_RX                         0b10100000  //  7     5                        Rx</span></div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">#define SX128X_STATUS_MODE_TX                         0b11000000  //  7     5                        Tx</span></div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">#define SX128X_STATUS_CMD_PROCESSED                   0b00000100  //  4     2     command status: processing OK</span></div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor">#define SX128X_STATUS_DATA_AVAILABLE                  0b00001000  //  4     2                     data available</span></div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#define SX128X_STATUS_CMD_TIMEOUT                     0b00001100  //  4     2                     timeout</span></div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor">#define SX128X_STATUS_CMD_ERROR                       0b00010000  //  4     2                     processing error</span></div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor">#define SX128X_STATUS_CMD_FAILED                      0b00010100  //  4     2                     failed to execute</span></div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="preprocessor">#define SX128X_STATUS_TX_DONE                         0b00011000  //  4     2                     transmission finished</span></div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="preprocessor">#define SX128X_STATUS_BUSY                            0b00000001  //  0     0     chip busy</span></div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#define SX128X_STATUS_SPI_FAILED                      0b11111111  //  7     0     SPI transaction failed</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">//SX128X_CMD_SET_SLEEP</span></div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor">#define SX128X_SLEEP_DATA_BUFFER_FLUSH                0b00000000  //  1     1     data buffer behavior in sleep mode: flush</span></div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#define SX128X_SLEEP_DATA_BUFFER_RETAIN               0b00000010  //  1     1                                         retain</span></div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor">#define SX128X_SLEEP_DATA_RAM_FLUSH                   0b00000000  //  0     0     data RAM (configuration) behavior in sleep mode: flush</span></div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor">#define SX128X_SLEEP_DATA_RAM_RETAIN                  0b00000001  //  0     0                                                      retain</span></div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160; </div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="comment">//SX128X_CMD_SET_STANDBY</span></div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="preprocessor">#define SX128X_STANDBY_RC                             0x00        //  7     0     standby mode: 13 MHz RC oscillator</span></div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor">#define SX128X_STANDBY_XOSC                           0x01        //  7     0                   52 MHz crystal oscillator</span></div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160; </div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="comment">//SX128X_CMD_SET_TX + SX128X_CMD_SET_RX + SX128X_CMD_SET_RX_DUTY_CYCLE</span></div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="preprocessor">#define SX128X_PERIOD_BASE_15_625_US                  0x00        //  7     0     time period step: 15.625 us</span></div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="preprocessor">#define SX128X_PERIOD_BASE_62_5_US                    0x01        //  7     0                       62.5 us</span></div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#define SX128X_PERIOD_BASE_1_MS                       0x02        //  7     0                       1 ms</span></div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor">#define SX128X_PERIOD_BASE_4_MS                       0x03        //  7     0                       4 ms</span></div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160; </div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="comment">//SX128X_CMD_SET_TX</span></div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="preprocessor">#define SX128X_TX_TIMEOUT_NONE                        0x0000      //  15    0     Tx timeout duration: no timeout (Tx single mode)</span></div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160; </div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="comment">//SX128X_CMD_SET_RX</span></div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">#define SX128X_RX_TIMEOUT_NONE                        0x0000      //  15    0     Rx timeout duration: no timeout (Rx single mode)</span></div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor">#define SX128X_RX_TIMEOUT_INF                         0xFFFF      //  15    0                          infinite (Rx continuous mode)</span></div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160; </div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="comment">//SX128X_CMD_SET_PACKET_TYPE</span></div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="preprocessor">#define SX128X_PACKET_TYPE_GFSK                       0x00        //  7     0     packet type: (G)FSK</span></div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="preprocessor">#define SX128X_PACKET_TYPE_LORA                       0x01        //  7     0                  LoRa</span></div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor">#define SX128X_PACKET_TYPE_RANGING                    0x02        //  7     0                  ranging engine</span></div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="preprocessor">#define SX128X_PACKET_TYPE_FLRC                       0x03        //  7     0                  FLRC</span></div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor">#define SX128X_PACKET_TYPE_BLE                        0x04        //  7     0                  BLE</span></div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160; </div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="comment">//SX128X_CMD_SET_TX_PARAMS</span></div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="preprocessor">#define SX128X_PA_RAMP_02_US                          0x00        //  7     0     PA ramp time: 2 us</span></div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="preprocessor">#define SX128X_PA_RAMP_04_US                          0x20        //  7     0                   4 us</span></div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="preprocessor">#define SX128X_PA_RAMP_06_US                          0x40        //  7     0                   6 us</span></div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor">#define SX128X_PA_RAMP_08_US                          0x60        //  7     0                   8 us</span></div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="preprocessor">#define SX128X_PA_RAMP_10_US                          0x80        //  7     0                   10 us</span></div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#define SX128X_PA_RAMP_12_US                          0xA0        //  7     0                   12 us</span></div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#define SX128X_PA_RAMP_16_US                          0xC0        //  7     0                   16 us</span></div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="preprocessor">#define SX128X_PA_RAMP_20_US                          0xE0        //  7     0                   20 us</span></div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160; </div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="comment">//SX128X_CMD_SET_CAD_PARAMS</span></div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="preprocessor">#define SX128X_CAD_ON_1_SYMB                          0x00        //  7     0     number of symbols used for CAD: 1</span></div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="preprocessor">#define SX128X_CAD_ON_2_SYMB                          0x20        //  7     0                                     2</span></div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="preprocessor">#define SX128X_CAD_ON_4_SYMB                          0x40        //  7     0                                     4</span></div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="preprocessor">#define SX128X_CAD_ON_8_SYMB                          0x60        //  7     0                                     8</span></div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor">#define SX128X_CAD_ON_16_SYMB                         0x80        //  7     0                                     16</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">//SX128X_CMD_SET_MODULATION_PARAMS</span></div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_BR_2_000_BW_2_4               0x04        //  7     0     GFSK/BLE bit rate and bandwidth setting: 2.0 Mbps   2.4 MHz</span></div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_BR_1_600_BW_2_4               0x28        //  7     0                                              1.6 Mbps   2.4 MHz</span></div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_BR_1_000_BW_2_4               0x4C        //  7     0                                              1.0 Mbps   2.4 MHz</span></div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_BR_1_000_BW_1_2               0x45        //  7     0                                              1.0 Mbps   1.2 MHz</span></div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_BR_0_800_BW_2_4               0x70        //  7     0                                              0.8 Mbps   2.4 MHz</span></div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_BR_0_800_BW_1_2               0x69        //  7     0                                              0.8 Mbps   1.2 MHz</span></div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_BR_0_500_BW_1_2               0x8D        //  7     0                                              0.5 Mbps   1.2 MHz</span></div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_BR_0_500_BW_0_6               0x86        //  7     0                                              0.5 Mbps   0.6 MHz</span></div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_BR_0_400_BW_1_2               0xB1        //  7     0                                              0.4 Mbps   1.2 MHz</span></div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_BR_0_400_BW_0_6               0xAA        //  7     0                                              0.4 Mbps   0.6 MHz</span></div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_BR_0_250_BW_0_6               0xCE        //  7     0                                              0.25 Mbps  0.6 MHz</span></div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_BR_0_250_BW_0_3               0xC7        //  7     0                                              0.25 Mbps  0.3 MHz</span></div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_BR_0_125_BW_0_3               0xEF        //  7     0                                              0.125 Mbps 0.3 MHz</span></div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_0_35                  0x00        //  7     0     GFSK/BLE modulation index: 0.35</span></div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_0_50                  0x01        //  7     0                                0.50</span></div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_0_75                  0x02        //  7     0                                0.75</span></div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_1_00                  0x03        //  7     0                                1.00</span></div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_1_25                  0x04        //  7     0                                1.25</span></div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_1_50                  0x05        //  7     0                                1.50</span></div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_1_75                  0x06        //  7     0                                1.75</span></div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_2_00                  0x07        //  7     0                                2.00</span></div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_2_25                  0x08        //  7     0                                2.25</span></div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_2_50                  0x09        //  7     0                                2.50</span></div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_2_75                  0x0A        //  7     0                                2.75</span></div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_3_00                  0x0B        //  7     0                                3.00</span></div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_3_25                  0x0C        //  7     0                                3.25</span></div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_3_50                  0x0D        //  7     0                                3.50</span></div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_3_75                  0x0E        //  7     0                                3.75</span></div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_4_00                  0x0F        //  7     0                                4.00</span></div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_BT_OFF                        0x00        //  7     0     GFSK Gaussian filter BT product: filter disabled</span></div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_BT_1_0                        0x10        //  7     0                                      1.0</span></div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="preprocessor">#define SX128X_BLE_GFSK_BT_0_5                        0x20        //  7     0                                      0.5</span></div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="preprocessor">#define SX128X_FLRC_BR_1_300_BW_1_2                   0x45        //  7     0     FLRC bit rate and bandwidth setting: 1.3 Mbps   1.2 MHz</span></div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="preprocessor">#define SX128X_FLRC_BR_1_000_BW_1_2                   0x69        //  7     0                                          1.04 Mbps  1.2 MHz</span></div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="preprocessor">#define SX128X_FLRC_BR_0_650_BW_0_6                   0x86        //  7     0                                          0.65 Mbps  0.6 MHz</span></div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="preprocessor">#define SX128X_FLRC_BR_0_520_BW_0_6                   0xAA        //  7     0                                          0.52 Mbps  0.6 MHz</span></div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="preprocessor">#define SX128X_FLRC_BR_0_325_BW_0_3                   0xC7        //  7     0                                          0.325 Mbps 0.3 MHz</span></div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="preprocessor">#define SX128X_FLRC_BR_0_260_BW_0_3                   0xEB        //  7     0                                          0.260 Mbps 0.3 MHz</span></div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="preprocessor">#define SX128X_FLRC_CR_1_2                            0x00        //  7     0     FLRC coding rate: 1/2</span></div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="preprocessor">#define SX128X_FLRC_CR_3_4                            0x02        //  7     0                       3/4</span></div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="preprocessor">#define SX128X_FLRC_CR_1_0                            0x04        //  7     0                       1/1</span></div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#define SX128X_FLRC_BT_OFF                            0x00        //  7     0     FLRC Gaussian filter BT product: filter disabled</span></div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="preprocessor">#define SX128X_FLRC_BT_1_0                            0x10        //  7     0                                      1.0</span></div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="preprocessor">#define SX128X_FLRC_BT_0_5                            0x20        //  7     0                                      0.5</span></div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="preprocessor">#define SX128X_LORA_SF_5                              0x50        //  7     0     LoRa spreading factor: 5</span></div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="preprocessor">#define SX128X_LORA_SF_6                              0x60        //  7     0                            6</span></div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="preprocessor">#define SX128X_LORA_SF_7                              0x70        //  7     0                            7</span></div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="preprocessor">#define SX128X_LORA_SF_8                              0x80        //  7     0                            8</span></div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="preprocessor">#define SX128X_LORA_SF_9                              0x90        //  7     0                            9</span></div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#define SX128X_LORA_SF_10                             0xA0        //  7     0                            10</span></div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="preprocessor">#define SX128X_LORA_SF_11                             0xB0        //  7     0                            11</span></div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="preprocessor">#define SX128X_LORA_SF_12                             0xC0        //  7     0                            12</span></div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="preprocessor">#define SX128X_LORA_BW_1625_00                        0x0A        //  7     0     LoRa bandwidth: 1625.0 kHz</span></div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="preprocessor">#define SX128X_LORA_BW_812_50                         0x18        //  7     0                     812.5 kHz</span></div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#define SX128X_LORA_BW_406_25                         0x26        //  7     0                     406.25 kHz</span></div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="preprocessor">#define SX128X_LORA_BW_203_125                        0x34        //  7     0                     203.125 kHz</span></div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="preprocessor">#define SX128X_LORA_CR_4_5                            0x01        //  7     0     LoRa coding rate: 4/5</span></div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="preprocessor">#define SX128X_LORA_CR_4_6                            0x02        //  7     0                       4/6</span></div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="preprocessor">#define SX128X_LORA_CR_4_7                            0x03        //  7     0                       4/7</span></div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="preprocessor">#define SX128X_LORA_CR_4_8                            0x04        //  7     0                       4/8</span></div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="preprocessor">#define SX128X_LORA_CR_4_5_LI                         0x05        //  7     0                       4/5, long interleaving</span></div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="preprocessor">#define SX128X_LORA_CR_4_6_LI                         0x06        //  7     0                       4/6, long interleaving</span></div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="preprocessor">#define SX128X_LORA_CR_4_7_LI                         0x07        //  7     0                       4/7, long interleaving</span></div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160; </div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="comment">//SX128X_CMD_SET_PACKET_PARAMS</span></div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="preprocessor">#define SX128X_GFSK_FLRC_SYNC_WORD_OFF                0x00        //  7     0     GFSK/FLRC sync word used: none</span></div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="preprocessor">#define SX128X_GFSK_FLRC_SYNC_WORD_1                  0x10        //  7     0                               sync word 1</span></div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="preprocessor">#define SX128X_GFSK_FLRC_SYNC_WORD_2                  0x20        //  7     0                               sync word 2</span></div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="preprocessor">#define SX128X_GFSK_FLRC_SYNC_WORD_1_2                0x30        //  7     0                               sync words 1 and 2</span></div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="preprocessor">#define SX128X_GFSK_FLRC_SYNC_WORD_3                  0x40        //  7     0                               sync word 3</span></div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="preprocessor">#define SX128X_GFSK_FLRC_SYNC_WORD_1_3                0x50        //  7     0                               sync words 1 and 3</span></div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="preprocessor">#define SX128X_GFSK_FLRC_SYNC_WORD_2_3                0x60        //  7     0                               sync words 2 and 3</span></div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="preprocessor">#define SX128X_GFSK_FLRC_SYNC_WORD_1_2_3              0x70        //  7     0                               sync words 1, 2 and 3</span></div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="preprocessor">#define SX128X_GFSK_FLRC_PACKET_FIXED                 0x00        //  7     0     GFSK/FLRC packet length mode: fixed</span></div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="preprocessor">#define SX128X_GFSK_FLRC_PACKET_VARIABLE              0x20        //  7     0                                   variable</span></div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="preprocessor">#define SX128X_GFSK_FLRC_CRC_OFF                      0x00        //  7     0     GFSK/FLRC packet CRC: none</span></div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="preprocessor">#define SX128X_GFSK_FLRC_CRC_1_BYTE                   0x10        //  7     0                           1 byte</span></div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="preprocessor">#define SX128X_GFSK_FLRC_CRC_2_BYTE                   0x20        //  7     0                           2 bytes</span></div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="preprocessor">#define SX128X_GFSK_FLRC_CRC_3_BYTE                   0x30        //  7     0                           3 bytes (FLRC only)</span></div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="preprocessor">#define SX128X_GFSK_BLE_WHITENING_ON                  0x00        //  7     0     GFSK/BLE whitening: enabled</span></div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="preprocessor">#define SX128X_GFSK_BLE_WHITENING_OFF                 0x08        //  7     0                         disabled</span></div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<span class="preprocessor">#define SX128X_BLE_PAYLOAD_LENGTH_MAX_31              0x00        //  7     0     BLE maximum payload length: 31 bytes</span></div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="preprocessor">#define SX128X_BLE_PAYLOAD_LENGTH_MAX_37              0x20        //  7     0                                 37 bytes</span></div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="preprocessor">#define SX128X_BLE_PAYLOAD_LENGTH_TEST                0x40        //  7     0                                 63 bytes (test mode)</span></div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="preprocessor">#define SX128X_BLE_PAYLOAD_LENGTH_MAX_255             0x80        //  7     0                                 255 bytes (Bluetooth 4.2 and above)</span></div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="preprocessor">#define SX128X_BLE_CRC_OFF                            0x00        //  7     0     BLE packet CRC: none</span></div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="preprocessor">#define SX128X_BLE_CRC_3_BYTE                         0x10        //  7     0                     3 byte</span></div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="preprocessor">#define SX128X_BLE_PRBS_9                             0x00        //  7     0     BLE test payload contents: PRNG sequence using x^9 + x^5 + x</span></div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="preprocessor">#define SX128X_BLE_EYELONG                            0x04        //  7     0                                repeated 0xF0</span></div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="preprocessor">#define SX128X_BLE_EYESHORT                           0x08        //  7     0                                repeated 0xAA</span></div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="preprocessor">#define SX128X_BLE_PRBS_15                            0x0C        //  7     0                                PRNG sequence using x^15 + x^14 + x^13 + x^12 + x^2 + x + 1</span></div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;<span class="preprocessor">#define SX128X_BLE_ALL_1                              0x10        //  7     0                                repeated 0xFF</span></div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="preprocessor">#define SX128X_BLE_ALL_0                              0x14        //  7     0                                repeated 0x00</span></div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="preprocessor">#define SX128X_BLE_EYELONG_INV                        0x18        //  7     0                                repeated 0x0F</span></div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="preprocessor">#define SX128X_BLE_EYESHORT_INV                       0x1C        //  7     0                                repeated 0x55</span></div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="preprocessor">#define SX128X_FLRC_SYNC_WORD_OFF                     0x00        //  7     0     FLRC sync word: disabled</span></div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="preprocessor">#define SX128X_FLRC_SYNC_WORD_ON                      0x04        //  7     0                     enabled</span></div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="preprocessor">#define SX128X_LORA_HEADER_EXPLICIT                   0x00        //  7     0     LoRa header mode: explicit</span></div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="preprocessor">#define SX128X_LORA_HEADER_IMPLICIT                   0x80        //  7     0                       implicit</span></div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="preprocessor">#define SX128X_LORA_CRC_OFF                           0x00        //  7     0     LoRa packet CRC: disabled</span></div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="preprocessor">#define SX128X_LORA_CRC_ON                            0x20        //  7     0                      enabled</span></div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="preprocessor">#define SX128X_LORA_IQ_STANDARD                       0x40        //  7     0     LoRa IQ: standard</span></div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="preprocessor">#define SX128X_LORA_IQ_INVERTED                       0x00        //  7     0              inverted</span></div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160; </div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">//SX128X_CMD_GET_PACKET_STATUS</span></div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="preprocessor">#define SX128X_PACKET_STATUS_SYNC_ERROR               0b01000000  //  6     6     packet status errors byte: sync word error</span></div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="preprocessor">#define SX128X_PACKET_STATUS_LENGTH_ERROR             0b00100000  //  5     5                                packet length error</span></div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="preprocessor">#define SX128X_PACKET_STATUS_CRC_ERROR                0b00010000  //  4     4                                CRC error</span></div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="preprocessor">#define SX128X_PACKET_STATUS_ABORT_ERROR              0b00001000  //  3     3                                packet reception aborted</span></div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="preprocessor">#define SX128X_PACKET_STATUS_HEADER_RECEIVED          0b00000100  //  2     2                                header received</span></div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="preprocessor">#define SX128X_PACKET_STATUS_PACKET_RECEIVED          0b00000010  //  1     1                                packet received</span></div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="preprocessor">#define SX128X_PACKET_STATUS_PACKET_CTRL_BUSY         0b00000001  //  0     0                                packet controller is busy</span></div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="preprocessor">#define SX128X_PACKET_STATUS_RX_PID                   0b11000000  //  7     6     packet status status byte: PID field of the received packet</span></div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#define SX128X_PACKET_STATUS_NO_ACK                   0b00100000  //  5     5                                NO_ACK field of the received packet</span></div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="preprocessor">#define SX128X_PACKET_STATUS_RX_PID_ERROR             0b00010000  //  4     4                                PID field error</span></div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="preprocessor">#define SX128X_PACKET_STATUS_PACKET_SENT              0b00000001  //  0     0                                packet sent</span></div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor">#define SX128X_PACKET_STATUS_SYNC_DET_ERROR           0b00000000  //  2     0     packet status sync byte: sync word detection error</span></div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="preprocessor">#define SX128X_PACKET_STATUS_SYNC_DET_1               0b00000001  //  2     0                              detected sync word 1</span></div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="preprocessor">#define SX128X_PACKET_STATUS_SYNC_DET_2               0b00000010  //  2     0                              detected sync word 2</span></div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="preprocessor">#define SX128X_PACKET_STATUS_SYNC_DET_3               0b00000100  //  2     0                              detected sync word 3</span></div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160; </div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="comment">//SX128X_CMD_SET_DIO_IRQ_PARAMS</span></div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="preprocessor">#define SX128X_IRQ_PREAMBLE_DETECTED                  0x8000      //  15    15    interrupt source: preamble detected</span></div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#define SX128X_IRQ_ADVANCED_RANGING_DONE              0x8000      //  15    15                      advanced ranging done</span></div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="preprocessor">#define SX128X_IRQ_RX_TX_TIMEOUT                      0x4000      //  14    14                      Rx or Tx timeout</span></div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="preprocessor">#define SX128X_IRQ_CAD_DETECTED                       0x2000      //  13    13                      channel activity detected</span></div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="preprocessor">#define SX128X_IRQ_CAD_DONE                           0x1000      //  12    12                      CAD finished</span></div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="preprocessor">#define SX128X_IRQ_RANGING_SLAVE_REQ_VALID            0x0800      //  11    11                      ranging request valid (slave)</span></div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="preprocessor">#define SX128X_IRQ_RANGING_MASTER_TIMEOUT             0x0400      //  10    10                      ranging timeout (master)</span></div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="preprocessor">#define SX128X_IRQ_RANGING_MASTER_RES_VALID           0x0200      //  9     9                       ranging result valid (master)</span></div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="preprocessor">#define SX128X_IRQ_RANGING_SLAVE_REQ_DISCARD          0x0100      //  8     8                       ranging result valid (master)</span></div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="preprocessor">#define SX128X_IRQ_RANGING_SLAVE_RESP_DONE            0x0080      //  7     7                       ranging response complete (slave)</span></div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="preprocessor">#define SX128X_IRQ_CRC_ERROR                          0x0040      //  6     6                       CRC error</span></div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="preprocessor">#define SX128X_IRQ_HEADER_ERROR                       0x0020      //  5     5                       header error</span></div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="preprocessor">#define SX128X_IRQ_HEADER_VALID                       0x0010      //  4     4                       header valid</span></div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="preprocessor">#define SX128X_IRQ_SYNC_WORD_ERROR                    0x0008      //  3     3                       sync word error</span></div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="preprocessor">#define SX128X_IRQ_SYNC_WORD_VALID                    0x0004      //  2     2                       sync word valid</span></div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;<span class="preprocessor">#define SX128X_IRQ_RX_DONE                            0x0002      //  1     1                       Rx done</span></div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="preprocessor">#define SX128X_IRQ_TX_DONE                            0x0001      //  0     0                       Tx done</span></div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="preprocessor">#define SX128X_IRQ_NONE                               0x0000      //  15    0                       none</span></div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="preprocessor">#define SX128X_IRQ_ALL                                0xFFFF      //  15    0                       all</span></div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160; </div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="comment">//SX128X_CMD_SET_REGULATOR_MODE</span></div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="preprocessor">#define SX128X_REGULATOR_LDO                          0x00        //  7     0     set regulator mode: LDO (default)</span></div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="preprocessor">#define SX128X_REGULATOR_DC_DC                        0x01        //  7     0                         DC-DC</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">//SX128X_CMD_SET_RANGING_ROLE</span></div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;<span class="preprocessor">#define SX128X_RANGING_ROLE_MASTER                    0x01        //  7     0     ranging role: master</span></div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="preprocessor">#define SX128X_RANGING_ROLE_SLAVE                     0x00        //  7     0                   slave</span></div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160; </div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="comment">//SX128X_REG_LORA_SYNC_WORD_1 - SX128X_REG_LORA_SYNC_WORD_2</span></div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="preprocessor">#define SX128X_SYNC_WORD_PRIVATE                      0x12</span></div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160; </div>
<div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="class_s_x128x.html">  350</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_s_x128x.html">SX128x</a>: <span class="keyword">public</span> <a class="code" href="class_physical_layer.html">PhysicalLayer</a> {</div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;  <span class="keyword">public</span>:</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    <span class="comment">// introduce PhysicalLayer overloads</span></div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</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="l00354"></a><span class="lineno">  354</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="l00355"></a><span class="lineno">  355</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="l00356"></a><span class="lineno">  356</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="l00357"></a><span class="lineno">  357</span>&#160; </div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    <a class="code" href="class_s_x128x.html#a9ccbf51f8304f1041c8eef182be547a7">SX128x</a>(<a class="code" href="class_module.html">Module</a>* mod);</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160; </div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    <span class="comment">// basic methods</span></div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160; </div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a7927beac8c610dffd06cf95242706f39">begin</a>(<span class="keywordtype">float</span> freq = 2400.0, <span class="keywordtype">float</span> bw = 812.5, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = SX128X_SYNC_WORD_PRIVATE, int8_t power = 10, uint16_t preambleLength = 12);</div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160; </div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a8dd8ce38bc9d0d8dbd711b373e864e93">beginGFSK</a>(<span class="keywordtype">float</span> freq = 2400.0, uint16_t br = 800, <span class="keywordtype">float</span> freqDev = 400.0, int8_t power = 10, uint16_t preambleLength = 16);</div>
<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160; </div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a316340d7ba2a6e7cb5742e3ff21e728c">beginBLE</a>(<span class="keywordtype">float</span> freq = 2400.0, uint16_t br = 800, <span class="keywordtype">float</span> freqDev = 400.0, int8_t power = 10, uint8_t dataShaping = <a class="code" href="group__config__shaping.html#gaa778d14c29d21fe329137a28a3f54a5d">RADIOLIB_SHAPING_0_5</a>);</div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160; </div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#ac7df67afbb0b1a88daf5ec50f3d65660">beginFLRC</a>(<span class="keywordtype">float</span> freq = 2400.0, uint16_t br = 650, uint8_t cr = 3, int8_t power = 10, uint16_t preambleLength = 16, uint8_t dataShaping = <a class="code" href="group__config__shaping.html#gaa778d14c29d21fe329137a28a3f54a5d">RADIOLIB_SHAPING_0_5</a>);</div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160; </div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a2643ce22176293631fea2169f5e68e66">reset</a>(<span class="keywordtype">bool</span> verify = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160; </div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#af253e1e45361de74aefd01a7c73c28f5">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="l00464"></a><span class="lineno">  464</span>&#160; </div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a32b7b674d63c36f15b7f58a2cb837a99">receive</a>(uint8_t* data, <span class="keywordtype">size_t</span> len) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160; </div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a53892566b0259d348158efe3c3c3601a">transmitDirect</a>(uint32_t frf = 0) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160; </div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#aff7d86352c98771595375e17d19a2a97">receiveDirect</a>() <span class="keyword">override</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_x128x.html#a89cc916f5cd5cdfbd331bb15f8a3d5cb">scanChannel</a>();</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_x128x.html#a1d15e13e15b060ddbbe84257d5fcb66f">sleep</a>(<span class="keywordtype">bool</span> retainConfig = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160; </div>
<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a2be8cc6c3b61b59cb6a6ca4f6a030b45">standby</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160; </div>
<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a2be8cc6c3b61b59cb6a6ca4f6a030b45">standby</a>(uint8_t mode);</div>
<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160; </div>
<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;    <span class="comment">// interrupt methods</span></div>
<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160; </div>
<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_s_x128x.html#a0759fb31b3ce5bf1c832259c9c2245ed">setDio1Action</a>(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">void</span>));</div>
<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160; </div>
<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_s_x128x.html#ab8a3fe8e2843fa039ef369668f1a423f">clearDio1Action</a>();</div>
<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160; </div>
<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#aef221e7d463c5228ce00ed6934512848">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="l00553"></a><span class="lineno">  553</span>&#160; </div>
<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a8171d2f3de53156526580ca4fe4d647d">startReceive</a>(uint16_t timeout = SX128X_RX_TIMEOUT_INF);</div>
<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160; </div>
<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a94bca43258b09217fb476a2d8db784bb">readData</a>(uint8_t* data, <span class="keywordtype">size_t</span> len) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160; </div>
<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;    <span class="comment">// configuration methods</span></div>
<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160; </div>
<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a2043ef7bb806968b9d9dcb64561ca371">setFrequency</a>(<span class="keywordtype">float</span> freq);</div>
<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160; </div>
<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#ae93c99c85deb950fe9bc7101142b5f6a">setBandwidth</a>(<span class="keywordtype">float</span> bw);</div>
<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160; </div>
<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#ae435f57132f76f4283abb870176acf54">setSpreadingFactor</a>(uint8_t sf);</div>
<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160; </div>
<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a9da544e4a6120f73a078b46c6138505a">setCodingRate</a>(uint8_t cr, <span class="keywordtype">bool</span> longInterleaving = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160; </div>
<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#ad6e2b46c317a8d8512cf0380025147a9">setOutputPower</a>(int8_t power);</div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160; </div>
<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a1984a405262f155f16a4759c5f6b0133">setPreambleLength</a>(uint32_t preambleLength);</div>
<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160; </div>
<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a3bee00ec197ef9855c0079cb0a3009a6">setBitRate</a>(uint16_t br);</div>
<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160; </div>
<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a26d0d02e5e53a3172df9208fa343a3f1">setFrequencyDeviation</a>(<span class="keywordtype">float</span> freqDev) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160; </div>
<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a99491c705e88dddc820f884b778f1660">setDataShaping</a>(uint8_t sh) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160; </div>
<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a0efa595867624a54153d693d16f9f731">setSyncWord</a>(uint8_t* syncWord, uint8_t len);</div>
<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160; </div>
<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a0efa595867624a54153d693d16f9f731">setSyncWord</a>(uint8_t syncWord, uint8_t controlBits = 0x44);</div>
<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160; </div>
<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#aa4b1e0b96347011522e053f30202c0fe">setCRC</a>(uint8_t len, uint32_t initial = 0x1D0F, uint16_t polynomial = 0x1021);</div>
<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160; </div>
<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a8b3eea268f21bf911b6eaf37c5eb0b5f">setWhitening</a>(<span class="keywordtype">bool</span> enabled);</div>
<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160; </div>
<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a9346490a6c56edcff2e12ae0369a8df5">setAccessAddress</a>(uint32_t addr);</div>
<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160; </div>
<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_s_x128x.html#a94d3003277925e2dc3372548b3311008">getRSSI</a>();</div>
<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160; </div>
<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_s_x128x.html#a89ebf1f4f227cd35c0799c06d5d9c1d2">getSNR</a>();</div>
<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160; </div>
<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;    <span class="keywordtype">size_t</span> <a class="code" href="class_s_x128x.html#a390fd0749b316eed67da7b54f4f24735">getPacketLength</a>(<span class="keywordtype">bool</span> update = <span class="keyword">true</span>) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160; </div>
<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;    uint32_t <a class="code" href="class_s_x128x.html#a2361a94f2e12ebc93e750a027d633232">getTimeOnAir</a>(<span class="keywordtype">size_t</span> len);</div>
<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160; </div>
<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#ac69cc622020419cb3393eac5cc88915b">implicitHeader</a>(<span class="keywordtype">size_t</span> len);</div>
<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160; </div>
<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a94b7fb26cc99385d30b0c98b76d8188d">explicitHeader</a>();</div>
<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160; </div>
<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;    int16_t <a class="code" href="class_s_x128x.html#a8720a388d2cd10fac3112b89f4a80947">setEncoding</a>(uint8_t encoding) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160; </div>
<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_s_x128x.html#a5f11803b3430bc059321b443f407e78b">setRfSwitchPins</a>(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);</div>
<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160; </div>
<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;    uint8_t <a class="code" href="class_s_x128x.html#a1cefaf76d47ee71d143fc073333a9d82">random</a>();</div>
<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160; </div>
<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;<span class="preprocessor">#if !defined(RADIOLIB_GODMODE) &amp;&amp; !defined(RADIOLIB_LOW_LEVEL)</span></div>
<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;  <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;    <a class="code" href="class_module.html">Module</a>* _mod;</div>
<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160; </div>
<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;<span class="preprocessor">#if !defined(RADIOLIB_GODMODE)</span></div>
<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;  <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160; </div>
<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;    <span class="comment">// cached LoRa parameters</span></div>
<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;    <span class="keywordtype">float</span> _bwKhz = 0;</div>
<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;    uint8_t _bw = 0, _sf = 0, _cr = 0;</div>
<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;    uint8_t _preambleLengthLoRa = 0, _headerType = 0, _payloadLen = 0, _crcLoRa = 0;</div>
<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160; </div>
<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;    <span class="comment">// SX128x SPI command implementations</span></div>
<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;    uint8_t getStatus();</div>
<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;    int16_t writeRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);</div>
<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;    int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);</div>
<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;    int16_t writeBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);</div>
<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;    int16_t readBuffer(uint8_t* data, uint8_t numBytes);</div>
<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;    int16_t setTx(uint16_t periodBaseCount = SX128X_TX_TIMEOUT_NONE, uint8_t periodBase = SX128X_PERIOD_BASE_15_625_US);</div>
<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;    int16_t setRx(uint16_t periodBaseCount, uint8_t periodBase = SX128X_PERIOD_BASE_15_625_US);</div>
<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;    int16_t setCad();</div>
<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;    uint8_t getPacketType();</div>
<div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;    int16_t setRfFrequency(uint32_t frf);</div>
<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;    int16_t setTxParams(uint8_t power, uint8_t rampTime = SX128X_PA_RAMP_10_US);</div>
<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;    int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);</div>
<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;    int16_t setModulationParams(uint8_t modParam1, uint8_t modParam2, uint8_t modParam3);</div>
<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;    int16_t setPacketParamsGFSK(uint8_t preambleLen, uint8_t syncWordLen, uint8_t syncWordMatch, uint8_t crcLen, uint8_t whitening, uint8_t payloadLen = 0xFF, uint8_t headerType = SX128X_GFSK_FLRC_PACKET_VARIABLE);</div>
<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;    int16_t setPacketParamsBLE(uint8_t connState, uint8_t crcLen, uint8_t bleTestPayload, uint8_t whitening);</div>
<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;    int16_t setPacketParamsLoRa(uint8_t preambleLen, uint8_t headerType, uint8_t payloadLen, uint8_t crc, uint8_t invertIQ = SX128X_LORA_IQ_STANDARD);</div>
<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;    int16_t setDioIrqParams(uint16_t irqMask, uint16_t dio1Mask, uint16_t dio2Mask = SX128X_IRQ_NONE, uint16_t dio3Mask = SX128X_IRQ_NONE);</div>
<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;    uint16_t getIrqStatus();</div>
<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;    int16_t clearIrqStatus(uint16_t clearIrqParams = SX128X_IRQ_ALL);</div>
<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;    int16_t setRangingRole(uint8_t role);</div>
<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;    int16_t setPacketType(uint8_t type);</div>
<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160; </div>
<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;    int16_t setHeaderType(uint8_t headerType, <span class="keywordtype">size_t</span> len = 0xFF);</div>
<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160; </div>
<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;<span class="preprocessor">#if !defined(RADIOLIB_GODMODE) &amp;&amp; !defined(RADIOLIB_LOW_LEVEL)</span></div>
<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;  <span class="keyword">private</span>:</div>
<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160; </div>
<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;    <span class="comment">// common low-level SPI interface</span></div>
<div class="line"><a name="l00831"></a><span class="lineno">  831</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>);</div>
<div class="line"><a name="l00832"></a><span class="lineno">  832</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>);</div>
<div class="line"><a name="l00833"></a><span class="lineno">  833</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>);</div>
<div class="line"><a name="l00834"></a><span class="lineno">  834</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>);</div>
<div class="line"><a name="l00835"></a><span class="lineno">  835</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="l00836"></a><span class="lineno">  836</span>&#160; </div>
<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;<span class="preprocessor">#if !defined(RADIOLIB_GODMODE)</span></div>
<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;  <span class="keyword">private</span>:</div>
<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;    <span class="comment">// common parameters</span></div>
<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;    uint8_t _pwr = 0;</div>
<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160; </div>
<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;    <span class="comment">// cached GFSK parameters</span></div>
<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;    <span class="keywordtype">float</span> _modIndexReal = 0;</div>
<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;    uint16_t _brKbps = 0;</div>
<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;    uint8_t _br = 0, _modIndex = 0, _shaping = 0;</div>
<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;    uint8_t _preambleLengthGFSK = 0, _syncWordLen = 0, _syncWordMatch = 0, _crcGFSK = 0, _whitening = 0;</div>
<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160; </div>
<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;    <span class="comment">// cached FLRC parameters</span></div>
<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;    uint8_t _crFLRC = 0;</div>
<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160; </div>
<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;    <span class="comment">// cached BLE parameters</span></div>
<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;    uint8_t _connectionState = 0, _crcBLE = 0, _bleTestPayload = 0;</div>
<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160; </div>
<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;    int16_t config(uint8_t modem);</div>
<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;};</div>
<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160; </div>
<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160; </div>
<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_s_x128x_html_a316340d7ba2a6e7cb5742e3ff21e728c"><div class="ttname"><a href="class_s_x128x.html#a316340d7ba2a6e7cb5742e3ff21e728c">SX128x::beginBLE</a></div><div class="ttdeci">int16_t beginBLE(float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)</div><div class="ttdoc">Initialization method for BLE modem.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:126</div></div>
<div class="ttc" id="aclass_s_x128x_html_a94bca43258b09217fb476a2d8db784bb"><div class="ttname"><a href="class_s_x128x.html#a94bca43258b09217fb476a2d8db784bb">SX128x::readData</a></div><div class="ttdeci">int16_t readData(uint8_t *data, size_t len) override</div><div class="ttdoc">Reads data received after calling startReceive method.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:554</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:8</div></div>
<div class="ttc" id="aclass_s_x128x_html"><div class="ttname"><a href="class_s_x128x.html">SX128x</a></div><div class="ttdoc">Base class for SX128x series. All derived classes for SX128x (e.g. SX1280 or SX1281) inherit from thi...</div><div class="ttdef"><b>Definition:</b> SX128x.h:350</div></div>
<div class="ttc" id="aclass_s_x128x_html_a0efa595867624a54153d693d16f9f731"><div class="ttname"><a href="class_s_x128x.html#a0efa595867624a54153d693d16f9f731">SX128x::setSyncWord</a></div><div class="ttdeci">int16_t setSyncWord(uint8_t *syncWord, uint8_t len)</div><div class="ttdoc">Sets FSK/FLRC sync word in the form of array of up to 5 bytes (FSK). For FLRC modem,...</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:864</div></div>
<div class="ttc" id="aclass_s_x128x_html_a9da544e4a6120f73a078b46c6138505a"><div class="ttname"><a href="class_s_x128x.html#a9da544e4a6120f73a078b46c6138505a">SX128x::setCodingRate</a></div><div class="ttdeci">int16_t setCodingRate(uint8_t cr, bool longInterleaving=false)</div><div class="ttdoc">Sets LoRa coding rate denominator. Allowed values range from 5 to 8.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:662</div></div>
<div class="ttc" id="aclass_s_x128x_html_aef221e7d463c5228ce00ed6934512848"><div class="ttname"><a href="class_s_x128x.html#aef221e7d463c5228ce00ed6934512848">SX128x::startTransmit</a></div><div class="ttdeci">int16_t startTransmit(uint8_t *data, size_t len, uint8_t addr=0) override</div><div class="ttdoc">Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in ...</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:457</div></div>
<div class="ttc" id="aclass_s_x128x_html_a2be8cc6c3b61b59cb6a6ca4f6a030b45"><div class="ttname"><a href="class_s_x128x.html#a2be8cc6c3b61b59cb6a6ca4f6a030b45">SX128x::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> SX128x.cpp:437</div></div>
<div class="ttc" id="aclass_s_x128x_html_aff7d86352c98771595375e17d19a2a97"><div class="ttname"><a href="class_s_x128x.html#aff7d86352c98771595375e17d19a2a97">SX128x::receiveDirect</a></div><div class="ttdeci">int16_t receiveDirect() override</div><div class="ttdoc">Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX128x series does...</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:368</div></div>
<div class="ttc" id="aclass_s_x128x_html_a9346490a6c56edcff2e12ae0369a8df5"><div class="ttname"><a href="class_s_x128x.html#a9346490a6c56edcff2e12ae0369a8df5">SX128x::setAccessAddress</a></div><div class="ttdeci">int16_t setAccessAddress(uint32_t addr)</div><div class="ttdoc">Sets BLE access address.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:1007</div></div>
<div class="ttc" id="aclass_s_x128x_html_a99491c705e88dddc820f884b778f1660"><div class="ttname"><a href="class_s_x128x.html#a99491c705e88dddc820f884b778f1660">SX128x::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> SX128x.cpp:834</div></div>
<div class="ttc" id="aclass_s_x128x_html_a1cefaf76d47ee71d143fc073333a9d82"><div class="ttname"><a href="class_s_x128x.html#a1cefaf76d47ee71d143fc073333a9d82">SX128x::random</a></div><div class="ttdeci">uint8_t random()</div><div class="ttdoc">Dummy random method, to ensure PhysicalLayer compatibility.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:1149</div></div>
<div class="ttc" id="aclass_s_x128x_html_a8171d2f3de53156526580ca4fe4d647d"><div class="ttname"><a href="class_s_x128x.html#a8171d2f3de53156526580ca4fe4d647d">SX128x::startReceive</a></div><div class="ttdeci">int16_t startReceive(uint16_t timeout=SX128X_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> SX128x.cpp:521</div></div>
<div class="ttc" id="aclass_s_x128x_html_a32b7b674d63c36f15b7f58a2cb837a99"><div class="ttname"><a href="class_s_x128x.html#a32b7b674d63c36f15b7f58a2cb837a99">SX128x::receive</a></div><div class="ttdeci">int16_t receive(uint8_t *data, size_t len) override</div><div class="ttdoc">Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalL...</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:315</div></div>
<div class="ttc" id="agroup__config__shaping_html_gaa778d14c29d21fe329137a28a3f54a5d"><div class="ttname"><a href="group__config__shaping.html#gaa778d14c29d21fe329137a28a3f54a5d">RADIOLIB_SHAPING_0_5</a></div><div class="ttdeci">#define RADIOLIB_SHAPING_0_5</div><div class="ttdoc">Gaussin shaping filter, BT = 0.5.</div><div class="ttdef"><b>Definition:</b> TypeDef.h:110</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:57</div></div>
<div class="ttc" id="aclass_s_x128x_html_a2043ef7bb806968b9d9dcb64561ca371"><div class="ttname"><a href="class_s_x128x.html#a2043ef7bb806968b9d9dcb64561ca371">SX128x::setFrequency</a></div><div class="ttdeci">int16_t setFrequency(float freq)</div><div class="ttdoc">Sets carrier frequency. Allowed values are in range from 2400.0 to 2500.0 MHz.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:590</div></div>
<div class="ttc" id="aclass_s_x128x_html_a9ccbf51f8304f1041c8eef182be547a7"><div class="ttname"><a href="class_s_x128x.html#a9ccbf51f8304f1041c8eef182be547a7">SX128x::SX128x</a></div><div class="ttdeci">SX128x(Module *mod)</div><div class="ttdoc">Default constructor.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:4</div></div>
<div class="ttc" id="aclass_s_x128x_html_aa4b1e0b96347011522e053f30202c0fe"><div class="ttname"><a href="class_s_x128x.html#aa4b1e0b96347011522e053f30202c0fe">SX128x::setCRC</a></div><div class="ttdeci">int16_t setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021)</div><div class="ttdoc">Sets CRC configuration.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:923</div></div>
<div class="ttc" id="aclass_s_x128x_html_a8b3eea268f21bf911b6eaf37c5eb0b5f"><div class="ttname"><a href="class_s_x128x.html#a8b3eea268f21bf911b6eaf37c5eb0b5f">SX128x::setWhitening</a></div><div class="ttdeci">int16_t setWhitening(bool enabled)</div><div class="ttdoc">Sets whitening parameters, not available for LoRa or FLRC modem.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:987</div></div>
<div class="ttc" id="aclass_s_x128x_html_a89cc916f5cd5cdfbd331bb15f8a3d5cb"><div class="ttname"><a href="class_s_x128x.html#a89cc916f5cd5cdfbd331bb15f8a3d5cb">SX128x::scanChannel</a></div><div class="ttdeci">int16_t scanChannel()</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> SX128x.cpp:376</div></div>
<div class="ttc" id="aclass_s_x128x_html_a26d0d02e5e53a3172df9208fa343a3f1"><div class="ttname"><a href="class_s_x128x.html#a26d0d02e5e53a3172df9208fa343a3f1">SX128x::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 3200.0 kHz.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:801</div></div>
<div class="ttc" id="aclass_s_x128x_html_ab8a3fe8e2843fa039ef369668f1a423f"><div class="ttname"><a href="class_s_x128x.html#ab8a3fe8e2843fa039ef369668f1a423f">SX128x::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> SX128x.cpp:453</div></div>
<div class="ttc" id="aclass_s_x128x_html_ae93c99c85deb950fe9bc7101142b5f6a"><div class="ttname"><a href="class_s_x128x.html#ae93c99c85deb950fe9bc7101142b5f6a">SX128x::setBandwidth</a></div><div class="ttdeci">int16_t setBandwidth(float bw)</div><div class="ttdoc">Sets LoRa bandwidth. Allowed values are 203.125, 406.25, 812.5 and 1625.0 kHz.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:598</div></div>
<div class="ttc" id="aclass_s_x128x_html_a7927beac8c610dffd06cf95242706f39"><div class="ttname"><a href="class_s_x128x.html#a7927beac8c610dffd06cf95242706f39">SX128x::begin</a></div><div class="ttdeci">int16_t begin(float freq=2400.0, float bw=812.5, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX128X_SYNC_WORD_PRIVATE, int8_t power=10, uint16_t preambleLength=12)</div><div class="ttdoc">Initialization method for LoRa modem.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:8</div></div>
<div class="ttc" id="aclass_s_x128x_html_ac7df67afbb0b1a88daf5ec50f3d65660"><div class="ttname"><a href="class_s_x128x.html#ac7df67afbb0b1a88daf5ec50f3d65660">SX128x::beginFLRC</a></div><div class="ttdeci">int16_t beginFLRC(float freq=2400.0, uint16_t br=650, uint8_t cr=3, int8_t power=10, uint16_t preambleLength=16, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)</div><div class="ttdoc">Initialization method for FLRC modem.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:175</div></div>
<div class="ttc" id="aclass_s_x128x_html_a3bee00ec197ef9855c0079cb0a3009a6"><div class="ttname"><a href="class_s_x128x.html#a3bee00ec197ef9855c0079cb0a3009a6">SX128x::setBitRate</a></div><div class="ttdeci">int16_t setBitRate(uint16_t br)</div><div class="ttdoc">Sets FSK or FLRC bit rate. Allowed values are 125, 250, 400, 500, 800, 1000, 1600 and 2000 kbps (for ...</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:744</div></div>
<div class="ttc" id="aclass_s_x128x_html_a8720a388d2cd10fac3112b89f4a80947"><div class="ttname"><a href="class_s_x128x.html#a8720a388d2cd10fac3112b89f4a80947">SX128x::setEncoding</a></div><div class="ttdeci">int16_t setEncoding(uint8_t encoding) override</div><div class="ttdoc">Sets transmission encoding. Serves only as alias for PhysicalLayer compatibility.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:1141</div></div>
<div class="ttc" id="aclass_s_x128x_html_ae435f57132f76f4283abb870176acf54"><div class="ttname"><a href="class_s_x128x.html#ae435f57132f76f4283abb870176acf54">SX128x::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> SX128x.cpp:628</div></div>
<div class="ttc" id="aclass_s_x128x_html_a8dd8ce38bc9d0d8dbd711b373e864e93"><div class="ttname"><a href="class_s_x128x.html#a8dd8ce38bc9d0d8dbd711b373e864e93">SX128x::beginGFSK</a></div><div class="ttdeci">int16_t beginGFSK(float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint16_t preambleLength=16)</div><div class="ttdoc">Initialization method for GFSK modem.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:63</div></div>
<div class="ttc" id="aclass_s_x128x_html_a94d3003277925e2dc3372548b3311008"><div class="ttname"><a href="class_s_x128x.html#a94d3003277925e2dc3372548b3311008">SX128x::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> SX128x.cpp:1018</div></div>
<div class="ttc" id="aclass_s_x128x_html_ad6e2b46c317a8d8512cf0380025147a9"><div class="ttname"><a href="class_s_x128x.html#ad6e2b46c317a8d8512cf0380025147a9">SX128x::setOutputPower</a></div><div class="ttdeci">int16_t setOutputPower(int8_t power)</div><div class="ttdoc">Sets output power. Allowed values are in range from -18 to 13 dBm.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:690</div></div>
<div class="ttc" id="aclass_s_x128x_html_a53892566b0259d348158efe3c3c3601a"><div class="ttname"><a href="class_s_x128x.html#a53892566b0259d348158efe3c3c3601a">SX128x::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> SX128x.cpp:353</div></div>
<div class="ttc" id="aclass_s_x128x_html_af253e1e45361de74aefd01a7c73c28f5"><div class="ttname"><a href="class_s_x128x.html#af253e1e45361de74aefd01a7c73c28f5">SX128x::transmit</a></div><div class="ttdeci">int16_t transmit(uint8_t *data, size_t len, uint8_t addr=0) override</div><div class="ttdoc">Blocking binary transmit method. Overloads for string-based transmissions are implemented in Physical...</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:267</div></div>
<div class="ttc" id="aclass_s_x128x_html_a390fd0749b316eed67da7b54f4f24735"><div class="ttname"><a href="class_s_x128x.html#a390fd0749b316eed67da7b54f4f24735">SX128x::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> SX128x.cpp:1062</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:13</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:98</div></div>
<div class="ttc" id="aclass_s_x128x_html_a2361a94f2e12ebc93e750a027d633232"><div class="ttname"><a href="class_s_x128x.html#a2361a94f2e12ebc93e750a027d633232">SX128x::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> SX128x.cpp:1069</div></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 SPI/UART/I2C methods to control the wireless module....</div><div class="ttdef"><b>Definition:</b> Module.h:17</div></div>
<div class="ttc" id="aclass_s_x128x_html_a0759fb31b3ce5bf1c832259c9c2245ed"><div class="ttname"><a href="class_s_x128x.html#a0759fb31b3ce5bf1c832259c9c2245ed">SX128x::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> SX128x.cpp:449</div></div>
<div class="ttc" id="aclass_s_x128x_html_a1984a405262f155f16a4759c5f6b0133"><div class="ttname"><a href="class_s_x128x.html#a1984a405262f155f16a4759c5f6b0133">SX128x::setPreambleLength</a></div><div class="ttdeci">int16_t setPreambleLength(uint32_t preambleLength)</div><div class="ttdoc">Sets preamble length for currently active modem. Allowed values range from 1 to 65535.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:696</div></div>
<div class="ttc" id="aclass_s_x128x_html_a94b7fb26cc99385d30b0c98b76d8188d"><div class="ttname"><a href="class_s_x128x.html#a94b7fb26cc99385d30b0c98b76d8188d">SX128x::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> SX128x.cpp:1137</div></div>
<div class="ttc" id="aclass_s_x128x_html_a1d15e13e15b060ddbbe84257d5fcb66f"><div class="ttname"><a href="class_s_x128x.html#a1d15e13e15b060ddbbe84257d5fcb66f">SX128x::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> SX128x.cpp:421</div></div>
<div class="ttc" id="aclass_s_x128x_html_ac69cc622020419cb3393eac5cc88915b"><div class="ttname"><a href="class_s_x128x.html#ac69cc622020419cb3393eac5cc88915b">SX128x::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> SX128x.cpp:1133</div></div>
<div class="ttc" id="aclass_s_x128x_html_a5f11803b3430bc059321b443f407e78b"><div class="ttname"><a href="class_s_x128x.html#a5f11803b3430bc059321b443f407e78b">SX128x::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 two pins. This function gives RadioLib control ...</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:1145</div></div>
<div class="ttc" id="aclass_s_x128x_html_a89ebf1f4f227cd35c0799c06d5d9c1d2"><div class="ttname"><a href="class_s_x128x.html#a89ebf1f4f227cd35c0799c06d5d9c1d2">SX128x::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 or ranging mode...</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:1042</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:49</div></div>
<div class="ttc" id="aclass_s_x128x_html_a2643ce22176293631fea2169f5e68e66"><div class="ttname"><a href="class_s_x128x.html#a2643ce22176293631fea2169f5e68e66">SX128x::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> SX128x.cpp:234</div></div>
<!-- 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_ed12d23d857ca7061030f8751e72e77c.html">SX128x</a></li><li class="navelem"><b>SX128x.h</b></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>