146 lines
113 KiB
HTML
146 lines
113 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
<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>
|
|
<script type="text/javascript">
|
|
$(document).ready(initResizable);
|
|
</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.13 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
</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">
|
|
$(document).ready(function(){initNavTree('_s_x128x_8h_source.html','');});
|
|
</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> <span class="preprocessor">#if !defined(_RADIOLIB_SX128X_H)</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define _RADIOLIB_SX128X_H</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> </div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include "../../TypeDef.h"</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#if !defined(RADIOLIB_EXCLUDE_SX128X)</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include "../../Module.h"</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> </div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include "../../protocols/PhysicalLayer/PhysicalLayer.h"</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> </div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// SX128X physical layer properties</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#define SX128X_FREQUENCY_STEP_SIZE 198.3642578</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#define SX128X_MAX_PACKET_LENGTH 255</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#define SX128X_CRYSTAL_FREQ 52.0</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#define SX128X_DIV_EXPONENT 18</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// SX128X SPI commands</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#define SX128X_CMD_NOP 0x00</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#define SX128X_CMD_GET_STATUS 0xC0</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#define SX128X_CMD_WRITE_REGISTER 0x18</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#define SX128X_CMD_READ_REGISTER 0x19</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#define SX128X_CMD_WRITE_BUFFER 0x1A</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#define SX128X_CMD_READ_BUFFER 0x1B</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#define SX128X_CMD_SET_SLEEP 0x84</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#define SX128X_CMD_SET_STANDBY 0x80</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#define SX128X_CMD_SET_FS 0xC1</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#define SX128X_CMD_SET_TX 0x83</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#define SX128X_CMD_SET_RX 0x82</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <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> <span class="preprocessor">#define SX128X_CMD_SET_CAD 0xC5</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <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> <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> <span class="preprocessor">#define SX128X_CMD_SET_PACKET_TYPE 0x8A</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#define SX128X_CMD_GET_PACKET_TYPE 0x03</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#define SX128X_CMD_SET_RF_FREQUENCY 0x86</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#define SX128X_CMD_SET_TX_PARAMS 0x8E</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#define SX128X_CMD_SET_CAD_PARAMS 0x88</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <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> <span class="preprocessor">#define SX128X_CMD_SET_MODULATION_PARAMS 0x8B</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#define SX128X_CMD_SET_PACKET_PARAMS 0x8C</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <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> <span class="preprocessor">#define SX128X_CMD_GET_PACKET_STATUS 0x1D</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#define SX128X_CMD_GET_RSSI_INST 0x1F</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <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> <span class="preprocessor">#define SX128X_CMD_GET_IRQ_STATUS 0x15</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#define SX128X_CMD_CLEAR_IRQ_STATUS 0x97</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#define SX128X_CMD_SET_REGULATOR_MODE 0x96</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#define SX128X_CMD_SET_SAVE_CONTEXT 0xD5</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#define SX128X_CMD_SET_AUTO_TX 0x98</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#define SX128X_CMD_SET_AUTO_FS 0x9E</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <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> <span class="preprocessor">#define SX128X_CMD_SET_LONG_PREAMBLE 0x9B</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#define SX128X_CMD_SET_UART_SPEED 0x9D</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#define SX128X_CMD_SET_RANGING_ROLE 0xA3</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#define SX128X_CMD_SET_ADVANCED_RANGING 0x9A</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">// SX128X register map</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#define SX128X_REG_SYNC_WORD_1_BYTE_4 0x09CE</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#define SX128X_REG_SYNC_WORD_1_BYTE_3 0x09CF</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#define SX128X_REG_SYNC_WORD_1_BYTE_2 0x09D0</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#define SX128X_REG_SYNC_WORD_1_BYTE_1 0x09D1</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#define SX128X_REG_SYNC_WORD_1_BYTE_0 0x09D2</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#define SX128X_REG_SYNC_WORD_2_BYTE_4 0x09D3</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#define SX128X_REG_SYNC_WORD_2_BYTE_3 0x09D4</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#define SX128X_REG_SYNC_WORD_2_BYTE_2 0x09D5</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#define SX128X_REG_SYNC_WORD_2_BYTE_1 0x09D6</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#define SX128X_REG_SYNC_WORD_2_BYTE_0 0x09D7</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#define SX128X_REG_SYNC_WORD_3_BYTE_4 0x09D8</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#define SX128X_REG_SYNC_WORD_3_BYTE_3 0x09D9</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#define SX128X_REG_SYNC_WORD_3_BYTE_2 0x09DA</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#define SX128X_REG_SYNC_WORD_3_BYTE_1 0x09DB</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#define SX128X_REG_SYNC_WORD_3_BYTE_0 0x09DC</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#define SX128X_REG_CRC_INITIAL_MSB 0x09C8</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#define SX128X_REG_CRC_INITIAL_LSB 0x09C9</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor">#define SX128X_REG_CRC_POLYNOMIAL_MSB 0x09C6</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor">#define SX128X_REG_CRC_POLYNOMIAL_LSB 0x09C7</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor">#define SX128X_REG_ACCESS_ADDRESS_BYTE_3 (SX128X_REG_SYNC_WORD_1_BYTE_3)</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor">#define SX128X_REG_ACCESS_ADDRESS_BYTE_2 (SX128X_REG_SYNC_WORD_1_BYTE_2)</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor">#define SX128X_REG_ACCESS_ADDRESS_BYTE_1 (SX128X_REG_SYNC_WORD_1_BYTE_1)</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor">#define SX128X_REG_ACCESS_ADDRESS_BYTE_0 (SX128X_REG_SYNC_WORD_1_BYTE_0)</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor">#define SX128X_REG_BLE_CRC_INITIAL_MSB 0x09C7</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor">#define SX128X_REG_BLE_CRC_INITIAL_MID (SX128X_REG_CRC_INITIAL_MSB)</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor">#define SX128X_REG_BLE_CRC_INITIAL_LSB (SX128X_REG_CRC_INITIAL_LSB)</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor">#define SX128X_REG_SLAVE_RANGING_ADDRESS_BYTE_3 0x0916</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor">#define SX128X_REG_SLAVE_RANGING_ADDRESS_BYTE_2 0x0917</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor">#define SX128X_REG_SLAVE_RANGING_ADDRESS_BYTE_1 0x0918</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor">#define SX128X_REG_SLAVE_RANGING_ADDRESS_BYTE_0 0x0919</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor">#define SX128X_REG_SLAVE_RANGING_ADDRESS_WIDTH 0x0931</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor">#define SX128X_REG_MASTER_RANGING_ADDRESS_BYTE_3 0x0912</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor">#define SX128X_REG_MASTER_RANGING_ADDRESS_BYTE_2 0x0913</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor">#define SX128X_REG_MASTER_RANGING_ADDRESS_BYTE_1 0x0914</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor">#define SX128X_REG_MASTER_RANGING_ADDRESS_BYTE_0 0x0915</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor">#define SX128X_REG_RANGING_CALIBRATION_MSB 0x092C</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor">#define SX128X_REG_RANGING_CALIBRATION_LSB 0x092D</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor">#define SX128X_REG_RANGING_RESULT_MSB 0x0961</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#define SX128X_REG_RANGING_RESULT_MID 0x0962</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor">#define SX128X_REG_RANGING_RESULT_LSB 0x0963</span></div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor">#define SX128X_REG_MANUAL_GAIN_CONTROL_ENABLE_1 0x089F</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor">#define SX128X_REG_MANUAL_GAIN_CONTROL_ENABLE_2 0x0895</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor">#define SX128X_REG_MANUAL_GAIN_SETTING 0x089E</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="preprocessor">#define SX128X_REG_GAIN_MODE 0x0891</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="preprocessor">#define SX128X_REG_LORA_FIXED_PAYLOAD_LENGTH 0x0901</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor">#define SX128X_REG_LORA_SF_CONFIG 0x0925</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor">#define SX128X_REG_FEI_MSB 0x0954</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor">#define SX128X_REG_FEI_MID 0x0955</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor">#define SX128X_REG_FEI_LSB 0x0956</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor">#define SX128X_REG_RANGING_FILTER_WINDOW_SIZE 0x091E</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor">#define SX128X_REG_RANGING_FILTER_RSSI_OFFSET 0x0953</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor">#define SX128X_REG_RANGING_FILTER_RESET 0x0923</span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor">#define SX128X_REG_RANGING_LORA_CLOCK_ENABLE 0x097F</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="preprocessor">#define SX128X_REG_RANGING_TYPE 0x0924</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="preprocessor">#define SX128X_REG_RANGING_ADDRESS_SWITCH 0x0927</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor">#define SX128X_REG_RANGING_ADDRESS_MSB 0x095F</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor">#define SX128X_REG_RANGING_ADDRESS_LSB 0x0960</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">// SX128X SPI command variables</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">//SX128X_CMD_GET_STATUS MSB LSB DESCRIPTION</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor">#define SX128X_STATUS_MODE_STDBY_RC 0b01000000 // 7 5 current chip mode: STDBY_RC</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor">#define SX128X_STATUS_MODE_STDBY_XOSC 0b01100000 // 7 5 STDBY_XOSC</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="preprocessor">#define SX128X_STATUS_MODE_FS 0b10000000 // 7 5 FS</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor">#define SX128X_STATUS_MODE_RX 0b10100000 // 7 5 Rx</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="preprocessor">#define SX128X_STATUS_MODE_TX 0b11000000 // 7 5 Tx</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="preprocessor">#define SX128X_STATUS_CMD_PROCESSED 0b00000100 // 4 2 command status: processing OK</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="preprocessor">#define SX128X_STATUS_DATA_AVAILABLE 0b00001000 // 4 2 data available</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="preprocessor">#define SX128X_STATUS_CMD_TIMEOUT 0b00001100 // 4 2 timeout</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="preprocessor">#define SX128X_STATUS_CMD_ERROR 0b00010000 // 4 2 processing error</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor">#define SX128X_STATUS_CMD_FAILED 0b00010100 // 4 2 failed to execute</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="preprocessor">#define SX128X_STATUS_TX_DONE 0b00011000 // 4 2 transmission finished</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor">#define SX128X_STATUS_BUSY 0b00000001 // 0 0 chip busy</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="preprocessor">#define SX128X_STATUS_SPI_FAILED 0b11111111 // 7 0 SPI transaction failed</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">//SX128X_CMD_SET_SLEEP</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <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="l00136"></a><span class="lineno"> 136</span> <span class="preprocessor">#define SX128X_SLEEP_DATA_BUFFER_RETAIN 0b00000010 // 1 1 retain</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <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="l00138"></a><span class="lineno"> 138</span> <span class="preprocessor">#define SX128X_SLEEP_DATA_RAM_RETAIN 0b00000001 // 0 0 retain</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">//SX128X_CMD_SET_STANDBY</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="preprocessor">#define SX128X_STANDBY_RC 0x00 // 7 0 standby mode: 13 MHz RC oscillator</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="preprocessor">#define SX128X_STANDBY_XOSC 0x01 // 7 0 52 MHz crystal oscillator</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">//SX128X_CMD_SET_TX + SX128X_CMD_SET_RX + SX128X_CMD_SET_RX_DUTY_CYCLE</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <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="l00146"></a><span class="lineno"> 146</span> <span class="preprocessor">#define SX128X_PERIOD_BASE_62_5_US 0x01 // 7 0 62.5 us</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="preprocessor">#define SX128X_PERIOD_BASE_1_MS 0x02 // 7 0 1 ms</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="preprocessor">#define SX128X_PERIOD_BASE_4_MS 0x03 // 7 0 4 ms</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">//SX128X_CMD_SET_TX</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <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="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">//SX128X_CMD_SET_RX</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <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="l00155"></a><span class="lineno"> 155</span> <span class="preprocessor">#define SX128X_RX_TIMEOUT_INF 0xFFFF // 15 0 infinite (Rx continuous mode)</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment">//SX128X_CMD_SET_PACKET_TYPE</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="preprocessor">#define SX128X_PACKET_TYPE_GFSK 0x00 // 7 0 packet type: (G)FSK</span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="preprocessor">#define SX128X_PACKET_TYPE_LORA 0x01 // 7 0 LoRa</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="preprocessor">#define SX128X_PACKET_TYPE_RANGING 0x02 // 7 0 ranging engine</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="preprocessor">#define SX128X_PACKET_TYPE_FLRC 0x03 // 7 0 FLRC</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="preprocessor">#define SX128X_PACKET_TYPE_BLE 0x04 // 7 0 BLE</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">//SX128X_CMD_SET_TX_PARAMS</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="preprocessor">#define SX128X_PA_RAMP_02_US 0x00 // 7 0 PA ramp time: 2 us</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor">#define SX128X_PA_RAMP_04_US 0x20 // 7 0 4 us</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="preprocessor">#define SX128X_PA_RAMP_06_US 0x40 // 7 0 6 us</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="preprocessor">#define SX128X_PA_RAMP_08_US 0x60 // 7 0 8 us</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="preprocessor">#define SX128X_PA_RAMP_10_US 0x80 // 7 0 10 us</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="preprocessor">#define SX128X_PA_RAMP_12_US 0xA0 // 7 0 12 us</span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor">#define SX128X_PA_RAMP_16_US 0xC0 // 7 0 16 us</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="preprocessor">#define SX128X_PA_RAMP_20_US 0xE0 // 7 0 20 us</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">//SX128X_CMD_SET_CAD_PARAMS</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <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="l00176"></a><span class="lineno"> 176</span> <span class="preprocessor">#define SX128X_CAD_ON_2_SYMB 0x20 // 7 0 2</span></div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor">#define SX128X_CAD_ON_4_SYMB 0x40 // 7 0 4</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor">#define SX128X_CAD_ON_8_SYMB 0x60 // 7 0 8</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor">#define SX128X_CAD_ON_16_SYMB 0x80 // 7 0 16</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">//SX128X_CMD_SET_MODULATION_PARAMS</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <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="l00183"></a><span class="lineno"> 183</span> <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="l00184"></a><span class="lineno"> 184</span> <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="l00185"></a><span class="lineno"> 185</span> <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="l00186"></a><span class="lineno"> 186</span> <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="l00187"></a><span class="lineno"> 187</span> <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="l00188"></a><span class="lineno"> 188</span> <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="l00189"></a><span class="lineno"> 189</span> <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="l00190"></a><span class="lineno"> 190</span> <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="l00191"></a><span class="lineno"> 191</span> <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="l00192"></a><span class="lineno"> 192</span> <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="l00193"></a><span class="lineno"> 193</span> <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="l00194"></a><span class="lineno"> 194</span> <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="l00195"></a><span class="lineno"> 195</span> <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="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_0_50 0x01 // 7 0 0.50</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_0_75 0x02 // 7 0 0.75</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_1_00 0x03 // 7 0 1.00</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_1_25 0x04 // 7 0 1.25</span></div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_1_50 0x05 // 7 0 1.50</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_1_75 0x06 // 7 0 1.75</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_2_00 0x07 // 7 0 2.00</span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_2_25 0x08 // 7 0 2.25</span></div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_2_50 0x09 // 7 0 2.50</span></div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_2_75 0x0A // 7 0 2.75</span></div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_3_00 0x0B // 7 0 3.00</span></div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_3_25 0x0C // 7 0 3.25</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_3_50 0x0D // 7 0 3.50</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_3_75 0x0E // 7 0 3.75</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="preprocessor">#define SX128X_BLE_GFSK_MOD_IND_4_00 0x0F // 7 0 4.00</span></div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <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="l00212"></a><span class="lineno"> 212</span> <span class="preprocessor">#define SX128X_BLE_GFSK_BT_1_0 0x10 // 7 0 1.0</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="preprocessor">#define SX128X_BLE_GFSK_BT_0_5 0x20 // 7 0 0.5</span></div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <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="l00215"></a><span class="lineno"> 215</span> <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="l00216"></a><span class="lineno"> 216</span> <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="l00217"></a><span class="lineno"> 217</span> <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="l00218"></a><span class="lineno"> 218</span> <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="l00219"></a><span class="lineno"> 219</span> <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="l00220"></a><span class="lineno"> 220</span> <span class="preprocessor">#define SX128X_FLRC_CR_1_2 0x00 // 7 0 FLRC coding rate: 1/2</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="preprocessor">#define SX128X_FLRC_CR_3_4 0x02 // 7 0 3/4</span></div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="preprocessor">#define SX128X_FLRC_CR_1_0 0x04 // 7 0 1/1</span></div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <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="l00224"></a><span class="lineno"> 224</span> <span class="preprocessor">#define SX128X_FLRC_BT_1_0 0x10 // 7 0 1.0</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="preprocessor">#define SX128X_FLRC_BT_0_5 0x20 // 7 0 0.5</span></div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="preprocessor">#define SX128X_LORA_SF_5 0x50 // 7 0 LoRa spreading factor: 5</span></div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="preprocessor">#define SX128X_LORA_SF_6 0x60 // 7 0 6</span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="preprocessor">#define SX128X_LORA_SF_7 0x70 // 7 0 7</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="preprocessor">#define SX128X_LORA_SF_8 0x80 // 7 0 8</span></div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="preprocessor">#define SX128X_LORA_SF_9 0x90 // 7 0 9</span></div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="preprocessor">#define SX128X_LORA_SF_10 0xA0 // 7 0 10</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="preprocessor">#define SX128X_LORA_SF_11 0xB0 // 7 0 11</span></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="preprocessor">#define SX128X_LORA_SF_12 0xC0 // 7 0 12</span></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="preprocessor">#define SX128X_LORA_BW_1625_00 0x0A // 7 0 LoRa bandwidth: 1625.0 kHz</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="preprocessor">#define SX128X_LORA_BW_812_50 0x18 // 7 0 812.5 kHz</span></div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="preprocessor">#define SX128X_LORA_BW_406_25 0x26 // 7 0 406.25 kHz</span></div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="preprocessor">#define SX128X_LORA_BW_203_125 0x34 // 7 0 203.125 kHz</span></div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="preprocessor">#define SX128X_LORA_CR_4_5 0x01 // 7 0 LoRa coding rate: 4/5</span></div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="preprocessor">#define SX128X_LORA_CR_4_6 0x02 // 7 0 4/6</span></div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="preprocessor">#define SX128X_LORA_CR_4_7 0x03 // 7 0 4/7</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="preprocessor">#define SX128X_LORA_CR_4_8 0x04 // 7 0 4/8</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="preprocessor">#define SX128X_LORA_CR_4_5_LI 0x05 // 7 0 4/5, long interleaving</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="preprocessor">#define SX128X_LORA_CR_4_6_LI 0x06 // 7 0 4/6, long interleaving</span></div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="preprocessor">#define SX128X_LORA_CR_4_7_LI 0x07 // 7 0 4/7, long interleaving</span></div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment">//SX128X_CMD_SET_PACKET_PARAMS</span></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <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="l00248"></a><span class="lineno"> 248</span> <span class="preprocessor">#define SX128X_GFSK_FLRC_SYNC_WORD_1 0x10 // 7 0 sync word 1</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="preprocessor">#define SX128X_GFSK_FLRC_SYNC_WORD_2 0x20 // 7 0 sync word 2</span></div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <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="l00251"></a><span class="lineno"> 251</span> <span class="preprocessor">#define SX128X_GFSK_FLRC_SYNC_WORD_3 0x40 // 7 0 sync word 3</span></div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <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="l00253"></a><span class="lineno"> 253</span> <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="l00254"></a><span class="lineno"> 254</span> <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="l00255"></a><span class="lineno"> 255</span> <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="l00256"></a><span class="lineno"> 256</span> <span class="preprocessor">#define SX128X_GFSK_FLRC_PACKET_VARIABLE 0x20 // 7 0 variable</span></div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="preprocessor">#define SX128X_GFSK_FLRC_CRC_OFF 0x00 // 7 0 GFSK/FLRC packet CRC: none</span></div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="preprocessor">#define SX128X_GFSK_FLRC_CRC_1_BYTE 0x10 // 7 0 1 byte</span></div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="preprocessor">#define SX128X_GFSK_FLRC_CRC_2_BYTE 0x20 // 7 0 2 bytes</span></div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="preprocessor">#define SX128X_GFSK_FLRC_CRC_3_BYTE 0x30 // 7 0 3 bytes (FLRC only)</span></div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="preprocessor">#define SX128X_GFSK_BLE_WHITENING_ON 0x00 // 7 0 GFSK/BLE whitening: enabled</span></div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="preprocessor">#define SX128X_GFSK_BLE_WHITENING_OFF 0x08 // 7 0 disabled</span></div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <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="l00264"></a><span class="lineno"> 264</span> <span class="preprocessor">#define SX128X_BLE_PAYLOAD_LENGTH_MAX_37 0x20 // 7 0 37 bytes</span></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="preprocessor">#define SX128X_BLE_PAYLOAD_LENGTH_TEST 0x40 // 7 0 63 bytes (test mode)</span></div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <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="l00267"></a><span class="lineno"> 267</span> <span class="preprocessor">#define SX128X_BLE_CRC_OFF 0x00 // 7 0 BLE packet CRC: none</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="preprocessor">#define SX128X_BLE_CRC_3_BYTE 0x10 // 7 0 3 byte</span></div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <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="l00270"></a><span class="lineno"> 270</span> <span class="preprocessor">#define SX128X_BLE_EYELONG 0x04 // 7 0 repeated 0xF0</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="preprocessor">#define SX128X_BLE_EYESHORT 0x08 // 7 0 repeated 0xAA</span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <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="l00273"></a><span class="lineno"> 273</span> <span class="preprocessor">#define SX128X_BLE_ALL_1 0x10 // 7 0 repeated 0xFF</span></div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="preprocessor">#define SX128X_BLE_ALL_0 0x14 // 7 0 repeated 0x00</span></div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="preprocessor">#define SX128X_BLE_EYELONG_INV 0x18 // 7 0 repeated 0x0F</span></div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="preprocessor">#define SX128X_BLE_EYESHORT_INV 0x1C // 7 0 repeated 0x55</span></div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="preprocessor">#define SX128X_FLRC_SYNC_WORD_OFF 0x00 // 7 0 FLRC sync word: disabled</span></div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="preprocessor">#define SX128X_FLRC_SYNC_WORD_ON 0x04 // 7 0 enabled</span></div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="preprocessor">#define SX128X_LORA_HEADER_EXPLICIT 0x00 // 7 0 LoRa header mode: explicit</span></div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="preprocessor">#define SX128X_LORA_HEADER_IMPLICIT 0x80 // 7 0 implicit</span></div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="preprocessor">#define SX128X_LORA_CRC_OFF 0x00 // 7 0 LoRa packet CRC: disabled</span></div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="preprocessor">#define SX128X_LORA_CRC_ON 0x20 // 7 0 enabled</span></div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="preprocessor">#define SX128X_LORA_IQ_STANDARD 0x40 // 7 0 LoRa IQ: standard</span></div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="preprocessor">#define SX128X_LORA_IQ_INVERTED 0x00 // 7 0 inverted</span></div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment">//SX128X_CMD_GET_PACKET_STATUS</span></div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <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="l00288"></a><span class="lineno"> 288</span> <span class="preprocessor">#define SX128X_PACKET_STATUS_LENGTH_ERROR 0b00100000 // 5 5 packet length error</span></div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="preprocessor">#define SX128X_PACKET_STATUS_CRC_ERROR 0b00010000 // 4 4 CRC error</span></div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="preprocessor">#define SX128X_PACKET_STATUS_ABORT_ERROR 0b00001000 // 3 3 packet reception aborted</span></div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="preprocessor">#define SX128X_PACKET_STATUS_HEADER_RECEIVED 0b00000100 // 2 2 header received</span></div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="preprocessor">#define SX128X_PACKET_STATUS_PACKET_RECEIVED 0b00000010 // 1 1 packet received</span></div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="preprocessor">#define SX128X_PACKET_STATUS_PACKET_CTRL_BUSY 0b00000001 // 0 0 packet controller is busy</span></div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <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="l00295"></a><span class="lineno"> 295</span> <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="l00296"></a><span class="lineno"> 296</span> <span class="preprocessor">#define SX128X_PACKET_STATUS_RX_PID_ERROR 0b00010000 // 4 4 PID field error</span></div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="preprocessor">#define SX128X_PACKET_STATUS_PACKET_SENT 0b00000001 // 0 0 packet sent</span></div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <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="l00299"></a><span class="lineno"> 299</span> <span class="preprocessor">#define SX128X_PACKET_STATUS_SYNC_DET_1 0b00000001 // 2 0 detected sync word 1</span></div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="preprocessor">#define SX128X_PACKET_STATUS_SYNC_DET_2 0b00000010 // 2 0 detected sync word 2</span></div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="preprocessor">#define SX128X_PACKET_STATUS_SYNC_DET_3 0b00000100 // 2 0 detected sync word 3</span></div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment">//SX128X_CMD_SET_DIO_IRQ_PARAMS</span></div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="preprocessor">#define SX128X_IRQ_PREAMBLE_DETECTED 0x8000 // 15 15 interrupt source: preamble detected</span></div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="preprocessor">#define SX128X_IRQ_ADVANCED_RANGING_DONE 0x8000 // 15 15 advanced ranging done</span></div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="preprocessor">#define SX128X_IRQ_RX_TX_TIMEOUT 0x4000 // 14 14 Rx or Tx timeout</span></div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="preprocessor">#define SX128X_IRQ_CAD_DETECTED 0x2000 // 13 13 channel activity detected</span></div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="preprocessor">#define SX128X_IRQ_CAD_DONE 0x1000 // 12 12 CAD finished</span></div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="preprocessor">#define SX128X_IRQ_RANGING_SLAVE_REQ_VALID 0x0800 // 11 11 ranging request valid (slave)</span></div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="preprocessor">#define SX128X_IRQ_RANGING_MASTER_TIMEOUT 0x0400 // 10 10 ranging timeout (master)</span></div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="preprocessor">#define SX128X_IRQ_RANGING_MASTER_RES_VALID 0x0200 // 9 9 ranging result valid (master)</span></div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="preprocessor">#define SX128X_IRQ_RANGING_SLAVE_REQ_DISCARD 0x0100 // 8 8 ranging result valid (master)</span></div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="preprocessor">#define SX128X_IRQ_RANGING_SLAVE_RESP_DONE 0x0080 // 7 7 ranging response complete (slave)</span></div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="preprocessor">#define SX128X_IRQ_CRC_ERROR 0x0040 // 6 6 CRC error</span></div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="preprocessor">#define SX128X_IRQ_HEADER_ERROR 0x0020 // 5 5 header error</span></div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="preprocessor">#define SX128X_IRQ_HEADER_VALID 0x0010 // 4 4 header valid</span></div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="preprocessor">#define SX128X_IRQ_SYNC_WORD_ERROR 0x0008 // 3 3 sync word error</span></div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="preprocessor">#define SX128X_IRQ_SYNC_WORD_VALID 0x0004 // 2 2 sync word valid</span></div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="preprocessor">#define SX128X_IRQ_RX_DONE 0x0002 // 1 1 Rx done</span></div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="preprocessor">#define SX128X_IRQ_TX_DONE 0x0001 // 0 0 Tx done</span></div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="preprocessor">#define SX128X_IRQ_NONE 0x0000 // 15 0 none</span></div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="preprocessor">#define SX128X_IRQ_ALL 0xFFFF // 15 0 all</span></div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment">//SX128X_CMD_SET_REGULATOR_MODE</span></div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="preprocessor">#define SX128X_REGULATOR_LDO 0x00 // 7 0 set regulator mode: LDO (default)</span></div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="preprocessor">#define SX128X_REGULATOR_DC_DC 0x01 // 7 0 DC-DC</span></div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="comment">//SX128X_CMD_SET_RANGING_ROLE</span></div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="preprocessor">#define SX128X_RANGING_ROLE_MASTER 0x01 // 7 0 ranging role: master</span></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="preprocessor">#define SX128X_RANGING_ROLE_SLAVE 0x00 // 7 0 slave</span></div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div><div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="class_s_x128x.html"> 339</a></span> <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="l00340"></a><span class="lineno"> 340</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="comment">// introduce PhysicalLayer overloads</span></div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#ab139a34e03a6fd5a781cd54da21d308f">PhysicalLayer::transmit</a>;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#afb1b090348d9091bfa3a0b5ba3d85b36">PhysicalLayer::receive</a>;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#af068e6e862c99e39d0261a7971dd56db">PhysicalLayer::startTransmit</a>;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#ae8eed0e888a7c8742e89d2b850977de2">PhysicalLayer::readData</a>;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <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="l00353"></a><span class="lineno"> 353</span> </div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="comment">// basic methods</span></div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  int16_t <a class="code" href="class_s_x128x.html#a520bb5a5daa1fee6c0d6704fa929cf35">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, int8_t power = 10, uint16_t preambleLength = 12);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  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="l00391"></a><span class="lineno"> 391</span> </div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  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="l00408"></a><span class="lineno"> 408</span> </div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  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="l00427"></a><span class="lineno"> 427</span> </div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  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="l00437"></a><span class="lineno"> 437</span> </div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  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="l00451"></a><span class="lineno"> 451</span> </div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  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="l00463"></a><span class="lineno"> 463</span> </div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  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="l00472"></a><span class="lineno"> 472</span> </div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  int16_t <a class="code" href="class_s_x128x.html#aff7d86352c98771595375e17d19a2a97">receiveDirect</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  int16_t <a class="code" href="class_s_x128x.html#a89cc916f5cd5cdfbd331bb15f8a3d5cb">scanChannel</a>();</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  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="l00496"></a><span class="lineno"> 496</span> </div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  int16_t <a class="code" href="class_s_x128x.html#a2be8cc6c3b61b59cb6a6ca4f6a030b45">standby</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  int16_t <a class="code" href="class_s_x128x.html#a2be8cc6c3b61b59cb6a6ca4f6a030b45">standby</a>(uint8_t mode);</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="comment">// interrupt methods</span></div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <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="l00521"></a><span class="lineno"> 521</span> </div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordtype">void</span> <a class="code" href="class_s_x128x.html#ab8a3fe8e2843fa039ef369668f1a423f">clearDio1Action</a>();</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span> </div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  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="l00540"></a><span class="lineno"> 540</span> </div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  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="l00549"></a><span class="lineno"> 549</span> </div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  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="l00560"></a><span class="lineno"> 560</span> </div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <span class="comment">// configuration methods</span></div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  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="l00571"></a><span class="lineno"> 571</span> </div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  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="l00580"></a><span class="lineno"> 580</span> </div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  int16_t <a class="code" href="class_s_x128x.html#ae435f57132f76f4283abb870176acf54">setSpreadingFactor</a>(uint8_t sf);</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span> </div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  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="l00600"></a><span class="lineno"> 600</span> </div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  int16_t <a class="code" href="class_s_x128x.html#ad6e2b46c317a8d8512cf0380025147a9">setOutputPower</a>(int8_t power);</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span> </div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  int16_t <a class="code" href="class_s_x128x.html#a1984a405262f155f16a4759c5f6b0133">setPreambleLength</a>(uint32_t preambleLength);</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  int16_t <a class="code" href="class_s_x128x.html#a3bee00ec197ef9855c0079cb0a3009a6">setBitRate</a>(uint16_t br);</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span> </div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  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="l00636"></a><span class="lineno"> 636</span> </div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  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="l00646"></a><span class="lineno"> 646</span> </div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  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="l00657"></a><span class="lineno"> 657</span> </div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  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="l00670"></a><span class="lineno"> 670</span> </div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  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="l00679"></a><span class="lineno"> 679</span> </div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  int16_t <a class="code" href="class_s_x128x.html#a9346490a6c56edcff2e12ae0369a8df5">setAccessAddress</a>(uint32_t addr);</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span> </div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  <span class="keywordtype">float</span> <a class="code" href="class_s_x128x.html#a94d3003277925e2dc3372548b3311008">getRSSI</a>();</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span> </div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  <span class="keywordtype">float</span> <a class="code" href="class_s_x128x.html#a89ebf1f4f227cd35c0799c06d5d9c1d2">getSNR</a>();</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span> </div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <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="l00711"></a><span class="lineno"> 711</span> </div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  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="l00720"></a><span class="lineno"> 720</span> </div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  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="l00727"></a><span class="lineno"> 727</span> </div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  int16_t <a class="code" href="class_s_x128x.html#a94b7fb26cc99385d30b0c98b76d8188d">explicitHeader</a>();</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span> </div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  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="l00745"></a><span class="lineno"> 745</span> </div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <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="l00755"></a><span class="lineno"> 755</span> </div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="preprocessor">#ifndef RADIOLIB_GODMODE</span></div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  <span class="keyword">protected</span>:</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <a class="code" href="class_module.html">Module</a>* _mod;</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span> </div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  <span class="comment">// cached LoRa parameters</span></div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="keywordtype">float</span> _bwKhz = 0;</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  uint8_t _bw = 0, _sf = 0, _cr = 0;</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  uint8_t _preambleLengthLoRa = 0, _headerType = 0, _payloadLen = 0, _crcLoRa = 0;</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span> </div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="comment">// SX128x SPI command implementations</span></div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  uint8_t getStatus();</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  int16_t writeRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  int16_t writeBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  int16_t readBuffer(uint8_t* data, uint8_t numBytes);</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  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="l00773"></a><span class="lineno"> 773</span>  int16_t setRx(uint16_t periodBaseCount, uint8_t periodBase = SX128X_PERIOD_BASE_15_625_US);</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  int16_t setCad();</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  uint8_t getPacketType();</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  int16_t setRfFrequency(uint32_t frf);</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  int16_t setTxParams(uint8_t power, uint8_t rampTime = SX128X_PA_RAMP_10_US);</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  int16_t setModulationParams(uint8_t modParam1, uint8_t modParam2, uint8_t modParam3);</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  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="l00781"></a><span class="lineno"> 781</span>  int16_t setPacketParamsBLE(uint8_t connState, uint8_t crcLen, uint8_t bleTestPayload, uint8_t whitening);</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  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="l00783"></a><span class="lineno"> 783</span>  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="l00784"></a><span class="lineno"> 784</span>  uint16_t getIrqStatus();</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  int16_t clearIrqStatus(uint16_t clearIrqParams = SX128X_IRQ_ALL);</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  int16_t setRangingRole(uint8_t role);</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  int16_t setPacketType(uint8_t type);</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span> </div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  int16_t setHeaderType(uint8_t headerType, <span class="keywordtype">size_t</span> len = 0xFF);</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span> </div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="preprocessor">#ifndef RADIOLIB_GODMODE</span></div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  <span class="comment">// common parameters</span></div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  uint8_t _pwr = 0;</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span> </div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="comment">// cached GFSK parameters</span></div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="keywordtype">float</span> _modIndexReal = 0;</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  uint16_t _brKbps = 0;</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  uint8_t _br = 0, _modIndex = 0, _shaping = 0;</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  uint8_t _preambleLengthGFSK = 0, _syncWordLen = 0, _syncWordMatch = 0, _crcGFSK = 0, _whitening = 0;</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span> </div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="comment">// cached FLRC parameters</span></div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  uint8_t _crFLRC = 0;</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span> </div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <span class="comment">// cached BLE parameters</span></div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  uint8_t _connectionState = 0, _crcBLE = 0, _bleTestPayload = 0;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span> </div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  int16_t config(uint8_t modem);</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span> </div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="comment">// common low-level SPI interface</span></div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  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="l00813"></a><span class="lineno"> 813</span>  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="l00814"></a><span class="lineno"> 814</span>  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="l00815"></a><span class="lineno"> 815</span>  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="l00816"></a><span class="lineno"> 816</span>  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="l00817"></a><span class="lineno"> 817</span> };</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span> </div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="preprocessor">#endif</span></div><div class="ttc" id="class_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:1113</div></div>
|
|
<div class="ttc" id="class_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:983</div></div>
|
|
<div class="ttc" id="class_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:308</div></div>
|
|
<div class="ttc" id="class_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:430</div></div>
|
|
<div class="ttc" id="class_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:446</div></div>
|
|
<div class="ttc" id="class_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 &str, uint8_t addr=0)</div><div class="ttdoc">Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. </div><div class="ttdef"><b>Definition:</b> PhysicalLayer.cpp:49</div></div>
|
|
<div class="ttc" id="group__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="class_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:414</div></div>
|
|
<div class="ttc" id="class_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:1109</div></div>
|
|
<div class="ttc" id="class_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:1117</div></div>
|
|
<div class="ttc" id="class_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:227</div></div>
|
|
<div class="ttc" id="class_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, the sync word must be exactly 4 bytes long. </div><div class="ttdef"><b>Definition:</b> SX128x.cpp:851</div></div>
|
|
<div class="ttc" id="class_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:260</div></div>
|
|
<div class="ttc" id="class_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:1018</div></div>
|
|
<div class="ttc" id="class_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:737</div></div>
|
|
<div class="ttc" id="class_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:1045</div></div>
|
|
<div class="ttc" id="class_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:59</div></div>
|
|
<div class="ttc" id="class_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:1038</div></div>
|
|
<div class="ttc" id="class_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:621</div></div>
|
|
<div class="ttc" id="class_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:963</div></div>
|
|
<div class="ttc" id="class_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:591</div></div>
|
|
<div class="ttc" id="class_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:899</div></div>
|
|
<div class="ttc" id="class_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:361</div></div>
|
|
<div class="ttc" id="class_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:1121</div></div>
|
|
<div class="ttc" id="class_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:442</div></div>
|
|
<div class="ttc" id="class_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. Every module class contains one private instance of this class. </div><div class="ttdef"><b>Definition:</b> Module.h:17</div></div>
|
|
<div class="ttc" id="class_physical_layer_html_ab139a34e03a6fd5a781cd54da21d308f"><div class="ttname"><a href="class_physical_layer.html#ab139a34e03a6fd5a781cd54da21d308f">PhysicalLayer::transmit</a></div><div class="ttdeci">int16_t transmit(__FlashStringHelper *fstr, uint8_t addr=0)</div><div class="ttdoc">Arduino Flash String transmit method. </div><div class="ttdef"><b>Definition:</b> PhysicalLayer.cpp:8</div></div>
|
|
<div class="ttc" id="class_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:339</div></div>
|
|
<div class="ttc" id="class_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 &str, size_t len=0)</div><div class="ttdoc">Arduino String receive method. </div><div class="ttdef"><b>Definition:</b> PhysicalLayer.cpp:98</div></div>
|
|
<div class="ttc" id="class_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:583</div></div>
|
|
<div class="ttc" id="class_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:121</div></div>
|
|
<div class="ttc" id="class_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:547</div></div>
|
|
<div class="ttc" id="class_physical_layer_html"><div class="ttname"><a href="class_physical_layer.html">PhysicalLayer</a></div><div class="ttdoc">Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN...</div><div class="ttdef"><b>Definition:</b> PhysicalLayer.h:13</div></div>
|
|
<div class="ttc" id="class_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:369</div></div>
|
|
<div class="ttc" id="class_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="class_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:994</div></div>
|
|
<div class="ttc" id="class_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:689</div></div>
|
|
<div class="ttc" id="class_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:655</div></div>
|
|
<div class="ttc" id="class_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:169</div></div>
|
|
<div class="ttc" id="class_s_x128x_html_a520bb5a5daa1fee6c0d6704fa929cf35"><div class="ttname"><a href="class_s_x128x.html#a520bb5a5daa1fee6c0d6704fa929cf35">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, 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="class_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:514</div></div>
|
|
<div class="ttc" id="class_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:821</div></div>
|
|
<div class="ttc" id="class_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:794</div></div>
|
|
<div class="ttc" id="class_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:346</div></div>
|
|
<div class="ttc" id="class_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:683</div></div>
|
|
<div class="ttc" id="class_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 &str, size_t len=0)</div><div class="ttdoc">Reads data that was received after calling startReceive method. </div><div class="ttdef"><b>Definition:</b> PhysicalLayer.cpp:57</div></div>
|
|
<div class="ttc" id="class_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:450</div></div>
|
|
</div><!-- fragment --></div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_ddb4d7e95cc2d6c8e1ade10a20d7247d.html">modules</a></li><li class="navelem"><a class="el" href="dir_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.13 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|