RadioLibSmol/_s_x128x_8h_source.html
2021-07-18 08:20:46 +00:00

670 lines
119 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>RadioLib: 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#a95637e8addc48b0e1c30c2cf6f54354a">randomByte</a>();</div>
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; </div>
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_s_x128x.html#aff1b549077b9d752f53bf9dfc6840236">setDirectAction</a>(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">void</span>));</div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; </div>
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_s_x128x.html#a2dd0ecae9f54cf6943cf702ae15f5039">readBit</a>(RADIOLIB_PIN_TYPE pin);</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="preprocessor">#if !defined(RADIOLIB_GODMODE) &amp;&amp; !defined(RADIOLIB_LOW_LEVEL)</span></div>
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; <a class="code" href="class_module.html">Module</a>* _mod;</div>
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; </div>
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;<span class="preprocessor">#if !defined(RADIOLIB_GODMODE)</span></div>
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; </div>
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="comment">// cached LoRa parameters</span></div>
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <span class="keywordtype">float</span> _bwKhz = 0;</div>
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; uint8_t _bw = 0, _sf = 0, _cr = 0;</div>
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; uint8_t _preambleLengthLoRa = 0, _headerType = 0, _payloadLen = 0, _crcLoRa = 0;</div>
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; </div>
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <span class="comment">// SX128x SPI command implementations</span></div>
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; uint8_t getStatus();</div>
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; int16_t writeRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);</div>
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);</div>
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; int16_t writeBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);</div>
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; int16_t readBuffer(uint8_t* data, uint8_t numBytes);</div>
<div class="line"><a name="l00821"></a><span class="lineno"> 821</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="l00822"></a><span class="lineno"> 822</span>&#160; int16_t setRx(uint16_t periodBaseCount, uint8_t periodBase = SX128X_PERIOD_BASE_15_625_US);</div>
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; int16_t setCad();</div>
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; uint8_t getPacketType();</div>
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; int16_t setRfFrequency(uint32_t frf);</div>
<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; int16_t setTxParams(uint8_t power, uint8_t rampTime = SX128X_PA_RAMP_10_US);</div>
<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);</div>
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; int16_t setModulationParams(uint8_t modParam1, uint8_t modParam2, uint8_t modParam3);</div>
<div class="line"><a name="l00829"></a><span class="lineno"> 829</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="l00830"></a><span class="lineno"> 830</span>&#160; int16_t setPacketParamsBLE(uint8_t connState, uint8_t crcLen, uint8_t bleTestPayload, uint8_t whitening);</div>
<div class="line"><a name="l00831"></a><span class="lineno"> 831</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="l00832"></a><span class="lineno"> 832</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="l00833"></a><span class="lineno"> 833</span>&#160; uint16_t getIrqStatus();</div>
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; int16_t clearIrqStatus(uint16_t clearIrqParams = SX128X_IRQ_ALL);</div>
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; int16_t setRangingRole(uint8_t role);</div>
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; int16_t setPacketType(uint8_t type);</div>
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; </div>
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; int16_t setHeaderType(uint8_t headerType, <span class="keywordtype">size_t</span> len = 0xFF);</div>
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; </div>
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160;<span class="preprocessor">#if !defined(RADIOLIB_GODMODE) &amp;&amp; !defined(RADIOLIB_LOW_LEVEL)</span></div>
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; </div>
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; <span class="comment">// common low-level SPI interface</span></div>
<div class="line"><a name="l00845"></a><span class="lineno"> 845</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="l00846"></a><span class="lineno"> 846</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="l00847"></a><span class="lineno"> 847</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="l00848"></a><span class="lineno"> 848</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="l00849"></a><span class="lineno"> 849</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="l00850"></a><span class="lineno"> 850</span>&#160; </div>
<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160;<span class="preprocessor">#if !defined(RADIOLIB_GODMODE)</span></div>
<div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <span class="comment">// common parameters</span></div>
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; uint8_t _pwr = 0;</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; <span class="comment">// cached GFSK parameters</span></div>
<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; <span class="keywordtype">float</span> _modIndexReal = 0;</div>
<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; uint16_t _brKbps = 0;</div>
<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; uint8_t _br = 0, _modIndex = 0, _shaping = 0;</div>
<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; uint8_t _preambleLengthGFSK = 0, _syncWordLen = 0, _syncWordMatch = 0, _crcGFSK = 0, _whitening = 0;</div>
<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; </div>
<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="comment">// cached FLRC parameters</span></div>
<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; uint8_t _crFLRC = 0;</div>
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; </div>
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; <span class="comment">// cached BLE parameters</span></div>
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; uint8_t _connectionState = 0, _crcBLE = 0, _bleTestPayload = 0;</div>
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; </div>
<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; int16_t config(uint8_t modem);</div>
<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160;};</div>
<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; </div>
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; </div>
<div class="line"><a name="l00874"></a><span class="lineno"> 874</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:10</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_a95637e8addc48b0e1c30c2cf6f54354a"><div class="ttname"><a href="class_s_x128x.html#a95637e8addc48b0e1c30c2cf6f54354a">SX128x::randomByte</a></div><div class="ttdeci">uint8_t randomByte()</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_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_a2dd0ecae9f54cf6943cf702ae15f5039"><div class="ttname"><a href="class_s_x128x.html#a2dd0ecae9f54cf6943cf702ae15f5039">SX128x::readBit</a></div><div class="ttdeci">void readBit(RADIOLIB_PIN_TYPE pin)</div><div class="ttdoc">Dummy method, to ensure PhysicalLayer compatibility.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:1161</div></div>
<div class="ttc" id="aclass_s_x128x_html_aff1b549077b9d752f53bf9dfc6840236"><div class="ttname"><a href="class_s_x128x.html#aff1b549077b9d752f53bf9dfc6840236">SX128x::setDirectAction</a></div><div class="ttdeci">void setDirectAction(void(*func)(void))</div><div class="ttdoc">Dummy method, to ensure PhysicalLayer compatibility.</div><div class="ttdef"><b>Definition:</b> SX128x.cpp:1155</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_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:59</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:14</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:100</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:51</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>