RadioLibSmol/_s_x1278_8h_source.html
2020-08-22 08:35:55 +00:00

118 lines
37 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/SX127x/SX1278.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_x1278_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">SX1278.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#if !defined(_RADIOLIB_SX1278_H)</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define _RADIOLIB_SX1278_H</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;../../TypeDef.h&quot;</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#if !defined(RADIOLIB_EXCLUDE_SX127X)</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &quot;../../Module.h&quot;</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;SX127x.h&quot;</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// SX1278 specific register map</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#define SX1278_REG_MODEM_CONFIG_3 0x26</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#define SX1278_REG_PLL_HOP 0x44</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#define SX1278_REG_TCXO 0x4B</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#define SX1278_REG_PA_DAC 0x4D</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#define SX1278_REG_FORMER_TEMP 0x5B</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#define SX1278_REG_REG_BIT_RATE_FRAC 0x5D</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#define SX1278_REG_AGC_REF 0x61</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#define SX1278_REG_AGC_THRESH_1 0x62</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#define SX1278_REG_AGC_THRESH_2 0x63</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#define SX1278_REG_AGC_THRESH_3 0x64</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#define SX1278_REG_PLL 0x70</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// SX1278 LoRa modem settings</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">// SX1278_REG_OP_MODE MSB LSB DESCRIPTION</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#define SX1278_HIGH_FREQ 0b00000000 // 3 3 access HF test registers</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#define SX1278_LOW_FREQ 0b00001000 // 3 3 access LF test registers</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment">// SX1278_REG_FRF_MSB + REG_FRF_MID + REG_FRF_LSB</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#define SX1278_FRF_MSB 0x6C // 7 0 carrier frequency setting: f_RF = (F(XOSC) * FRF)/2^19</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define SX1278_FRF_MID 0x80 // 7 0 where F(XOSC) = 32 MHz</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#define SX1278_FRF_LSB 0x00 // 7 0 FRF = 3 byte value of FRF registers</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment">// SX1278_REG_PA_CONFIG</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#define SX1278_MAX_POWER 0b01110000 // 6 4 max power: P_max = 10.8 + 0.6*MAX_POWER [dBm]; P_max(MAX_POWER = 0b111) = 15 dBm</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#define SX1278_LOW_POWER 0b00100000 // 6 4</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="comment">// SX1278_REG_LNA</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#define SX1278_LNA_BOOST_LF_OFF 0b00000000 // 4 3 default LNA current</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment">// SX1278_REG_MODEM_CONFIG_1</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#define SX1278_BW_7_80_KHZ 0b00000000 // 7 4 bandwidth: 7.80 kHz</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#define SX1278_BW_10_40_KHZ 0b00010000 // 7 4 10.40 kHz</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#define SX1278_BW_15_60_KHZ 0b00100000 // 7 4 15.60 kHz</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#define SX1278_BW_20_80_KHZ 0b00110000 // 7 4 20.80 kHz</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#define SX1278_BW_31_25_KHZ 0b01000000 // 7 4 31.25 kHz</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#define SX1278_BW_41_70_KHZ 0b01010000 // 7 4 41.70 kHz</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#define SX1278_BW_62_50_KHZ 0b01100000 // 7 4 62.50 kHz</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#define SX1278_BW_125_00_KHZ 0b01110000 // 7 4 125.00 kHz</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#define SX1278_BW_250_00_KHZ 0b10000000 // 7 4 250.00 kHz</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#define SX1278_BW_500_00_KHZ 0b10010000 // 7 4 500.00 kHz</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#define SX1278_CR_4_5 0b00000010 // 3 1 error coding rate: 4/5</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#define SX1278_CR_4_6 0b00000100 // 3 1 4/6</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#define SX1278_CR_4_7 0b00000110 // 3 1 4/7</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#define SX1278_CR_4_8 0b00001000 // 3 1 4/8</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#define SX1278_HEADER_EXPL_MODE 0b00000000 // 0 0 explicit header mode</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#define SX1278_HEADER_IMPL_MODE 0b00000001 // 0 0 implicit header mode</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment">// SX1278_REG_MODEM_CONFIG_2</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor">#define SX1278_RX_CRC_MODE_OFF 0b00000000 // 2 2 CRC disabled</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor">#define SX1278_RX_CRC_MODE_ON 0b00000100 // 2 2 CRC enabled</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment">// SX1278_REG_MODEM_CONFIG_3</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor">#define SX1278_LOW_DATA_RATE_OPT_OFF 0b00000000 // 3 3 low data rate optimization disabled</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor">#define SX1278_LOW_DATA_RATE_OPT_ON 0b00001000 // 3 3 low data rate optimization enabled</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor">#define SX1278_AGC_AUTO_OFF 0b00000000 // 2 2 LNA gain set by REG_LNA</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor">#define SX1278_AGC_AUTO_ON 0b00000100 // 2 2 LNA gain set by internal AGC loop</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment">// SX127X_REG_VERSION</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor">#define SX1278_CHIP_VERSION 0x12</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment">// SX1278 FSK modem settings</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment">// SX127X_REG_PA_RAMP</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor">#define SX1278_NO_SHAPING 0b00000000 // 6 5 data shaping: no shaping (default)</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor">#define SX1278_FSK_GAUSSIAN_1_0 0b00100000 // 6 5 FSK modulation Gaussian filter, BT = 1.0</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor">#define SX1278_FSK_GAUSSIAN_0_5 0b01000000 // 6 5 FSK modulation Gaussian filter, BT = 0.5</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="preprocessor">#define SX1278_FSK_GAUSSIAN_0_3 0b01100000 // 6 5 FSK modulation Gaussian filter, BT = 0.3</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="preprocessor">#define SX1278_OOK_FILTER_BR 0b00100000 // 6 5 OOK modulation filter, f_cutoff = BR</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="preprocessor">#define SX1278_OOK_FILTER_2BR 0b01000000 // 6 5 OOK modulation filter, f_cutoff = 2*BR</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment">// SX1278_REG_AGC_REF</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor">#define SX1278_AGC_REFERENCE_LEVEL_LF 0x19 // 5 0 floor reference for AGC thresholds: AgcRef = -174 + 10*log(2*RxBw) + 8 + AGC_REFERENCE_LEVEL [dBm]: below 525 MHz</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="preprocessor">#define SX1278_AGC_REFERENCE_LEVEL_HF 0x1C // 5 0 above 779 MHz</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment">// SX1278_REG_AGC_THRESH_1</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="preprocessor">#define SX1278_AGC_STEP_1_LF 0x0C // 4 0 1st AGC threshold: below 525 MHz</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="preprocessor">#define SX1278_AGC_STEP_1_HF 0x0E // 4 0 above 779 MHz</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment">// SX1278_REG_AGC_THRESH_2</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor">#define SX1278_AGC_STEP_2_LF 0x40 // 7 4 2nd AGC threshold: below 525 MHz</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="preprocessor">#define SX1278_AGC_STEP_2_HF 0x50 // 7 4 above 779 MHz</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="preprocessor">#define SX1278_AGC_STEP_3 0x0B // 3 0 3rd AGC threshold</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment">// SX1278_REG_AGC_THRESH_3</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="preprocessor">#define SX1278_AGC_STEP_4 0xC0 // 7 4 4th AGC threshold</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="preprocessor">#define SX1278_AGC_STEP_5 0x0C // 4 0 5th AGC threshold</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="class_s_x1278.html"> 104</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_s_x1278.html">SX1278</a>: <span class="keyword">public</span> <a class="code" href="class_s_x127x.html">SX127x</a> {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="comment">// constructor</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="class_s_x1278.html#a00ebd3e60a66056940b241b13da0c68e">SX1278</a>(<a class="code" href="class_module.html">Module</a>* mod);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="comment">// basic methods</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; int16_t <a class="code" href="class_s_x1278.html#af7d9dc775820f7b260b578908cea3dbe">begin</a>(<span class="keywordtype">float</span> freq = 434.0, <span class="keywordtype">float</span> bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; int16_t <a class="code" href="class_s_x1278.html#a33dc718c83c233a1f93d6bdf2ec31783">beginFSK</a>(<span class="keywordtype">float</span> freq = 434.0, <span class="keywordtype">float</span> br = 48.0, <span class="keywordtype">float</span> freqDev = 50.0, <span class="keywordtype">float</span> rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, <span class="keywordtype">bool</span> enableOOK = <span class="keyword">false</span>);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_s_x1278.html#a6d60902ac59b653a9eb83e82a932f7ad">reset</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="comment">// configuration methods</span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; int16_t <a class="code" href="class_s_x1278.html#a4b14d432ef1bd72982f4771cac5b62e4">setFrequency</a>(<span class="keywordtype">float</span> freq);</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; int16_t <a class="code" href="class_s_x1278.html#a46c27ed1ebaae4e3ed8afe3ae6941dd6">setBandwidth</a>(<span class="keywordtype">float</span> bw);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; int16_t <a class="code" href="class_s_x1278.html#af70c22fe38bc3b944070ccbc083fed08">setSpreadingFactor</a>(uint8_t sf);</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; int16_t <a class="code" href="class_s_x1278.html#a834f26a0bd3fc8a03fa7e68aa4daf9e1">setCodingRate</a>(uint8_t cr);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; int16_t <a class="code" href="class_s_x1278.html#a8eeac64472fa70ed5e51f35d581f37ea">setOutputPower</a>(int8_t power);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; int16_t <a class="code" href="class_s_x1278.html#aa57b713988cfa224a6db2ff325052931">setGain</a>(uint8_t gain);</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; int16_t <a class="code" href="class_s_x1278.html#afb740a4925b64d83d5edca10d93f0563">setDataShaping</a>(uint8_t sh) <span class="keyword">override</span>;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; int16_t <a class="code" href="class_s_x1278.html#a1ccc4d5062f739d534ab22562c7efca4">setDataShapingOOK</a>(uint8_t sh);</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordtype">float</span> <a class="code" href="class_s_x1278.html#a0b1fe4d0b1acfa454d7bab59cdf319fe">getRSSI</a>();</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; int16_t <a class="code" href="class_s_x1278.html#adf0b0d628c7f7479f19c153732363462">setCRC</a>(<span class="keywordtype">bool</span> enableCRC);</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; int16_t <a class="code" href="class_s_x1278.html#a6d6398c4d4fde302d6d4752708bce856">forceLDRO</a>(<span class="keywordtype">bool</span> enable);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; int16_t <a class="code" href="class_s_x1278.html#ae02adcde8c2978c0d1b157729dd5df1e">autoLDRO</a>();</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<span class="preprocessor">#ifndef RADIOLIB_GODMODE</span></div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keyword">protected</span>:</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; int16_t setBandwidthRaw(uint8_t newBandwidth);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; int16_t setSpreadingFactorRaw(uint8_t newSpreadingFactor);</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; int16_t setCodingRateRaw(uint8_t newCodingRate);</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; int16_t configFSK();</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="preprocessor">#ifndef RADIOLIB_GODMODE</span></div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordtype">bool</span> _ldroAuto = <span class="keyword">true</span>;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordtype">bool</span> _ldroEnabled = <span class="keyword">false</span>;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;};</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="class_s_x127x_html"><div class="ttname"><a href="class_s_x127x.html">SX127x</a></div><div class="ttdoc">Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from thi...</div><div class="ttdef"><b>Definition:</b> SX127x.h:536</div></div>
<div class="ttc" id="class_s_x1278_html_afb740a4925b64d83d5edca10d93f0563"><div class="ttname"><a href="class_s_x1278.html#afb740a4925b64d83d5edca10d93f0563">SX1278::setDataShaping</a></div><div class="ttdeci">int16_t setDataShaping(uint8_t sh) override</div><div class="ttdoc">Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK...</div><div class="ttdef"><b>Definition:</b> SX1278.cpp:341</div></div>
<div class="ttc" id="class_s_x1278_html_a0b1fe4d0b1acfa454d7bab59cdf319fe"><div class="ttname"><a href="class_s_x1278.html#a0b1fe4d0b1acfa454d7bab59cdf319fe">SX1278::getRSSI</a></div><div class="ttdeci">float getRSSI()</div><div class="ttdoc">Gets recorded signal strength indicator of the latest received packet for LoRa modem, or current RSSI level for FSK modem. </div><div class="ttdef"><b>Definition:</b> SX1278.cpp:403</div></div>
<div class="ttc" id="class_s_x1278_html_a6d6398c4d4fde302d6d4752708bce856"><div class="ttname"><a href="class_s_x1278.html#a6d6398c4d4fde302d6d4752708bce856">SX1278::forceLDRO</a></div><div class="ttdeci">int16_t forceLDRO(bool enable)</div><div class="ttdoc">Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method...</div><div class="ttdef"><b>Definition:</b> SX1278.cpp:457</div></div>
<div class="ttc" id="class_s_x1278_html_aa57b713988cfa224a6db2ff325052931"><div class="ttname"><a href="class_s_x1278.html#aa57b713988cfa224a6db2ff325052931">SX1278::setGain</a></div><div class="ttdeci">int16_t setGain(uint8_t gain)</div><div class="ttdoc">Sets gain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is...</div><div class="ttdef"><b>Definition:</b> SX1278.cpp:316</div></div>
<div class="ttc" id="class_s_x1278_html_ae02adcde8c2978c0d1b157729dd5df1e"><div class="ttname"><a href="class_s_x1278.html#ae02adcde8c2978c0d1b157729dd5df1e">SX1278::autoLDRO</a></div><div class="ttdeci">int16_t autoLDRO()</div><div class="ttdoc">Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method...</div><div class="ttdef"><b>Definition:</b> SX1278.cpp:470</div></div>
<div class="ttc" id="class_s_x1278_html_a4b14d432ef1bd72982f4771cac5b62e4"><div class="ttname"><a href="class_s_x1278.html#a4b14d432ef1bd72982f4771cac5b62e4">SX1278::setFrequency</a></div><div class="ttdeci">int16_t setFrequency(float freq)</div><div class="ttdoc">Sets carrier frequency. Allowed values range from 137.0 MHz to 525.0 MHz. </div><div class="ttdef"><b>Definition:</b> SX1278.cpp:69</div></div>
<div class="ttc" id="class_s_x1278_html_adf0b0d628c7f7479f19c153732363462"><div class="ttname"><a href="class_s_x1278.html#adf0b0d628c7f7479f19c153732363462">SX1278::setCRC</a></div><div class="ttdeci">int16_t setCRC(bool enableCRC)</div><div class="ttdoc">Enables/disables CRC check of received packets. </div><div class="ttdef"><b>Definition:</b> SX1278.cpp:439</div></div>
<div class="ttc" id="class_s_x1278_html_a33dc718c83c233a1f93d6bdf2ec31783"><div class="ttname"><a href="class_s_x1278.html#a33dc718c83c233a1f93d6bdf2ec31783">SX1278::beginFSK</a></div><div class="ttdeci">int16_t beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)</div><div class="ttdoc">FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the m...</div><div class="ttdef"><b>Definition:</b> SX1278.cpp:39</div></div>
<div class="ttc" id="class_s_x1278_html_a1ccc4d5062f739d534ab22562c7efca4"><div class="ttname"><a href="class_s_x1278.html#a1ccc4d5062f739d534ab22562c7efca4">SX1278::setDataShapingOOK</a></div><div class="ttdeci">int16_t setDataShapingOOK(uint8_t sh)</div><div class="ttdoc">Sets filter cutoff frequency that will be used for data shaping. Allowed values are 1 for frequency e...</div><div class="ttdef"><b>Definition:</b> SX1278.cpp:371</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_s_x1278_html_a6d60902ac59b653a9eb83e82a932f7ad"><div class="ttname"><a href="class_s_x1278.html#a6d60902ac59b653a9eb83e82a932f7ad">SX1278::reset</a></div><div class="ttdeci">void reset() override</div><div class="ttdoc">Reset method. Will reset the chip to the default state using RST pin. </div><div class="ttdef"><b>Definition:</b> SX1278.cpp:61</div></div>
<div class="ttc" id="class_s_x1278_html_a00ebd3e60a66056940b241b13da0c68e"><div class="ttname"><a href="class_s_x1278.html#a00ebd3e60a66056940b241b13da0c68e">SX1278::SX1278</a></div><div class="ttdeci">SX1278(Module *mod)</div><div class="ttdoc">Default constructor. Called from Arduino sketch when creating new LoRa instance. </div><div class="ttdef"><b>Definition:</b> SX1278.cpp:4</div></div>
<div class="ttc" id="class_s_x1278_html_af7d9dc775820f7b260b578908cea3dbe"><div class="ttname"><a href="class_s_x1278.html#af7d9dc775820f7b260b578908cea3dbe">SX1278::begin</a></div><div class="ttdeci">int16_t begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)</div><div class="ttdoc">LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...</div><div class="ttdef"><b>Definition:</b> SX1278.cpp:8</div></div>
<div class="ttc" id="class_s_x1278_html_af70c22fe38bc3b944070ccbc083fed08"><div class="ttname"><a href="class_s_x1278.html#af70c22fe38bc3b944070ccbc083fed08">SX1278::setSpreadingFactor</a></div><div class="ttdeci">int16_t setSpreadingFactor(uint8_t sf)</div><div class="ttdoc">Sets LoRa link spreading factor. Allowed values range from 6 to 12. Only available in LoRa mode...</div><div class="ttdef"><b>Definition:</b> SX1278.cpp:197</div></div>
<div class="ttc" id="class_s_x1278_html_a46c27ed1ebaae4e3ed8afe3ae6941dd6"><div class="ttname"><a href="class_s_x1278.html#a46c27ed1ebaae4e3ed8afe3ae6941dd6">SX1278::setBandwidth</a></div><div class="ttdeci">int16_t setBandwidth(float bw)</div><div class="ttdoc">Sets LoRa link bandwidth. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125...</div><div class="ttdef"><b>Definition:</b> SX1278.cpp:143</div></div>
<div class="ttc" id="class_s_x1278_html"><div class="ttname"><a href="class_s_x1278.html">SX1278</a></div><div class="ttdoc">Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279, RFM95 and RFM96. All of these modules use the same basic hardware and only differ in parameter ranges (and names). </div><div class="ttdef"><b>Definition:</b> SX1278.h:104</div></div>
<div class="ttc" id="class_s_x1278_html_a8eeac64472fa70ed5e51f35d581f37ea"><div class="ttname"><a href="class_s_x1278.html#a8eeac64472fa70ed5e51f35d581f37ea">SX1278::setOutputPower</a></div><div class="ttdeci">int16_t setOutputPower(int8_t power)</div><div class="ttdoc">Sets transmission output power. Allowed values range from 2 to 17 dBm. </div><div class="ttdef"><b>Definition:</b> SX1278.cpp:287</div></div>
<div class="ttc" id="class_s_x1278_html_a834f26a0bd3fc8a03fa7e68aa4daf9e1"><div class="ttname"><a href="class_s_x1278.html#a834f26a0bd3fc8a03fa7e68aa4daf9e1">SX1278::setCodingRate</a></div><div class="ttdeci">int16_t setCodingRate(uint8_t cr)</div><div class="ttdoc">Sets LoRa link coding rate denominator. Allowed values range from 5 to 8. Only available in LoRa mode...</div><div class="ttdef"><b>Definition:</b> SX1278.cpp:253</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_f980efad9544c0545d0fa50a84ff12f2.html">SX127x</a></li><li class="navelem"><b>SX1278.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>