<!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/RF69/RF69.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('_r_f69_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">RF69.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_RF69_H)</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define _RADIOLIB_RF69_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_RF69)</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &quot;../../Module.h&quot;</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &quot;../../protocols/PhysicalLayer/PhysicalLayer.h&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// RF69 physical layer properties</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#define RF69_FREQUENCY_STEP_SIZE                      61.03515625</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define RF69_MAX_PACKET_LENGTH                        64</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#define RF69_CRYSTAL_FREQ                             32.0</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#define RF69_DIV_EXPONENT                             19</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">// RF69 register map</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define RF69_REG_FIFO                                 0x00</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#define RF69_REG_OP_MODE                              0x01</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define RF69_REG_DATA_MODUL                           0x02</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#define RF69_REG_BITRATE_MSB                          0x03</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#define RF69_REG_BITRATE_LSB                          0x04</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#define RF69_REG_FDEV_MSB                             0x05</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#define RF69_REG_FDEV_LSB                             0x06</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#define RF69_REG_FRF_MSB                              0x07</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#define RF69_REG_FRF_MID                              0x08</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define RF69_REG_FRF_LSB                              0x09</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define RF69_REG_OSC_1                                0x0A</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define RF69_REG_AFC_CTRL                             0x0B</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define RF69_REG_LISTEN_1                             0x0D</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#define RF69_REG_LISTEN_2                             0x0E</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define RF69_REG_LISTEN_3                             0x0F</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#define RF69_REG_VERSION                              0x10</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#define RF69_REG_PA_LEVEL                             0x11</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define RF69_REG_PA_RAMP                              0x12</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#define RF69_REG_OCP                                  0x13</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define RF69_REG_LNA                                  0x18</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define RF69_REG_RX_BW                                0x19</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#define RF69_REG_AFC_BW                               0x1A</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define RF69_REG_OOK_PEAK                             0x1B</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define RF69_REG_OOK_AVG                              0x1C</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#define RF69_REG_OOK_FIX                              0x1D</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define RF69_REG_AFC_FEI                              0x1E</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#define RF69_REG_AFC_MSB                              0x1F</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#define RF69_REG_AFC_LSB                              0x20</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#define RF69_REG_FEI_MSB                              0x21</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#define RF69_REG_FEI_LSB                              0x22</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define RF69_REG_RSSI_CONFIG                          0x23</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define RF69_REG_RSSI_VALUE                           0x24</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#define RF69_REG_DIO_MAPPING_1                        0x25</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define RF69_REG_DIO_MAPPING_2                        0x26</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#define RF69_REG_IRQ_FLAGS_1                          0x27</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define RF69_REG_IRQ_FLAGS_2                          0x28</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define RF69_REG_RSSI_THRESH                          0x29</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#define RF69_REG_RX_TIMEOUT_1                         0x2A</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#define RF69_REG_RX_TIMEOUT_2                         0x2B</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#define RF69_REG_PREAMBLE_MSB                         0x2C</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define RF69_REG_PREAMBLE_LSB                         0x2D</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define RF69_REG_SYNC_CONFIG                          0x2E</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#define RF69_REG_SYNC_VALUE_1                         0x2F</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#define RF69_REG_SYNC_VALUE_2                         0x30</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#define RF69_REG_SYNC_VALUE_3                         0x31</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#define RF69_REG_SYNC_VALUE_4                         0x32</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#define RF69_REG_SYNC_VALUE_5                         0x33</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#define RF69_REG_SYNC_VALUE_6                         0x34</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#define RF69_REG_SYNC_VALUE_7                         0x35</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#define RF69_REG_SYNC_VALUE_8                         0x36</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#define RF69_REG_PACKET_CONFIG_1                      0x37</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#define RF69_REG_PAYLOAD_LENGTH                       0x38</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">#define RF69_REG_NODE_ADRS                            0x39</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#define RF69_REG_BROADCAST_ADRS                       0x3A</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#define RF69_REG_AUTO_MODES                           0x3B</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#define RF69_REG_FIFO_THRESH                          0x3C</span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#define RF69_REG_PACKET_CONFIG_2                      0x3D</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">#define RF69_REG_AES_KEY_1                            0x3E</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#define RF69_REG_AES_KEY_2                            0x3F</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor">#define RF69_REG_AES_KEY_3                            0x40</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor">#define RF69_REG_AES_KEY_4                            0x41</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor">#define RF69_REG_AES_KEY_5                            0x42</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#define RF69_REG_AES_KEY_6                            0x43</span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor">#define RF69_REG_AES_KEY_7                            0x44</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#define RF69_REG_AES_KEY_8                            0x45</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">#define RF69_REG_AES_KEY_9                            0x46</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#define RF69_REG_AES_KEY_10                           0x47</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">#define RF69_REG_AES_KEY_11                           0x48</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#define RF69_REG_AES_KEY_12                           0x49</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#define RF69_REG_AES_KEY_13                           0x4A</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">#define RF69_REG_AES_KEY_14                           0x4B</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">#define RF69_REG_AES_KEY_15                           0x4C</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">#define RF69_REG_AES_KEY_16                           0x4D</span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">#define RF69_REG_TEMP_1                               0x4E</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor">#define RF69_REG_TEMP_2                               0x4F</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor">#define RF69_REG_TEST_PA1                             0x5A</span></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor">#define RF69_REG_TEST_PA2                             0x5C</span></div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#define RF69_REG_TEST_DAGC                            0x6F</span></div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">// RF69 modem settings</span></div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">// RF69_REG_OP_MODE                                                   MSB   LSB   DESCRIPTION</span></div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor">#define RF69_SEQUENCER_OFF                            0b00000000  //  7     7     disable automatic sequencer</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">#define RF69_SEQUENCER_ON                             0b10000000  //  7     7     enable automatic sequencer</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">#define RF69_LISTEN_OFF                               0b00000000  //  6     6     disable Listen mode</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#define RF69_LISTEN_ON                                0b01000000  //  6     6     enable Listen mode</span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor">#define RF69_LISTEN_ABORT                             0b00100000  //  5     5     abort Listen mode (has to be set together with RF69_LISTEN_OFF)</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="preprocessor">#define RF69_SLEEP                                    0b00000000  //  4     2     sleep</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">#define RF69_STANDBY                                  0b00000100  //  4     2     standby</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">#define RF69_FS                                       0b00001000  //  4     2     frequency synthesis</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">#define RF69_TX                                       0b00001100  //  4     2     transmit</span></div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">#define RF69_RX                                       0b00010000  //  4     2     receive</span></div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment">// RF69_REG_DATA_MODUL</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#define RF69_PACKET_MODE                              0b00000000  //  6     5     packet mode (default)</span></div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="preprocessor">#define RF69_CONTINUOUS_MODE_WITH_SYNC                0b01000000  //  6     5     continuous mode with bit synchronizer</span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">#define RF69_CONTINUOUS_MODE                          0b01100000  //  6     5     continuous mode without bit synchronizer</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor">#define RF69_FSK                                      0b00000000  //  4     3     modulation: FSK (default)</span></div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor">#define RF69_OOK                                      0b00001000  //  4     3                 OOK</span></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor">#define RF69_NO_SHAPING                               0b00000000  //  1     0     modulation shaping: no shaping (default)</span></div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">#define RF69_FSK_GAUSSIAN_1_0                         0b00000001  //  1     0                         FSK modulation Gaussian filter, BT = 1.0</span></div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">#define RF69_FSK_GAUSSIAN_0_5                         0b00000010  //  1     0                         FSK modulation Gaussian filter, BT = 0.5</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">#define RF69_FSK_GAUSSIAN_0_3                         0b00000011  //  1     0                         FSK modulation Gaussian filter, BT = 0.3</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#define RF69_OOK_FILTER_BR                            0b00000001  //  1     0                         OOK modulation filter, f_cutoff = BR</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">#define RF69_OOK_FILTER_2BR                           0b00000010  //  1     0                         OOK modulation filter, f_cutoff = 2*BR</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">// RF69_REG_BITRATE_MSB + REG_BITRATE_LSB</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="preprocessor">#define RF69_BITRATE_MSB                              0x1A        //  7     0     bit rate setting: rate = F(XOSC) / BITRATE</span></div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor">#define RF69_BITRATE_LSB                              0x0B        //  7     0         default value: 4.8 kbps                            0x40        //  7     0</span></div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment">// RF69_REG_FDEV_MSB + REG_FDEV_LSB</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor">#define RF69_FDEV_MSB                                 0x00        //  5     0     frequency deviation: f_dev = f_step * FDEV</span></div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">#define RF69_FDEV_LSB                                 0x52        //  7     0         default value: 5 kHz</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="comment">// RF69_REG_FRF_MSB + REG_FRF_MID + REG_FRF_LSB</span></div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">#define RF69_FRF_MSB                                  0xE4        //  7     0     carrier frequency setting: f_RF = (F(XOSC) * FRF)/2^19</span></div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">#define RF69_FRF_MID                                  0xC0        //  7     0         where F(XOSC) = 32 MHz</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor">#define RF69_FRF_LSB                                  0x00        //  7     0         default value: 915 MHz</span></div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="comment">// RF69_REG_OSC_1</span></div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor">#define RF69_RC_CAL_START                             0b10000000  //  7     7     force RC oscillator calibration</span></div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="preprocessor">#define RF69_RC_CAL_RUNNING                           0b00000000  //  6     6     RC oscillator calibration is still running</span></div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="preprocessor">#define RF69_RC_CAL_DONE                              0b00000000  //  5     5     RC oscillator calibration has finished</span></div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="comment">// RF69_REG_AFC_CTRL</span></div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#define RF69_AFC_LOW_BETA_OFF                         0b00000000  //  5     5     standard AFC routine</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor">#define RF69_AFC_LOW_BETA_ON                          0b00100000  //  5     5     improved AFC routine for signals with modulation index less than 2</span></div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment">// RF69_REG_LISTEN_1</span></div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor">#define RF69_LISTEN_RES_IDLE_64_US                    0b01000000  //  7     6     resolution of Listen mode idle time: 64 us</span></div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor">#define RF69_LISTEN_RES_IDLE_4_1_MS                   0b10000000  //  7     6                                          4.1 ms (default)</span></div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="preprocessor">#define RF69_LISTEN_RES_IDLE_262_MS                   0b11000000  //  7     6                                          262 ms</span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="preprocessor">#define RF69_LISTEN_RES_RX_64_US                      0b00010000  //  5     4     resolution of Listen mode rx time: 64 us (default)</span></div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor">#define RF69_LISTEN_RES_RX_4_1_MS                     0b00100000  //  5     4                                        4.1 ms</span></div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor">#define RF69_LISTEN_RES_RX_262_MS                     0b00110000  //  5     4                                        262 ms</span></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="preprocessor">#define RF69_LISTEN_ACCEPT_ABOVE_RSSI_THRESH          0b00000000  //  3     3     packet acceptance criteria: RSSI above threshold</span></div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="preprocessor">#define RF69_LISTEN_ACCEPT_MATCH_SYNC_ADDRESS         0b00001000  //  3     3                                 RSSI above threshold AND sync address matched</span></div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="preprocessor">#define RF69_LISTEN_END_KEEP_RX                       0b00000000  //  2     1     action after packet acceptance: stay in Rx mode</span></div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#define RF69_LISTEN_END_KEEP_RX_TIMEOUT               0b00000010  //  2     1                                     stay in Rx mode until timeout (default)</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor">#define RF69_LISTEN_END_KEEP_RX_TIMEOUT_RESUME        0b00000100  //  2     1                                     stay in Rx mode until timeout, Listen mode will resume</span></div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="comment">// RF69_REG_LISTEN_2</span></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="preprocessor">#define RF69_LISTEN_COEF_IDLE                         0xF5        //  7     0     duration of idle phase in Listen mode</span></div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="comment">// RF69_REG_LISTEN_3</span></div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">#define RF69_LISTEN_COEF_RX                           0x20        //  7     0     duration of Rx phase in Listen mode</span></div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="comment">// RF69_REG_PA_LEVEL</span></div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">#define RF69_PA0_OFF                                  0b00000000  //  7     7     PA0 disabled</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="preprocessor">#define RF69_PA0_ON                                   0b10000000  //  7     7     PA0 enabled (default)</span></div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="preprocessor">#define RF69_PA1_OFF                                  0b00000000  //  6     6     PA1 disabled (default)</span></div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor">#define RF69_PA1_ON                                   0b01000000  //  6     6     PA1 enabled</span></div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="preprocessor">#define RF69_PA2_OFF                                  0b00000000  //  5     5     PA2 disabled (default)</span></div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor">#define RF69_PA2_ON                                   0b00100000  //  5     5     PA2 enabled</span></div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="preprocessor">#define RF69_OUTPUT_POWER                             0b00011111  //  4     0     output power: P_out = -18 + OUTPUT_POWER</span></div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="comment">// RF69_REG_PA_RAMP</span></div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="preprocessor">#define RF69_PA_RAMP_3_4_MS                           0b00000000  //  3     0     PA ramp rise/fall time: 3.4 ms</span></div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="preprocessor">#define RF69_PA_RAMP_2_MS                             0b00000001  //  3     0                             2 ms</span></div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor">#define RF69_PA_RAMP_1_MS                             0b00000010  //  3     0                             1 ms</span></div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="preprocessor">#define RF69_PA_RAMP_500_US                           0b00000011  //  3     0                             500 us</span></div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#define RF69_PA_RAMP_250_US                           0b00000100  //  3     0                             250 us</span></div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#define RF69_PA_RAMP_125_US                           0b00000101  //  3     0                             125 us</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="preprocessor">#define RF69_PA_RAMP_100_US                           0b00000110  //  3     0                             100 us</span></div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="preprocessor">#define RF69_PA_RAMP_62_US                            0b00000111  //  3     0                             62 us</span></div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="preprocessor">#define RF69_PA_RAMP_50_US                            0b00001000  //  3     0                             50 us</span></div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="preprocessor">#define RF69_PA_RAMP_40_US                            0b00001001  //  3     0                             40 us (default)</span></div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="preprocessor">#define RF69_PA_RAMP_31_US                            0b00001010  //  3     0                             31 us</span></div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="preprocessor">#define RF69_PA_RAMP_25_US                            0b00001011  //  3     0                             25 us</span></div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="preprocessor">#define RF69_PA_RAMP_20_US                            0b00001100  //  3     0                             20 us</span></div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor">#define RF69_PA_RAMP_15_US                            0b00001101  //  3     0                             15 us</span></div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="preprocessor">#define RF69_PA_RAMP_12_US                            0b00001110  //  3     0                             12 us</span></div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="preprocessor">#define RF69_PA_RAMP_10_US                            0b00001111  //  3     0                             10 us</span></div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="comment">// RF69_REG_OCP</span></div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="preprocessor">#define RF69_OCP_OFF                                  0b00000000  //  4     4     PA overload current protection disabled</span></div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="preprocessor">#define RF69_OCP_ON                                   0b00010000  //  4     4     PA overload current protection enabled</span></div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="preprocessor">#define RF69_OCP_TRIM                                 0b00001010  //  3     0     OCP current: I_max(OCP_TRIM = 0b1010) = 95 mA</span></div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="comment">// RF69_REG_LNA</span></div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="preprocessor">#define RF69_LNA_Z_IN_50_OHM                          0b00000000  //  7     7     LNA input impedance: 50 ohm</span></div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="preprocessor">#define RF69_LNA_Z_IN_200_OHM                         0b10000000  //  7     7                          200 ohm</span></div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="preprocessor">#define RF69_LNA_CURRENT_GAIN                         0b00001000  //  5     3     manually set LNA current gain</span></div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="preprocessor">#define RF69_LNA_GAIN_AUTO                            0b00000000  //  2     0     LNA gain setting: set automatically by AGC</span></div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="preprocessor">#define RF69_LNA_GAIN_MAX                             0b00000001  //  2     0                       max gain</span></div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="preprocessor">#define RF69_LNA_GAIN_MAX_6_DB                        0b00000010  //  2     0                       max gain - 6 dB</span></div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="preprocessor">#define RF69_LNA_GAIN_MAX_12_DB                       0b00000011  //  2     0                       max gain - 12 dB</span></div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="preprocessor">#define RF69_LNA_GAIN_MAX_24_DB                       0b00000100  //  2     0                       max gain - 24 dB</span></div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="preprocessor">#define RF69_LNA_GAIN_MAX_36_DB                       0b00000101  //  2     0                       max gain - 36 dB</span></div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="preprocessor">#define RF69_LNA_GAIN_MAX_48_DB                       0b00000110  //  2     0                       max gain - 48 dB</span></div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="comment">// RF69_REG_RX_BW</span></div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="preprocessor">#define RF69_DCC_FREQ                                 0b01000000  //  7     5     DC offset canceller cutoff frequency (4% Rx BW by default)</span></div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="preprocessor">#define RF69_RX_BW_MANT_16                            0b00000000  //  4     3     Channel filter bandwidth FSK: RxBw = F(XOSC)/(RxBwMant * 2^(RxBwExp + 2))</span></div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="preprocessor">#define RF69_RX_BW_MANT_20                            0b00001000  //  4     3                              OOK: RxBw = F(XOSC)/(RxBwMant * 2^(RxBwExp + 3))</span></div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="preprocessor">#define RF69_RX_BW_MANT_24                            0b00010000  //  4     3</span></div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="preprocessor">#define RF69_RX_BW_EXP                                0b00000101  //  2     0     default RxBwExp value = 5</span></div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="comment">// RF69_REG_AFC_BW</span></div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="preprocessor">#define RF69_DCC_FREQ_AFC                             0b10000000  //  7     5     default DccFreq parameter for AFC</span></div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="preprocessor">#define RF69_DCC_RX_BW_MANT_AFC                       0b00001000  //  4     3     default RxBwMant parameter for AFC</span></div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="preprocessor">#define RF69_DCC_RX_BW_EXP_AFC                        0b00000011  //  2     0     default RxBwExp parameter for AFC</span></div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="comment">// RF69_REG_OOK_PEAK</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="preprocessor">#define RF69_OOK_THRESH_FIXED                         0b00000000  //  7     6     OOK threshold type: fixed</span></div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="preprocessor">#define RF69_OOK_THRESH_PEAK                          0b01000000  //  7     6                         peak (default)</span></div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="preprocessor">#define RF69_OOK_THRESH_AVERAGE                       0b10000000  //  7     6                         average</span></div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="preprocessor">#define RF69_OOK_PEAK_THRESH_STEP_0_5_DB              0b00000000  //  5     3     OOK demodulator step size: 0.5 dB (default)</span></div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="preprocessor">#define RF69_OOK_PEAK_THRESH_STEP_1_0_DB              0b00001000  //  5     3                                1.0 dB</span></div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="preprocessor">#define RF69_OOK_PEAK_THRESH_STEP_1_5_DB              0b00010000  //  5     3                                1.5 dB</span></div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="preprocessor">#define RF69_OOK_PEAK_THRESH_STEP_2_0_DB              0b00011000  //  5     3                                2.0 dB</span></div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="preprocessor">#define RF69_OOK_PEAK_THRESH_STEP_3_0_DB              0b00100000  //  5     3                                3.0 dB</span></div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="preprocessor">#define RF69_OOK_PEAK_THRESH_STEP_4_0_DB              0b00101000  //  5     3                                4.0 dB</span></div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="preprocessor">#define RF69_OOK_PEAK_THRESH_STEP_5_0_DB              0b00110000  //  5     3                                5.0 dB</span></div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#define RF69_OOK_PEAK_THRESH_STEP_6_0_DB              0b00111000  //  5     3                                6.0 dB</span></div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="preprocessor">#define RF69_OOK_PEAK_THRESH_DEC_1_1_CHIP             0b00000000  //  2     0     OOK demodulator step period: once per chip (default)</span></div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="preprocessor">#define RF69_OOK_PEAK_THRESH_DEC_1_2_CHIP             0b00000001  //  2     0                                  once every 2 chips</span></div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="preprocessor">#define RF69_OOK_PEAK_THRESH_DEC_1_4_CHIP             0b00000010  //  2     0                                  once every 4 chips</span></div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="preprocessor">#define RF69_OOK_PEAK_THRESH_DEC_1_8_CHIP             0b00000011  //  2     0                                  once every 8 chips</span></div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="preprocessor">#define RF69_OOK_PEAK_THRESH_DEC_2_1_CHIP             0b00000100  //  2     0                                  2 times per chip</span></div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="preprocessor">#define RF69_OOK_PEAK_THRESH_DEC_4_1_CHIP             0b00000101  //  2     0                                  4 times per chip</span></div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="preprocessor">#define RF69_OOK_PEAK_THRESH_DEC_8_1_CHIP             0b00000110  //  2     0                                  8 times per chip</span></div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#define RF69_OOK_PEAK_THRESH_DEC_16_1_CHIP            0b00000111  //  2     0                                  16 times per chip</span></div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="comment">// RF69_REG_OOK_AVG</span></div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="preprocessor">#define RF69_OOK_AVG_THRESH_FILT_32_PI                0b00000000  //  7     6     OOK average filter coefficient: chip rate / 32*pi</span></div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="preprocessor">#define RF69_OOK_AVG_THRESH_FILT_8_PI                 0b01000000  //  7     6                                     chip rate / 8*pi</span></div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#define RF69_OOK_AVG_THRESH_FILT_4_PI                 0b10000000  //  7     6                                     chip rate / 4*pi (default)</span></div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="preprocessor">#define RF69_OOK_AVG_THRESH_FILT_2_PI                 0b11000000  //  7     6                                     chip rate / 2*pi</span></div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="comment">// RF69_REG_OOK_FIX</span></div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="preprocessor">#define RF69_OOK_FIXED_THRESH                         0b00000110  //  7     0     default OOK fixed threshold (6 dB)</span></div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="comment">// RF69_REG_AFC_FEI</span></div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="preprocessor">#define RF69_FEI_RUNNING                              0b00000000  //  6     6     FEI status: on-going</span></div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="preprocessor">#define RF69_FEI_DONE                                 0b01000000  //  6     6                 done</span></div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="preprocessor">#define RF69_FEI_START                                0b00100000  //  5     5     force new FEI measurement</span></div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="preprocessor">#define RF69_AFC_RUNNING                              0b00000000  //  4     4     AFC status: on-going</span></div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="preprocessor">#define RF69_AFC_DONE                                 0b00010000  //  4     4                 done</span></div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="preprocessor">#define RF69_AFC_AUTOCLEAR_OFF                        0b00000000  //  3     3     AFC register autoclear disabled</span></div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="preprocessor">#define RF69_AFC_AUTOCLEAR_ON                         0b00001000  //  3     3     AFC register autoclear enabled</span></div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="preprocessor">#define RF69_AFC_AUTO_OFF                             0b00000000  //  2     2     perform AFC only manually</span></div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="preprocessor">#define RF69_AFC_AUTO_ON                              0b00000100  //  2     2     perform AFC each time Rx mode is started</span></div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="preprocessor">#define RF69_AFC_CLEAR                                0b00000010  //  1     1     clear AFC register</span></div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="preprocessor">#define RF69_AFC_START                                0b00000001  //  0     0     start AFC</span></div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="comment">// RF69_REG_RSSI_CONFIG</span></div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="preprocessor">#define RF69_RSSI_RUNNING                             0b00000000  //  1     1     RSSI status: on-going</span></div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="preprocessor">#define RF69_RSSI_DONE                                0b00000010  //  1     1                  done</span></div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="preprocessor">#define RF69_RSSI_START                               0b00000001  //  0     0     start RSSI measurement</span></div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="comment">// RF69_REG_DIO_MAPPING_1</span></div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="preprocessor">#define RF69_DIO0_CONT_MODE_READY                     0b11000000  //  7     6</span></div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="preprocessor">#define RF69_DIO0_CONT_PLL_LOCK                       0b00000000  //  7     6</span></div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<span class="preprocessor">#define RF69_DIO0_CONT_SYNC_ADDRESS                   0b00000000  //  7     6</span></div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="preprocessor">#define RF69_DIO0_CONT_TIMEOUT                        0b01000000  //  7     6</span></div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="preprocessor">#define RF69_DIO0_CONT_RSSI                           0b10000000  //  7     6</span></div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="preprocessor">#define RF69_DIO0_CONT_TX_READY                       0b01000000  //  7     6</span></div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="preprocessor">#define RF69_DIO0_PACK_PLL_LOCK                       0b11000000  //  7     6</span></div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="preprocessor">#define RF69_DIO0_PACK_CRC_OK                         0b00000000  //  7     6</span></div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="preprocessor">#define RF69_DIO0_PACK_PAYLOAD_READY                  0b01000000  //  7     6</span></div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="preprocessor">#define RF69_DIO0_PACK_SYNC_ADDRESS                   0b10000000  //  7     6</span></div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="preprocessor">#define RF69_DIO0_PACK_RSSI                           0b11000000  //  7     6</span></div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="preprocessor">#define RF69_DIO0_PACK_PACKET_SENT                    0b00000000  //  7     6</span></div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;<span class="preprocessor">#define RF69_DIO0_PACK_TX_READY                       0b01000000  //  7     6</span></div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="preprocessor">#define RF69_DIO1_CONT_PLL_LOCK                       0b00110000  //  5     4</span></div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="preprocessor">#define RF69_DIO1_CONT_DCLK                           0b00000000  //  5     4</span></div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="preprocessor">#define RF69_DIO1_CONT_RX_READY                       0b00010000  //  5     4</span></div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="preprocessor">#define RF69_DIO1_CONT_SYNC_ADDRESS                   0b00110000  //  5     4</span></div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="preprocessor">#define RF69_DIO1_CONT_TX_READY                       0b00010000  //  5     4</span></div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="preprocessor">#define RF69_DIO1_PACK_FIFO_LEVEL                     0b00000000  //  5     4</span></div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="preprocessor">#define RF69_DIO1_PACK_FIFO_FULL                      0b00010000  //  5     4</span></div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="preprocessor">#define RF69_DIO1_PACK_FIFO_NOT_EMPTY                 0b00100000  //  5     4</span></div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="preprocessor">#define RF69_DIO1_PACK_PLL_LOCK                       0b00110000  //  5     4</span></div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="preprocessor">#define RF69_DIO1_PACK_TIMEOUT                        0b00110000  //  5     4</span></div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="preprocessor">#define RF69_DIO2_CONT_DATA                           0b00000000  //  3     2</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">// RF69_REG_DIO_MAPPING_2</span></div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="preprocessor">#define RF69_CLK_OUT_FXOSC                            0b00000000  //  2     0     ClkOut frequency: F(XOSC)</span></div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="preprocessor">#define RF69_CLK_OUT_FXOSC_2                          0b00000001  //  2     0                       F(XOSC) / 2</span></div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="preprocessor">#define RF69_CLK_OUT_FXOSC_4                          0b00000010  //  2     0                       F(XOSC) / 4</span></div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="preprocessor">#define RF69_CLK_OUT_FXOSC_8                          0b00000011  //  2     0                       F(XOSC) / 8</span></div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="preprocessor">#define RF69_CLK_OUT_FXOSC_16                         0b00000100  //  2     0                       F(XOSC) / 16</span></div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="preprocessor">#define RF69_CLK_OUT_FXOSC_32                         0b00000101  //  2     0                       F(XOSC) / 31</span></div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="preprocessor">#define RF69_CLK_OUT_RC                               0b00000110  //  2     0                       RC</span></div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="preprocessor">#define RF69_CLK_OUT_OFF                              0b00000111  //  2     0                       disabled (default)</span></div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="comment">// RF69_REG_IRQ_FLAGS_1</span></div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="preprocessor">#define RF69_IRQ_MODE_READY                           0b10000000  //  7     7     requested mode was set</span></div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor">#define RF69_IRQ_RX_READY                             0b01000000  //  6     6     Rx mode ready</span></div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="preprocessor">#define RF69_IRQ_TX_READY                             0b00100000  //  5     5     Tx mode ready</span></div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="preprocessor">#define RF69_IRQ_PLL_LOCK                             0b00010000  //  4     4     PLL is locked</span></div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="preprocessor">#define RF69_IRQ_RSSI                                 0b00001000  //  3     3     RSSI value exceeded RssiThreshold</span></div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="preprocessor">#define RF69_IRQ_TIMEOUT                              0b00000100  //  2     2     timeout occurred</span></div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">#define RF69_IRQ_AUTO_MODE                            0b00000010  //  1     1     entered intermediate mode</span></div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="preprocessor">#define RF69_SYNC_ADDRESS_MATCH                       0b00000001  //  0     0     sync address detected</span></div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="comment">// RF69_REG_IRQ_FLAGS_2</span></div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="preprocessor">#define RF69_IRQ_FIFO_FULL                            0b10000000  //  7     7     FIFO is full</span></div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="preprocessor">#define RF69_IRQ_FIFO_NOT_EMPTY                       0b01000000  //  6     6     FIFO contains at least 1 byte</span></div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="preprocessor">#define RF69_IRQ_FIFO_LEVEL                           0b00100000  //  5     5     FIFO contains more than FifoThreshold bytes</span></div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="preprocessor">#define RF69_IRQ_FIFO_OVERRUN                         0b00010000  //  4     4     FIFO overrun occurred</span></div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="preprocessor">#define RF69_IRQ_PACKET_SENT                          0b00001000  //  3     3     packet was sent</span></div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="preprocessor">#define RF69_IRQ_PAYLOAD_READY                        0b00000100  //  2     2     last payload byte received and CRC check passed</span></div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="preprocessor">#define RF69_IRQ_CRC_OK                               0b00000010  //  1     1     CRC check passed</span></div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="comment">// RF69_REG_RSSI_THRESH</span></div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="preprocessor">#define RF69_RSSI_THRESHOLD                           0xE4        //  7     0     RSSI threshold level (2 dB by default)</span></div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="comment">// RF69_REG_RX_TIMEOUT_1</span></div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;<span class="preprocessor">#define RF69_TIMEOUT_RX_START_OFF                     0x00        //  7     0     RSSI interrupt timeout disabled (default)</span></div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="preprocessor">#define RF69_TIMEOUT_RX_START                         0xFF        //  7     0     timeout will occur if RSSI interrupt is not received</span></div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="comment">// RF69_REG_RX_TIMEOUT_2</span></div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="preprocessor">#define RF69_TIMEOUT_RSSI_THRESH_OFF                  0x00        //  7     0     PayloadReady interrupt timeout disabled (default)</span></div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="preprocessor">#define RF69_TIMEOUT_RSSI_THRESH                      0xFF        //  7     0     timeout will occur if PayloadReady interrupt is not received</span></div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="comment">// RF69_REG_PREAMBLE_MSB + REG_PREAMBLE_MSB</span></div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;<span class="preprocessor">#define RF69_PREAMBLE_MSB                             0x00        //  7     0     2-byte preamble size value</span></div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="preprocessor">#define RF69_PREAMBLE_LSB                             0x03        //  7     0</span></div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="comment">// RF69_REG_SYNC_CONFIG</span></div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="preprocessor">#define RF69_SYNC_OFF                                 0b00000000  //  7     7     sync word detection off</span></div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="preprocessor">#define RF69_SYNC_ON                                  0b10000000  //  7     7     sync word detection on (default)</span></div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="preprocessor">#define RF69_FIFO_FILL_CONDITION_SYNC                 0b00000000  //  6     6     FIFO fill condition: on SyncAddress interrupt (default)</span></div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="preprocessor">#define RF69_FIFO_FILL_CONDITION                      0b01000000  //  6     6                          as long as the bit is set</span></div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#define RF69_SYNC_SIZE                                0b00001000  //  5     3     size of sync word: SyncSize + 1 bytes</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="preprocessor">#define RF69_SYNC_TOL                                 0b00000000  //  2     0     number of tolerated errors in sync word</span></div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="comment">// RF69_REG_SYNC_VALUE_1 - SYNC_VALUE_8</span></div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="preprocessor">#define RF69_SYNC_BYTE_1                              0x01        //  7     0     sync word: 1st byte (MSB)</span></div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="preprocessor">#define RF69_SYNC_BYTE_2                              0x01        //  7     0                2nd byte</span></div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="preprocessor">#define RF69_SYNC_BYTE_3                              0x01        //  7     0                3rd byte</span></div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="preprocessor">#define RF69_SYNC_BYTE_4                              0x01        //  7     0                4th byte</span></div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="preprocessor">#define RF69_SYNC_BYTE_5                              0x01        //  7     0                5th byte</span></div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="preprocessor">#define RF69_SYNC_BYTE_6                              0x01        //  7     0                6th byte</span></div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="preprocessor">#define RF69_SYNC_BYTE_7                              0x01        //  7     0                7th byte</span></div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="preprocessor">#define RF69_SYNC_BYTE_8                              0x01        //  7     0                8th byte (LSB)</span></div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="comment">// RF69_REG_PACKET_CONFIG_1</span></div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="preprocessor">#define RF69_PACKET_FORMAT_FIXED                      0b00000000  //  7     7     fixed packet length (default)</span></div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="preprocessor">#define RF69_PACKET_FORMAT_VARIABLE                   0b10000000  //  7     7     variable packet length</span></div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;<span class="preprocessor">#define RF69_DC_FREE_NONE                             0b00000000  //  6     5     DC-free encoding: none (default)</span></div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;<span class="preprocessor">#define RF69_DC_FREE_MANCHESTER                       0b00100000  //  6     5                       Manchester</span></div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;<span class="preprocessor">#define RF69_DC_FREE_WHITENING                        0b01000000  //  6     5                       Whitening</span></div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="preprocessor">#define RF69_CRC_OFF                                  0b00000000  //  4     4     CRC disabled</span></div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="preprocessor">#define RF69_CRC_ON                                   0b00010000  //  4     4     CRC enabled (default)</span></div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="preprocessor">#define RF69_CRC_AUTOCLEAR_ON                         0b00000000  //  3     3     discard packet when CRC check fails (default)</span></div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="preprocessor">#define RF69_CRC_AUTOCLEAR_OFF                        0b00001000  //  3     3     keep packet when CRC check fails</span></div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="preprocessor">#define RF69_ADDRESS_FILTERING_OFF                    0b00000000  //  2     1     address filtering: none (default)</span></div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="preprocessor">#define RF69_ADDRESS_FILTERING_NODE                   0b00000010  //  2     1                        node</span></div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="preprocessor">#define RF69_ADDRESS_FILTERING_NODE_BROADCAST         0b00000100  //  2     1                        node or broadcast</span></div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="comment">// RF69_REG_PAYLOAD_LENGTH</span></div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="preprocessor">#define RF69_PAYLOAD_LENGTH                           0xFF        //  7     0     payload length</span></div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<span class="comment">// RF69_REG_AUTO_MODES</span></div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;<span class="preprocessor">#define RF69_ENTER_COND_NONE                          0b00000000  //  7     5     condition for entering intermediate mode: none, AutoModes disabled (default)</span></div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<span class="preprocessor">#define RF69_ENTER_COND_FIFO_NOT_EMPTY                0b00100000  //  7     5                                               FifoNotEmpty rising edge</span></div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="preprocessor">#define RF69_ENTER_COND_FIFO_LEVEL                    0b01000000  //  7     5                                               FifoLevel rising edge</span></div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="preprocessor">#define RF69_ENTER_COND_CRC_OK                        0b01100000  //  7     5                                               CrcOk rising edge</span></div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="preprocessor">#define RF69_ENTER_COND_PAYLOAD_READY                 0b10000000  //  7     5                                               PayloadReady rising edge</span></div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="preprocessor">#define RF69_ENTER_COND_SYNC_ADDRESS                  0b10100000  //  7     5                                               SyncAddress rising edge</span></div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="preprocessor">#define RF69_ENTER_COND_PACKET_SENT                   0b11000000  //  7     5                                               PacketSent rising edge</span></div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;<span class="preprocessor">#define RF69_ENTER_COND_FIFO_EMPTY                    0b11100000  //  7     5                                               FifoNotEmpty falling edge</span></div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="preprocessor">#define RF69_EXIT_COND_NONE                           0b00000000  //  4     2     condition for exiting intermediate mode: none, AutoModes disabled (default)</span></div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="preprocessor">#define RF69_EXIT_COND_FIFO_EMPTY                     0b00100000  //  4     2                                              FifoNotEmpty falling edge</span></div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;<span class="preprocessor">#define RF69_EXIT_COND_FIFO_LEVEL                     0b01000000  //  4     2                                              FifoLevel rising edge</span></div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;<span class="preprocessor">#define RF69_EXIT_COND_CRC_OK                         0b01100000  //  4     2                                              CrcOk rising edge</span></div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;<span class="preprocessor">#define RF69_EXIT_COND_PAYLOAD_READY                  0b10000000  //  4     2                                              PayloadReady rising edge</span></div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="preprocessor">#define RF69_EXIT_COND_SYNC_ADDRESS                   0b10100000  //  4     2                                              SyncAddress rising edge</span></div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="preprocessor">#define RF69_EXIT_COND_PACKET_SENT                    0b11000000  //  4     2                                              PacketSent rising edge</span></div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<span class="preprocessor">#define RF69_EXIT_COND_TIMEOUT                        0b11100000  //  4     2                                              timeout rising edge</span></div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="preprocessor">#define RF69_INTER_MODE_SLEEP                         0b00000000  //  1     0     intermediate mode: sleep (default)</span></div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="preprocessor">#define RF69_INTER_MODE_STANDBY                       0b00000001  //  1     0                        standby</span></div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="preprocessor">#define RF69_INTER_MODE_RX                            0b00000010  //  1     0                        Rx</span></div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;<span class="preprocessor">#define RF69_INTER_MODE_TX                            0b00000011  //  1     0                        Tx</span></div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="comment">// RF69_REG_FIFO_THRESH</span></div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="preprocessor">#define RF69_TX_START_CONDITION_FIFO_LEVEL            0b00000000  //  7     7     packet transmission start condition: FifoLevel</span></div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;<span class="preprocessor">#define RF69_TX_START_CONDITION_FIFO_NOT_EMPTY        0b10000000  //  7     7                                          FifoNotEmpty (default)</span></div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="preprocessor">#define RF69_FIFO_THRESHOLD                           0b00001111  //  6     0     default threshold to trigger FifoLevel interrupt</span></div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;<span class="comment">// RF69_REG_PACKET_CONFIG_2</span></div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="preprocessor">#define RF69_INTER_PACKET_RX_DELAY                    0b00000000  //  7     4     delay between FIFO empty and start of new RSSI phase</span></div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="preprocessor">#define RF69_RESTART_RX                               0b00000100  //  2     2     force receiver into wait mode</span></div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="preprocessor">#define RF69_AUTO_RX_RESTART_OFF                      0b00000000  //  1     1     auto Rx restart disabled</span></div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<span class="preprocessor">#define RF69_AUTO_RX_RESTART_ON                       0b00000010  //  1     1     auto Rx restart enabled (default)</span></div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;<span class="preprocessor">#define RF69_AES_OFF                                  0b00000000  //  0     0     AES encryption disabled (default)</span></div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;<span class="preprocessor">#define RF69_AES_ON                                   0b00000001  //  0     0     AES encryption enabled, payload size limited to 66 bytes</span></div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="comment">// RF69_REG_TEMP_1</span></div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;<span class="preprocessor">#define RF69_TEMP_MEAS_START                          0b00001000  //  3     3     trigger temperature measurement</span></div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="preprocessor">#define RF69_TEMP_MEAS_RUNNING                        0b00000100  //  2     2     temperature measurement status: on-going</span></div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<span class="preprocessor">#define RF69_TEMP_MEAS_DONE                           0b00000000  //  2     2                                     done</span></div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<span class="comment">// RF69_REG_TEST_DAGC</span></div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<span class="preprocessor">#define RF69_CONTINUOUS_DAGC_NORMAL                   0x00        //  7     0     fading margin improvement:  normal mode</span></div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<span class="preprocessor">#define RF69_CONTINUOUS_DAGC_LOW_BETA_ON              0x20        //  7     0                                 improved mode for AfcLowBetaOn</span></div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="preprocessor">#define RF69_CONTINUOUS_DAGC_LOW_BETA_OFF             0x30        //  7     0                                 improved mode for AfcLowBetaOff (default)</span></div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;<span class="comment">// RF69_REG_TEST_PA1</span></div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;<span class="preprocessor">#define RF69_PA1_NORMAL                               0x55        //  7     0     PA_BOOST: none</span></div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="preprocessor">#define RF69_PA1_20_DBM                               0x5D        //  7     0               +20 dBm</span></div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;<span class="comment">// RF69_REG_TEST_PA2</span></div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;<span class="preprocessor">#define RF69_PA2_NORMAL                               0x70        //  7     0     PA_BOOST: none</span></div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;<span class="preprocessor">#define RF69_PA2_20_DBM                               0x7C        //  7     0               +20 dBm</span></div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;</div><div class="line"><a name="l00432"></a><span class="lineno"><a class="line" href="class_r_f69.html">  432</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_r_f69.html">RF69</a>: <span class="keyword">public</span> <a class="code" href="class_physical_layer.html">PhysicalLayer</a> {</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    <span class="comment">// introduce PhysicalLayer overloads</span></div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;    <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#ab139a34e03a6fd5a781cd54da21d308f">PhysicalLayer::transmit</a>;</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#afb1b090348d9091bfa3a0b5ba3d85b36">PhysicalLayer::receive</a>;</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;    <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#af068e6e862c99e39d0261a7971dd56db">PhysicalLayer::startTransmit</a>;</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#ae8eed0e888a7c8742e89d2b850977de2">PhysicalLayer::readData</a>;</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    <a class="code" href="class_r_f69.html#afbc84d4f91502bcbe12ddda2fde51448">RF69</a>(<a class="code" href="class_module.html">Module</a>* module);</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    <span class="comment">// basic methods</span></div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a4d0dea965aba1017a660c9478ec57560">begin</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, uint8_t preambleLen = 16);</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_r_f69.html#af953ee17aca5392f1e62ea4fe690550a">reset</a>();</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a09ba80f60ee7974011a4b4f6c18c6847">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="l00486"></a><span class="lineno">  486</span>&#160;</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;    int16_t <a class="code" href="class_r_f69.html#ae36e8e6042245621a182b29526fe2245">receive</a>(uint8_t* data, <span class="keywordtype">size_t</span> len) <span class="keyword">override</span>;</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a472a04041551cb38d2223fb34f71d8eb">sleep</a>();</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a20242499eb926ff7b7da6e3f74a9ece1">standby</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a222682569338abb49d6952430b6eebdd">transmitDirect</a>(uint32_t frf = 0) <span class="keyword">override</span>;</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;    int16_t <a class="code" href="class_r_f69.html#abd556b0f455f9510213b17588a4baf1b">receiveDirect</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a6a67dd698b3cc6afcaf18c3710ad5f0f">packetMode</a>();</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;    <span class="comment">// hardware AES support</span></div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_r_f69.html#abe5b378d7cc274fd8b75881e7d604bf3">setAESKey</a>(uint8_t* key);</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a1fd4609f419d8b0213ee39b05dd40b69">enableAES</a>();</div><div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a15fafb6c24a8b5721623be447628bbaa">disableAES</a>();</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;    <span class="comment">// interrupt methods</span></div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_r_f69.html#a9e50a1183d13ff9984f8438a7e9e4a77">setDio0Action</a>(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">void</span>));</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_r_f69.html#a9721d2a3ed9fa8dd878575d71d5a4942">clearDio0Action</a>();</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_r_f69.html#aa72ad2ac5238bd87886684064b7494cf">setDio1Action</a>(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">void</span>));</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_r_f69.html#ade1f9a7a603d712c480ed5e9a8d1bf51">clearDio1Action</a>();</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a855dc194947b095b821ec1524ba6814c">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="l00596"></a><span class="lineno">  596</span>&#160;</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    int16_t <a class="code" href="class_r_f69.html#afae38fa64242043de34096bf497725f1">startReceive</a>();</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a3983b66c83818b4082805bcafc712f00">readData</a>(uint8_t* data, <span class="keywordtype">size_t</span> len) <span class="keyword">override</span>;</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;    <span class="comment">// configuration methods</span></div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;    int16_t <a class="code" href="class_r_f69.html#ab467f0fc318e651d0cdfbc0399d4c34b">setFrequency</a>(<span class="keywordtype">float</span> freq);</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;    int16_t <a class="code" href="class_r_f69.html#ad7f8132912a5dbf38c5cf676ac167d13">setBitRate</a>(<span class="keywordtype">float</span> br);</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a735d8f22095a7e69471d73ca021b9d1a">setRxBandwidth</a>(<span class="keywordtype">float</span> rxBw);</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;    int16_t <a class="code" href="class_r_f69.html#adb9fbfedf95f34ac537815870b98a9be">setFrequencyDeviation</a>(<span class="keywordtype">float</span> freqDev) <span class="keyword">override</span>;</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a998ddd21fc152d835c6f1b8d31b02fcc">setOutputPower</a>(int8_t power, <span class="keywordtype">bool</span> highPower = <span class="keyword">false</span>);</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a26667d50ec845c28e17236c69c886561">setSyncWord</a>(uint8_t* syncWord, <span class="keywordtype">size_t</span> len, uint8_t maxErrBits = 0);</div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a7c84b3f881cad6e05b0f4f68c24496d9">setPreambleLength</a>(uint8_t preambleLen);</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;</div><div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;    int16_t <a class="code" href="class_r_f69.html#ab9c217d5ece259950780a05c6e41f75c">setNodeAddress</a>(uint8_t nodeAddr);</div><div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a1b7598b87ffaabdbe733c47317fa91d8">setBroadcastAddress</a>(uint8_t broadAddr);</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a5996fc1751e7542baafa0d6c0a6c78ee">disableAddressFiltering</a>();</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;    <span class="comment">// measurement methods</span></div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;</div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_r_f69.html#ac37d9ddee2adcc8876a182b8ebc3e703">setAmbientTemperature</a>(int16_t tempAmbient);</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;</div><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a0526ce6ea3722fd258f96d9677a60853">getTemperature</a>();</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;    <span class="keywordtype">size_t</span> <a class="code" href="class_r_f69.html#a86a080086c0228d23e2cb77d2b1915c1">getPacketLength</a>(<span class="keywordtype">bool</span> update = <span class="keyword">true</span>) <span class="keyword">override</span>;</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;</div><div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a4c9dcbd7e44bc5e46d9f10ae276a0c5f">fixedPacketLengthMode</a>(uint8_t len = RF69_MAX_PACKET_LENGTH);</div><div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;    int16_t <a class="code" href="class_r_f69.html#af62ebde1ea34a394b9781a21ae348c39">variablePacketLengthMode</a>(uint8_t maxLen = RF69_MAX_PACKET_LENGTH);</div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a643a711bcb4b7771a7ab1f457e61a417">enableSyncWordFiltering</a>(uint8_t maxErrBits = 0);</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a400bb57d2353b57c29cf41a6d9497c80">disableSyncWordFiltering</a>();</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;    int16_t <a class="code" href="class_r_f69.html#ac205bc487833dc4eae4bb0069c0c4d1e">setCrcFiltering</a>(<span class="keywordtype">bool</span> crcOn = <span class="keyword">true</span>);</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a6d90ad1d455de045c53c5758babd876c">setPromiscuousMode</a>(<span class="keywordtype">bool</span> promiscuous = <span class="keyword">true</span>);</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;    int16_t <a class="code" href="class_r_f69.html#a42b99e437454e92c6932c3b7acc1fc4a">setDataShaping</a>(uint8_t sh) <span class="keyword">override</span>;</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;    int16_t <a class="code" href="class_r_f69.html#aae828ce8dda16da4e54d2f18b1fb8af2">setEncoding</a>(uint8_t encoding) <span class="keyword">override</span>;</div><div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;</div><div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_r_f69.html#ac4fc3f2b178ef08caec3a9f548f44cd7">getRSSI</a>();</div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;</div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_r_f69.html#aada7c48828b950cdfd260594d502b03d">setRfSwitchPins</a>(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;<span class="preprocessor">#ifndef RADIOLIB_GODMODE</span></div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;  <span class="keyword">protected</span>:</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;    <a class="code" href="class_module.html">Module</a>* _mod;</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;    <span class="keywordtype">float</span> _br = 0;</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;    <span class="keywordtype">float</span> _rxBw = 0;</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;    int16_t _tempOffset = 0;</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;    int8_t _power = 0;</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;    <span class="keywordtype">size_t</span> _packetLength = 0;</div><div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;    <span class="keywordtype">bool</span> _packetLengthQueried = <span class="keyword">false</span>;</div><div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;    uint8_t _packetLengthConfig = RF69_PACKET_FORMAT_VARIABLE;</div><div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;</div><div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;    <span class="keywordtype">bool</span> _promiscuous = <span class="keyword">false</span>;</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;</div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;    uint8_t _syncWordLength = 2;</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;    int16_t config();</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;    int16_t directMode();</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;    int16_t setPacketMode(uint8_t mode, uint8_t len);</div><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;</div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;<span class="preprocessor">#ifndef RADIOLIB_GODMODE</span></div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;    int16_t setMode(uint8_t mode);</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;    <span class="keywordtype">void</span> clearIRQFlags();</div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;};</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;</div><div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="class_r_f69_html_adb9fbfedf95f34ac537815870b98a9be"><div class="ttname"><a href="class_r_f69.html#adb9fbfedf95f34ac537815870b98a9be">RF69::setFrequencyDeviation</a></div><div class="ttdeci">int16_t setFrequencyDeviation(float freqDev) override</div><div class="ttdoc">Sets frequency deviation. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:507</div></div>
<div class="ttc" id="class_r_f69_html_a5996fc1751e7542baafa0d6c0a6c78ee"><div class="ttname"><a href="class_r_f69.html#a5996fc1751e7542baafa0d6c0a6c78ee">RF69::disableAddressFiltering</a></div><div class="ttdeci">int16_t disableAddressFiltering()</div><div class="ttdoc">Disables address filtering. Calling this method will also erase previously set addresses. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:615</div></div>
<div class="ttc" id="class_r_f69_html_a26667d50ec845c28e17236c69c886561"><div class="ttname"><a href="class_r_f69.html#a26667d50ec845c28e17236c69c886561">RF69::setSyncWord</a></div><div class="ttdeci">int16_t setSyncWord(uint8_t *syncWord, size_t len, uint8_t maxErrBits=0)</div><div class="ttdoc">Sets sync word. Up to 8 bytes can be set as sync word. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:563</div></div>
<div class="ttc" id="class_r_f69_html_a6d90ad1d455de045c53c5758babd876c"><div class="ttname"><a href="class_r_f69.html#a6d90ad1d455de045c53c5758babd876c">RF69::setPromiscuousMode</a></div><div class="ttdeci">int16_t setPromiscuousMode(bool promiscuous=true)</div><div class="ttdoc">Set modem in &quot;sniff&quot; mode: no packet filtering (e.g., no preamble, sync word, address, CRC). </div><div class="ttdef"><b>Definition:</b> RF69.cpp:695</div></div>
<div class="ttc" id="class_r_f69_html_a20242499eb926ff7b7da6e3f74a9ece1"><div class="ttname"><a href="class_r_f69.html#a20242499eb926ff7b7da6e3f74a9ece1">RF69::standby</a></div><div class="ttdeci">int16_t standby() override</div><div class="ttdoc">Sets the module to standby mode. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:171</div></div>
<div class="ttc" id="class_r_f69_html_a400bb57d2353b57c29cf41a6d9497c80"><div class="ttname"><a href="class_r_f69.html#a400bb57d2353b57c29cf41a6d9497c80">RF69::disableSyncWordFiltering</a></div><div class="ttdeci">int16_t disableSyncWordFiltering()</div><div class="ttdoc">Disable preamble and sync word filtering and generation. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:675</div></div>
<div class="ttc" id="class_r_f69_html_a86a080086c0228d23e2cb77d2b1915c1"><div class="ttname"><a href="class_r_f69.html#a86a080086c0228d23e2cb77d2b1915c1">RF69::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> RF69.cpp:649</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 &amp;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="class_r_f69_html_afae38fa64242043de34096bf497725f1"><div class="ttname"><a href="class_r_f69.html#afae38fa64242043de34096bf497725f1">RF69::startReceive</a></div><div class="ttdeci">int16_t startReceive()</div><div class="ttdoc">Interrupt-driven receive method. GDO0 will be activated when full packet is received. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:241</div></div>
<div class="ttc" id="class_r_f69_html_ab9c217d5ece259950780a05c6e41f75c"><div class="ttname"><a href="class_r_f69.html#ab9c217d5ece259950780a05c6e41f75c">RF69::setNodeAddress</a></div><div class="ttdeci">int16_t setNodeAddress(uint8_t nodeAddr)</div><div class="ttdoc">Sets node address. Calling this method will also enable address filtering for node address only...</div><div class="ttdef"><b>Definition:</b> RF69.cpp:597</div></div>
<div class="ttc" id="class_r_f69_html_aada7c48828b950cdfd260594d502b03d"><div class="ttname"><a href="class_r_f69.html#aada7c48828b950cdfd260594d502b03d">RF69::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> RF69.cpp:763</div></div>
<div class="ttc" id="class_r_f69_html_ad7f8132912a5dbf38c5cf676ac167d13"><div class="ttname"><a href="class_r_f69.html#ad7f8132912a5dbf38c5cf676ac167d13">RF69::setBitRate</a></div><div class="ttdeci">int16_t setBitRate(float br)</div><div class="ttdoc">Sets bit rate. Allowed values range from 1.2 to 300.0 kbps. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:391</div></div>
<div class="ttc" id="class_r_f69_html_ae36e8e6042245621a182b29526fe2245"><div class="ttname"><a href="class_r_f69.html#ae36e8e6042245621a182b29526fe2245">RF69::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> RF69.cpp:139</div></div>
<div class="ttc" id="class_r_f69_html_a9721d2a3ed9fa8dd878575d71d5a4942"><div class="ttname"><a href="class_r_f69.html#a9721d2a3ed9fa8dd878575d71d5a4942">RF69::clearDio0Action</a></div><div class="ttdeci">void clearDio0Action()</div><div class="ttdoc">Clears interrupt service routine to call when DIO0 activates. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:273</div></div>
<div class="ttc" id="class_r_f69_html_ac37d9ddee2adcc8876a182b8ebc3e703"><div class="ttname"><a href="class_r_f69.html#ac37d9ddee2adcc8876a182b8ebc3e703">RF69::setAmbientTemperature</a></div><div class="ttdeci">void setAmbientTemperature(int16_t tempAmbient)</div><div class="ttdoc">Sets ambient temperature. Required to correct values from on-board temperature sensor. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:628</div></div>
<div class="ttc" id="class_r_f69_html_a222682569338abb49d6952430b6eebdd"><div class="ttname"><a href="class_r_f69.html#a222682569338abb49d6952430b6eebdd">RF69::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> RF69.cpp:179</div></div>
<div class="ttc" id="class_r_f69_html_a7c84b3f881cad6e05b0f4f68c24496d9"><div class="ttname"><a href="class_r_f69.html#a7c84b3f881cad6e05b0f4f68c24496d9">RF69::setPreambleLength</a></div><div class="ttdeci">int16_t setPreambleLength(uint8_t preambleLen)</div><div class="ttdoc">Sets preamble length. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:586</div></div>
<div class="ttc" id="class_r_f69_html_a472a04041551cb38d2223fb34f71d8eb"><div class="ttname"><a href="class_r_f69.html#a472a04041551cb38d2223fb34f71d8eb">RF69::sleep</a></div><div class="ttdeci">int16_t sleep()</div><div class="ttdoc">Sets the module to sleep mode. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:163</div></div>
<div class="ttc" id="class_r_f69_html_a15fafb6c24a8b5721623be447628bbaa"><div class="ttname"><a href="class_r_f69.html#a15fafb6c24a8b5721623be447628bbaa">RF69::disableAES</a></div><div class="ttdeci">int16_t disableAES()</div><div class="ttdoc">Disables AES encryption. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:237</div></div>
<div class="ttc" id="class_r_f69_html_af62ebde1ea34a394b9781a21ae348c39"><div class="ttname"><a href="class_r_f69.html#af62ebde1ea34a394b9781a21ae348c39">RF69::variablePacketLengthMode</a></div><div class="ttdeci">int16_t variablePacketLengthMode(uint8_t maxLen=RF69_MAX_PACKET_LENGTH)</div><div class="ttdoc">Set modem in variable packet length mode. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:666</div></div>
<div class="ttc" id="class_r_f69_html"><div class="ttname"><a href="class_r_f69.html">RF69</a></div><div class="ttdoc">Control class for RF69 module. Also serves as base class for SX1231. </div><div class="ttdef"><b>Definition:</b> RF69.h:432</div></div>
<div class="ttc" id="class_r_f69_html_a09ba80f60ee7974011a4b4f6c18c6847"><div class="ttname"><a href="class_r_f69.html#a09ba80f60ee7974011a4b4f6c18c6847">RF69::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> RF69.cpp:110</div></div>
<div class="ttc" id="class_r_f69_html_ade1f9a7a603d712c480ed5e9a8d1bf51"><div class="ttname"><a href="class_r_f69.html#ade1f9a7a603d712c480ed5e9a8d1bf51">RF69::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> RF69.cpp:285</div></div>
<div class="ttc" id="class_r_f69_html_a42b99e437454e92c6932c3b7acc1fc4a"><div class="ttname"><a href="class_r_f69.html#a42b99e437454e92c6932c3b7acc1fc4a">RF69::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. Allowed values are RA...</div><div class="ttdef"><b>Definition:</b> RF69.cpp:721</div></div>
<div class="ttc" id="class_r_f69_html_ac205bc487833dc4eae4bb0069c0c4d1e"><div class="ttname"><a href="class_r_f69.html#ac205bc487833dc4eae4bb0069c0c4d1e">RF69::setCrcFiltering</a></div><div class="ttdeci">int16_t setCrcFiltering(bool crcOn=true)</div><div class="ttdoc">Enable CRC filtering and generation. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:687</div></div>
<div class="ttc" id="class_r_f69_html_a4d0dea965aba1017a660c9478ec57560"><div class="ttname"><a href="class_r_f69.html#a4d0dea965aba1017a660c9478ec57560">RF69::begin</a></div><div class="ttdeci">int16_t begin(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint8_t preambleLen=16)</div><div class="ttdoc">Initialization method. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:8</div></div>
<div class="ttc" id="class_r_f69_html_a9e50a1183d13ff9984f8438a7e9e4a77"><div class="ttname"><a href="class_r_f69.html#a9e50a1183d13ff9984f8438a7e9e4a77">RF69::setDio0Action</a></div><div class="ttdeci">void setDio0Action(void(*func)(void))</div><div class="ttdoc">Sets interrupt service routine to call when DIO0 activates. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:269</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_r_f69_html_aae828ce8dda16da4e54d2f18b1fb8af2"><div class="ttname"><a href="class_r_f69.html#aae828ce8dda16da4e54d2f18b1fb8af2">RF69::setEncoding</a></div><div class="ttdeci">int16_t setEncoding(uint8_t encoding) override</div><div class="ttdoc">Sets transmission encoding. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER an...</div><div class="ttdef"><b>Definition:</b> RF69.cpp:741</div></div>
<div class="ttc" id="class_r_f69_html_a1b7598b87ffaabdbe733c47317fa91d8"><div class="ttname"><a href="class_r_f69.html#a1b7598b87ffaabdbe733c47317fa91d8">RF69::setBroadcastAddress</a></div><div class="ttdeci">int16_t setBroadcastAddress(uint8_t broadAddr)</div><div class="ttdoc">Sets broadcast address. Calling this method will also enable address filtering for node and broadcast...</div><div class="ttdef"><b>Definition:</b> RF69.cpp:606</div></div>
<div class="ttc" id="class_r_f69_html_aa72ad2ac5238bd87886684064b7494cf"><div class="ttname"><a href="class_r_f69.html#aa72ad2ac5238bd87886684064b7494cf">RF69::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> RF69.cpp:277</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 &amp;str, size_t len=0)</div><div class="ttdoc">Arduino String receive method. </div><div class="ttdef"><b>Definition:</b> PhysicalLayer.cpp:98</div></div>
<div class="ttc" id="class_r_f69_html_a3983b66c83818b4082805bcafc712f00"><div class="ttname"><a href="class_r_f69.html#a3983b66c83818b4082805bcafc712f00">RF69::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> RF69.cpp:343</div></div>
<div class="ttc" id="class_r_f69_html_ac4fc3f2b178ef08caec3a9f548f44cd7"><div class="ttname"><a href="class_r_f69.html#ac4fc3f2b178ef08caec3a9f548f44cd7">RF69::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> RF69.cpp:759</div></div>
<div class="ttc" id="class_r_f69_html_a1fd4609f419d8b0213ee39b05dd40b69"><div class="ttname"><a href="class_r_f69.html#a1fd4609f419d8b0213ee39b05dd40b69">RF69::enableAES</a></div><div class="ttdeci">int16_t enableAES()</div><div class="ttdoc">Enables AES encryption. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:233</div></div>
<div class="ttc" id="class_r_f69_html_ab467f0fc318e651d0cdfbc0399d4c34b"><div class="ttname"><a href="class_r_f69.html#ab467f0fc318e651d0cdfbc0399d4c34b">RF69::setFrequency</a></div><div class="ttdeci">int16_t setFrequency(float freq)</div><div class="ttdoc">Sets carrier frequency. Allowed values are in bands 290.0 to 340.0 MHz, 431.0 to 510.0 MHz and 862.0 to 1020.0 MHz. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:372</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_r_f69_html_a4c9dcbd7e44bc5e46d9f10ae276a0c5f"><div class="ttname"><a href="class_r_f69.html#a4c9dcbd7e44bc5e46d9f10ae276a0c5f">RF69::fixedPacketLengthMode</a></div><div class="ttdeci">int16_t fixedPacketLengthMode(uint8_t len=RF69_MAX_PACKET_LENGTH)</div><div class="ttdoc">Set modem in fixed packet length mode. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:662</div></div>
<div class="ttc" id="class_r_f69_html_abe5b378d7cc274fd8b75881e7d604bf3"><div class="ttname"><a href="class_r_f69.html#abe5b378d7cc274fd8b75881e7d604bf3">RF69::setAESKey</a></div><div class="ttdeci">void setAESKey(uint8_t *key)</div><div class="ttdoc">Sets AES key. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:229</div></div>
<div class="ttc" id="class_r_f69_html_a735d8f22095a7e69471d73ca021b9d1a"><div class="ttname"><a href="class_r_f69.html#a735d8f22095a7e69471d73ca021b9d1a">RF69::setRxBandwidth</a></div><div class="ttdeci">int16_t setRxBandwidth(float rxBw)</div><div class="ttdoc">Sets receiver bandwidth. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25.0, 31.3, 41.7, 50.0, 62.5, 83.3, 100.0, 125.0, 166.7, 200.0, 250.0, 333.3, 400.0 and 500.0 kHz. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:412</div></div>
<div class="ttc" id="class_r_f69_html_af953ee17aca5392f1e62ea4fe690550a"><div class="ttname"><a href="class_r_f69.html#af953ee17aca5392f1e62ea4fe690550a">RF69::reset</a></div><div class="ttdeci">void reset()</div><div class="ttdoc">Reset method. Will reset the chip to the default state using RST pin. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:102</div></div>
<div class="ttc" id="class_r_f69_html_a998ddd21fc152d835c6f1b8d31b02fcc"><div class="ttname"><a href="class_r_f69.html#a998ddd21fc152d835c6f1b8d31b02fcc">RF69::setOutputPower</a></div><div class="ttdeci">int16_t setOutputPower(int8_t power, bool highPower=false)</div><div class="ttdoc">Sets output power. Allowed values range from -18 to 13 dBm for low power modules (RF69C/CW) or -2 to ...</div><div class="ttdef"><b>Definition:</b> RF69.cpp:525</div></div>
<div class="ttc" id="class_r_f69_html_a6a67dd698b3cc6afcaf18c3710ad5f0f"><div class="ttname"><a href="class_r_f69.html#a6a67dd698b3cc6afcaf18c3710ad5f0f">RF69::packetMode</a></div><div class="ttdeci">int16_t packetMode()</div><div class="ttdoc">Stops direct mode. It is required to call this method to switch from direct transmissions to packet-b...</div><div class="ttdef"><b>Definition:</b> RF69.cpp:225</div></div>
<div class="ttc" id="class_r_f69_html_afbc84d4f91502bcbe12ddda2fde51448"><div class="ttname"><a href="class_r_f69.html#afbc84d4f91502bcbe12ddda2fde51448">RF69::RF69</a></div><div class="ttdeci">RF69(Module *module)</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:4</div></div>
<div class="ttc" id="class_r_f69_html_abd556b0f455f9510213b17588a4baf1b"><div class="ttname"><a href="class_r_f69.html#abd556b0f455f9510213b17588a4baf1b">RF69::receiveDirect</a></div><div class="ttdeci">int16_t receiveDirect() override</div><div class="ttdoc">Starts direct mode reception. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:200</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 &amp;str, size_t len=0)</div><div class="ttdoc">Reads data that was received after calling startReceive method. </div><div class="ttdef"><b>Definition:</b> PhysicalLayer.cpp:57</div></div>
<div class="ttc" id="class_r_f69_html_a643a711bcb4b7771a7ab1f457e61a417"><div class="ttname"><a href="class_r_f69.html#a643a711bcb4b7771a7ab1f457e61a417">RF69::enableSyncWordFiltering</a></div><div class="ttdeci">int16_t enableSyncWordFiltering(uint8_t maxErrBits=0)</div><div class="ttdoc">Enable sync word filtering and generation. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:670</div></div>
<div class="ttc" id="class_r_f69_html_a855dc194947b095b821ec1524ba6814c"><div class="ttname"><a href="class_r_f69.html#a855dc194947b095b821ec1524ba6814c">RF69::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> RF69.cpp:292</div></div>
<div class="ttc" id="class_r_f69_html_a0526ce6ea3722fd258f96d9677a60853"><div class="ttname"><a href="class_r_f69.html#a0526ce6ea3722fd258f96d9677a60853">RF69::getTemperature</a></div><div class="ttdeci">int16_t getTemperature()</div><div class="ttdoc">Measures temperature. </div><div class="ttdef"><b>Definition:</b> RF69.cpp:632</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_3a277ada553fbb989028f9b071a02542.html">RF69</a></li><li class="navelem"><b>RF69.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>