RadioLib/_a_x25_8h_source.html

305 wiersze
49 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>RadioLib: src/protocols/AX25/AX25.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">RadioLib
</div>
<div id="projectbrief">Universal wireless communication library for Arduino</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_a_x25_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AX25.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_AX25_H)</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define _RADIOLIB_AX25_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 !RADIOLIB_EXCLUDE_AX25</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;../PhysicalLayer/PhysicalLayer.h&quot;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;../AFSK/AFSK.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;../BellModem/BellModem.h&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;../../utils/CRC.h&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; </div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// macros to access bits in byte array, from http://www.mathcs.emory.edu/~cheung/Courses/255/Syllabus/1-C-intro/bit-array.html</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#define SET_BIT_IN_ARRAY(A, k) ( A[(k/8)] |= (1 &lt;&lt; (k%8)) )</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#define CLEAR_BIT_IN_ARRAY(A, k) ( A[(k/8)] &amp;= ~(1 &lt;&lt; (k%8)) )</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#define TEST_BIT_IN_ARRAY(A, k) ( A[(k/8)] &amp; (1 &lt;&lt; (k%8)) )</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#define GET_BIT_IN_ARRAY(A, k) ( (A[(k/8)] &amp; (1 &lt;&lt; (k%8))) ? 1 : 0 )</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// maximum callsign length in bytes</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_MAX_CALLSIGN_LEN 6</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// flag field MSB LSB DESCRIPTION</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_FLAG 0b01111110 </span><span class="comment">// 7 0 AX.25 frame start/end flag</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">// address field</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_SSID_COMMAND_DEST 0b10000000 </span><span class="comment">// 7 7 frame type: command (set in destination SSID)</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_SSID_COMMAND_SOURCE 0b00000000 </span><span class="comment">// 7 7 command (set in source SSID)</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_SSID_RESPONSE_DEST 0b00000000 </span><span class="comment">// 7 7 response (set in destination SSID)</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_SSID_RESPONSE_SOURCE 0b10000000 </span><span class="comment">// 7 7 response (set in source SSID)</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_SSID_HAS_NOT_BEEN_REPEATED 0b00000000 </span><span class="comment">// 7 7 not repeated yet (set in repeater SSID)</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_SSID_HAS_BEEN_REPEATED 0b10000000 </span><span class="comment">// 7 7 repeated (set in repeater SSID)</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_SSID_RESERVED_BITS 0b01100000 </span><span class="comment">// 6 5 reserved bits in SSID</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_SSID_HDLC_EXTENSION_CONTINUE 0b00000000 </span><span class="comment">// 0 0 HDLC extension bit: next octet contains more address information</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_SSID_HDLC_EXTENSION_END 0b00000001 </span><span class="comment">// 0 0 address field end</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment">// control field</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_U_SET_ASYNC_BAL_MODE 0b01101100 </span><span class="comment">// 7 2 U frame type: set asynchronous balanced mode (connect request)</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_U_SET_ASYNC_BAL_MODE_EXT 0b00101100 </span><span class="comment">// 7 2 set asynchronous balanced mode extended (connect request with module 128)</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_U_DISCONNECT 0b01000000 </span><span class="comment">// 7 2 disconnect request</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_U_DISCONNECT_MODE 0b00001100 </span><span class="comment">// 7 2 disconnect mode (system busy or disconnected)</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_U_UNNUMBERED_ACK 0b01100000 </span><span class="comment">// 7 2 unnumbered acknowledge</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_U_FRAME_REJECT 0b10000100 </span><span class="comment">// 7 2 frame reject</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_U_UNNUMBERED_INFORMATION 0b00000000 </span><span class="comment">// 7 2 unnumbered information</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_U_EXHANGE_IDENTIFICATION 0b10101100 </span><span class="comment">// 7 2 exchange ID</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_U_TEST 0b11100000 </span><span class="comment">// 7 2 test</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_POLL_FINAL_ENABLED 0b00010000 </span><span class="comment">// 4 4 control field poll/final bit: enabled</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_POLL_FINAL_DISABLED 0b00000000 </span><span class="comment">// 4 4 disabled</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_S_RECEIVE_READY 0b00000000 </span><span class="comment">// 3 2 S frame type: receive ready (system ready to receive)</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_S_RECEIVE_NOT_READY 0b00000100 </span><span class="comment">// 3 2 receive not ready (TNC buffer full)</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_S_REJECT 0b00001000 </span><span class="comment">// 3 2 reject (out of sequence or duplicate)</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_S_SELECTIVE_REJECT 0b00001100 </span><span class="comment">// 3 2 selective reject (single frame repeat request)</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_INFORMATION_FRAME 0b00000000 </span><span class="comment">// 0 0 frame type: information (I frame)</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_SUPERVISORY_FRAME 0b00000001 </span><span class="comment">// 1 0 supervisory (S frame)</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_CONTROL_UNNUMBERED_FRAME 0b00000011 </span><span class="comment">// 1 0 unnumbered (U frame)</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="comment">// protocol identifier field</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_PID_ISO_8208 0x01</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_PID_TCP_IP_COMPRESSED 0x06</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_PID_TCP_IP_UNCOMPRESSED 0x07</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_PID_SEGMENTATION_FRAGMENT 0x08</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_PID_TEXNET_DATAGRAM_PROTOCOL 0xC3</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_PID_LINK_QUALITY_PROTOCOL 0xC4</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_PID_APPLETALK 0xCA</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_PID_APPLETALK_ARP 0xCB</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_PID_ARPA_INTERNET_PROTOCOL 0xCC</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_PID_ARPA_ADDRESS_RESOLUTION 0xCD</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_PID_FLEXNET 0xCE</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_PID_NET_ROM 0xCF</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_PID_NO_LAYER_3 0xF0</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor">#define RADIOLIB_AX25_PID_ESCAPE_CHARACTER 0xFF</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="class_a_x25_frame.html"> 76</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_a_x25_frame.html">AX25Frame</a> {</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="class_a_x25_frame.html#a7fe9805148e2dd46d163cd989473dbff"> 81</a></span>&#160; <span class="keywordtype">char</span> <a class="code" href="class_a_x25_frame.html#a7fe9805148e2dd46d163cd989473dbff">destCallsign</a>[RADIOLIB_AX25_MAX_CALLSIGN_LEN + 1];</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="class_a_x25_frame.html#af62935e56dc24bca5d2e2aeb932b63f8"> 86</a></span>&#160; uint8_t <a class="code" href="class_a_x25_frame.html#af62935e56dc24bca5d2e2aeb932b63f8">destSSID</a>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="class_a_x25_frame.html#a38f7fb6a4a6344b5892c3a3cdf26c585"> 91</a></span>&#160; <span class="keywordtype">char</span> <a class="code" href="class_a_x25_frame.html#a38f7fb6a4a6344b5892c3a3cdf26c585">srcCallsign</a>[RADIOLIB_AX25_MAX_CALLSIGN_LEN + 1];</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="class_a_x25_frame.html#a50c63276facf8126f0f8555b1fc6b2c9"> 96</a></span>&#160; uint8_t <a class="code" href="class_a_x25_frame.html#a50c63276facf8126f0f8555b1fc6b2c9">srcSSID</a>;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="class_a_x25_frame.html#ad27453a838ba90f917a1a9853358bb9a"> 101</a></span>&#160; uint8_t <a class="code" href="class_a_x25_frame.html#ad27453a838ba90f917a1a9853358bb9a">numRepeaters</a>;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="class_a_x25_frame.html#a5b196079b539dc417ca65dd4ad622f8f"> 106</a></span>&#160; uint8_t <a class="code" href="class_a_x25_frame.html#a5b196079b539dc417ca65dd4ad622f8f">control</a>;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="class_a_x25_frame.html#aa8895fea37220c82f68bd320331595c8"> 111</a></span>&#160; uint8_t <a class="code" href="class_a_x25_frame.html#aa8895fea37220c82f68bd320331595c8">protocolID</a>;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="class_a_x25_frame.html#a75e8ad33c2540ede5bb130050f6ffc41"> 116</a></span>&#160; uint16_t <a class="code" href="class_a_x25_frame.html#a75e8ad33c2540ede5bb130050f6ffc41">infoLen</a>;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; </div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="class_a_x25_frame.html#adce5294af25f09df752997d33ac0e87f"> 121</a></span>&#160; uint8_t <a class="code" href="class_a_x25_frame.html#adce5294af25f09df752997d33ac0e87f">rcvSeqNumber</a>;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; </div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="class_a_x25_frame.html#a4c0fdf148d3b779d48441d45af87add2"> 126</a></span>&#160; uint16_t <a class="code" href="class_a_x25_frame.html#a4c0fdf148d3b779d48441d45af87add2">sendSeqNumber</a>;</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="preprocessor"> #if !RADIOLIB_STATIC_ONLY</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="class_a_x25_frame.html#aa82f006b84b71b9c5d036a4946a65988"> 132</a></span>&#160; uint8_t* <a class="code" href="class_a_x25_frame.html#aa82f006b84b71b9c5d036a4946a65988">info</a>;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; </div>
<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="class_a_x25_frame.html#a29eb08c9e72bbaced8d37dcb2343ee94"> 137</a></span>&#160; <span class="keywordtype">char</span>** <a class="code" href="class_a_x25_frame.html#a29eb08c9e72bbaced8d37dcb2343ee94">repeaterCallsigns</a>;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; </div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="class_a_x25_frame.html#a5b63c6b6f69e0ac47ba9230ad39c6830"> 142</a></span>&#160; uint8_t* <a class="code" href="class_a_x25_frame.html#a5b63c6b6f69e0ac47ba9230ad39c6830">repeaterSSIDs</a>;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; uint8_t <a class="code" href="class_a_x25_frame.html#aa82f006b84b71b9c5d036a4946a65988">info</a>[RADIOLIB_STATIC_ARRAY_SIZE];</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordtype">char</span> <a class="code" href="class_a_x25_frame.html#a29eb08c9e72bbaced8d37dcb2343ee94">repeaterCallsigns</a>[8][RADIOLIB_AX25_MAX_CALLSIGN_LEN + 1];</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; </div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; uint8_t <a class="code" href="class_a_x25_frame.html#a5b63c6b6f69e0ac47ba9230ad39c6830">repeaterSSIDs</a>[8];</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; </div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="class_a_x25_frame.html#a138d97d90a371bef7ebd86cce1cc4979">AX25Frame</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_a_x25_frame.html#a7fe9805148e2dd46d163cd989473dbff">destCallsign</a>, uint8_t <a class="code" href="class_a_x25_frame.html#af62935e56dc24bca5d2e2aeb932b63f8">destSSID</a>, <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_a_x25_frame.html#a38f7fb6a4a6344b5892c3a3cdf26c585">srcCallsign</a>, uint8_t <a class="code" href="class_a_x25_frame.html#a50c63276facf8126f0f8555b1fc6b2c9">srcSSID</a>, uint8_t <a class="code" href="class_a_x25_frame.html#a5b196079b539dc417ca65dd4ad622f8f">control</a>);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="class_a_x25_frame.html#a138d97d90a371bef7ebd86cce1cc4979">AX25Frame</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_a_x25_frame.html#a7fe9805148e2dd46d163cd989473dbff">destCallsign</a>, uint8_t <a class="code" href="class_a_x25_frame.html#af62935e56dc24bca5d2e2aeb932b63f8">destSSID</a>, <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_a_x25_frame.html#a38f7fb6a4a6344b5892c3a3cdf26c585">srcCallsign</a>, uint8_t <a class="code" href="class_a_x25_frame.html#a50c63276facf8126f0f8555b1fc6b2c9">srcSSID</a>, uint8_t <a class="code" href="class_a_x25_frame.html#a5b196079b539dc417ca65dd4ad622f8f">control</a>, uint8_t <a class="code" href="class_a_x25_frame.html#aa8895fea37220c82f68bd320331595c8">protocolID</a>, <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_a_x25_frame.html#aa82f006b84b71b9c5d036a4946a65988">info</a>);</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; </div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="class_a_x25_frame.html#a138d97d90a371bef7ebd86cce1cc4979">AX25Frame</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_a_x25_frame.html#a7fe9805148e2dd46d163cd989473dbff">destCallsign</a>, uint8_t <a class="code" href="class_a_x25_frame.html#af62935e56dc24bca5d2e2aeb932b63f8">destSSID</a>, <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_a_x25_frame.html#a38f7fb6a4a6344b5892c3a3cdf26c585">srcCallsign</a>, uint8_t <a class="code" href="class_a_x25_frame.html#a50c63276facf8126f0f8555b1fc6b2c9">srcSSID</a>, uint8_t <a class="code" href="class_a_x25_frame.html#a5b196079b539dc417ca65dd4ad622f8f">control</a>, uint8_t <a class="code" href="class_a_x25_frame.html#aa8895fea37220c82f68bd320331595c8">protocolID</a>, uint8_t* <a class="code" href="class_a_x25_frame.html#aa82f006b84b71b9c5d036a4946a65988">info</a>, uint16_t <a class="code" href="class_a_x25_frame.html#a75e8ad33c2540ede5bb130050f6ffc41">infoLen</a>);</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; </div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <a class="code" href="class_a_x25_frame.html#a138d97d90a371bef7ebd86cce1cc4979">AX25Frame</a>(<span class="keyword">const</span> <a class="code" href="class_a_x25_frame.html">AX25Frame</a>&amp; frame);</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; </div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="class_a_x25_frame.html#ab84a13f720ada37aee6201a560d9dc5a">~AX25Frame</a>();</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; </div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="class_a_x25_frame.html">AX25Frame</a>&amp; <a class="code" href="class_a_x25_frame.html#a52e7e5f6f48c3e62544721d2a5e00640">operator=</a>(<span class="keyword">const</span> <a class="code" href="class_a_x25_frame.html">AX25Frame</a>&amp; frame);</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; </div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; int16_t <a class="code" href="class_a_x25_frame.html#a7f2d9f4f1ba29d0fd9f9f3f2cf03f797">setRepeaters</a>(<span class="keywordtype">char</span>** <a class="code" href="class_a_x25_frame.html#a29eb08c9e72bbaced8d37dcb2343ee94">repeaterCallsigns</a>, uint8_t* <a class="code" href="class_a_x25_frame.html#a5b63c6b6f69e0ac47ba9230ad39c6830">repeaterSSIDs</a>, uint8_t <a class="code" href="class_a_x25_frame.html#ad27453a838ba90f917a1a9853358bb9a">numRepeaters</a>);</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; </div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_a_x25_frame.html#a4696a8eede8bac85f0ee6de6fee79ea8">setRecvSequence</a>(uint8_t seqNumber);</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; </div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_a_x25_frame.html#a026e9b96fa69018590fcf6842df8be70">setSendSequence</a>(uint8_t seqNumber);</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;};</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; </div>
<div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="class_a_x25_client.html"> 238</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_a_x25_client.html">AX25Client</a> {</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keyword">explicit</span> <a class="code" href="class_a_x25_client.html#ab074563d4d22a42d5ea9ad1693d6f373">AX25Client</a>(<a class="code" href="class_physical_layer.html">PhysicalLayer</a>* phy);</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; </div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="preprocessor"> #if !RADIOLIB_EXCLUDE_AFSK</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keyword">explicit</span> <a class="code" href="class_a_x25_client.html#ab074563d4d22a42d5ea9ad1693d6f373">AX25Client</a>(<a class="code" href="class_a_f_s_k_client.html">AFSKClient</a>* aud);</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; </div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <a class="code" href="class_a_x25_client.html#ab074563d4d22a42d5ea9ad1693d6f373">AX25Client</a>(<span class="keyword">const</span> <a class="code" href="class_a_x25_client.html">AX25Client</a>&amp; ax25);</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; </div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <a class="code" href="class_a_x25_client.html">AX25Client</a>&amp; <a class="code" href="class_a_x25_client.html#aad6b806d6f8601ec04d6b11bcde37733">operator=</a>(<span class="keyword">const</span> <a class="code" href="class_a_x25_client.html">AX25Client</a>&amp; ax25);</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; </div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; int16_t <a class="code" href="class_a_x25_client.html#a74a43c60c84e4150b9508c83e461d24e">setCorrection</a>(int16_t mark, int16_t space, <span class="keywordtype">float</span> length = 1.0f);</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; </div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="comment">// basic methods</span></div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; </div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; int16_t <a class="code" href="class_a_x25_client.html#aadeefb210a0b5170d4e8d281c2257e73">begin</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* srcCallsign, uint8_t srcSSID = 0x00, uint8_t preLen = 8);</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; </div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;<span class="preprocessor"> #if defined(RADIOLIB_BUILD_ARDUINO)</span></div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; int16_t <a class="code" href="class_a_x25_client.html#a985790943f3f3e06a2dfdd36977d0b98">transmit</a>(String&amp; str, <span class="keyword">const</span> <span class="keywordtype">char</span>* destCallsign, uint8_t destSSID = 0x00);</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; </div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; int16_t <a class="code" href="class_a_x25_client.html#a985790943f3f3e06a2dfdd36977d0b98">transmit</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* str, <span class="keyword">const</span> <span class="keywordtype">char</span>* destCallsign, uint8_t destSSID = 0x00);</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; </div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; int16_t <a class="code" href="class_a_x25_client.html#a341db993853c6817a8f6c7087ead0ba6">sendFrame</a>(<a class="code" href="class_a_x25_frame.html">AX25Frame</a>* frame);</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; </div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;<span class="preprocessor">#if !RADIOLIB_GODMODE</span></div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_a_p_r_s_client.html">APRSClient</a>;</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; </div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <a class="code" href="class_physical_layer.html">PhysicalLayer</a>* phyLayer;</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;<span class="preprocessor"> #if !RADIOLIB_EXCLUDE_AFSK</span></div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <a class="code" href="class_a_f_s_k_client.html">AFSKClient</a>* audio;</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <a class="code" href="class_bell_client.html">BellClient</a>* bellModem;</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; </div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordtype">char</span> sourceCallsign[RADIOLIB_AX25_MAX_CALLSIGN_LEN + 1] = { 0 };</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; uint8_t sourceSSID = 0;</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; uint16_t preambleLen = 0;</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; </div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordtype">void</span> getCallsign(<span class="keywordtype">char</span>* buff);</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; uint8_t getSSID();</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;};</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; </div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;<span class="preprocessor">#endif</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="preprocessor">#endif</span></div>
<div class="ttc" id="aclass_a_f_s_k_client_html"><div class="ttname"><a href="class_a_f_s_k_client.html">AFSKClient</a></div><div class="ttdoc">Client for audio-based transmissions. Requires Arduino tone() function, and a module capable of direc...</div><div class="ttdef"><b>Definition:</b> AFSK.h:16</div></div>
<div class="ttc" id="aclass_a_p_r_s_client_html"><div class="ttname"><a href="class_a_p_r_s_client.html">APRSClient</a></div><div class="ttdoc">Client for APRS communication.</div><div class="ttdef"><b>Definition:</b> APRS.h:85</div></div>
<div class="ttc" id="aclass_a_x25_client_html"><div class="ttname"><a href="class_a_x25_client.html">AX25Client</a></div><div class="ttdoc">Client for AX25 communication.</div><div class="ttdef"><b>Definition:</b> AX25.h:238</div></div>
<div class="ttc" id="aclass_a_x25_client_html_a341db993853c6817a8f6c7087ead0ba6"><div class="ttname"><a href="class_a_x25_client.html#a341db993853c6817a8f6c7087ead0ba6">AX25Client::sendFrame</a></div><div class="ttdeci">int16_t sendFrame(AX25Frame *frame)</div><div class="ttdoc">Transmit arbitrary AX.25 frame.</div><div class="ttdef"><b>Definition:</b> AX25.cpp:283</div></div>
<div class="ttc" id="aclass_a_x25_client_html_a74a43c60c84e4150b9508c83e461d24e"><div class="ttname"><a href="class_a_x25_client.html#a74a43c60c84e4150b9508c83e461d24e">AX25Client::setCorrection</a></div><div class="ttdeci">int16_t setCorrection(int16_t mark, int16_t space, float length=1.0f)</div><div class="ttdoc">Set AFSK tone correction offset. On some platforms, this is required to get the audio produced by the...</div><div class="ttdef"><b>Definition:</b> AX25.cpp:232</div></div>
<div class="ttc" id="aclass_a_x25_client_html_a985790943f3f3e06a2dfdd36977d0b98"><div class="ttname"><a href="class_a_x25_client.html#a985790943f3f3e06a2dfdd36977d0b98">AX25Client::transmit</a></div><div class="ttdeci">int16_t transmit(const char *str, const char *destCallsign, uint8_t destSSID=0x00)</div><div class="ttdoc">Transmit unnumbered information (UI) frame.</div><div class="ttdef"><b>Definition:</b> AX25.cpp:270</div></div>
<div class="ttc" id="aclass_a_x25_client_html_aad6b806d6f8601ec04d6b11bcde37733"><div class="ttname"><a href="class_a_x25_client.html#aad6b806d6f8601ec04d6b11bcde37733">AX25Client::operator=</a></div><div class="ttdeci">AX25Client &amp; operator=(const AX25Client &amp;ax25)</div><div class="ttdoc">Overload for assignment operator.</div><div class="ttdef"><b>Definition:</b> AX25.cpp:216</div></div>
<div class="ttc" id="aclass_a_x25_client_html_aadeefb210a0b5170d4e8d281c2257e73"><div class="ttname"><a href="class_a_x25_client.html#aadeefb210a0b5170d4e8d281c2257e73">AX25Client::begin</a></div><div class="ttdeci">int16_t begin(const char *srcCallsign, uint8_t srcSSID=0x00, uint8_t preLen=8)</div><div class="ttdoc">Initialization method.</div><div class="ttdef"><b>Definition:</b> AX25.cpp:244</div></div>
<div class="ttc" id="aclass_a_x25_client_html_ab074563d4d22a42d5ea9ad1693d6f373"><div class="ttname"><a href="class_a_x25_client.html#ab074563d4d22a42d5ea9ad1693d6f373">AX25Client::AX25Client</a></div><div class="ttdeci">AX25Client(PhysicalLayer *phy)</div><div class="ttdoc">Constructor for 2-FSK mode.</div><div class="ttdef"><b>Definition:</b> AX25.cpp:187</div></div>
<div class="ttc" id="aclass_a_x25_frame_html"><div class="ttname"><a href="class_a_x25_frame.html">AX25Frame</a></div><div class="ttdoc">Abstraction of AX.25 frame format.</div><div class="ttdef"><b>Definition:</b> AX25.h:76</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_a026e9b96fa69018590fcf6842df8be70"><div class="ttname"><a href="class_a_x25_frame.html#a026e9b96fa69018590fcf6842df8be70">AX25Frame::setSendSequence</a></div><div class="ttdeci">void setSendSequence(uint8_t seqNumber)</div><div class="ttdoc">Method to set send sequence number.</div><div class="ttdef"><b>Definition:</b> AX25.cpp:183</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_a138d97d90a371bef7ebd86cce1cc4979"><div class="ttname"><a href="class_a_x25_frame.html#a138d97d90a371bef7ebd86cce1cc4979">AX25Frame::AX25Frame</a></div><div class="ttdeci">AX25Frame(const char *destCallsign, uint8_t destSSID, const char *srcCallsign, uint8_t srcSSID, uint8_t control)</div><div class="ttdoc">Overloaded constructor, for frames without info field.</div><div class="ttdef"><b>Definition:</b> AX25.cpp:5</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_a29eb08c9e72bbaced8d37dcb2343ee94"><div class="ttname"><a href="class_a_x25_frame.html#a29eb08c9e72bbaced8d37dcb2343ee94">AX25Frame::repeaterCallsigns</a></div><div class="ttdeci">char ** repeaterCallsigns</div><div class="ttdoc">Array of repeater callsigns.</div><div class="ttdef"><b>Definition:</b> AX25.h:137</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_a38f7fb6a4a6344b5892c3a3cdf26c585"><div class="ttname"><a href="class_a_x25_frame.html#a38f7fb6a4a6344b5892c3a3cdf26c585">AX25Frame::srcCallsign</a></div><div class="ttdeci">char srcCallsign[RADIOLIB_AX25_MAX_CALLSIGN_LEN+1]</div><div class="ttdoc">Callsign of the source station.</div><div class="ttdef"><b>Definition:</b> AX25.h:91</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_a4696a8eede8bac85f0ee6de6fee79ea8"><div class="ttname"><a href="class_a_x25_frame.html#a4696a8eede8bac85f0ee6de6fee79ea8">AX25Frame::setRecvSequence</a></div><div class="ttdeci">void setRecvSequence(uint8_t seqNumber)</div><div class="ttdoc">Method to set receive sequence number.</div><div class="ttdef"><b>Definition:</b> AX25.cpp:179</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_a4c0fdf148d3b779d48441d45af87add2"><div class="ttname"><a href="class_a_x25_frame.html#a4c0fdf148d3b779d48441d45af87add2">AX25Frame::sendSeqNumber</a></div><div class="ttdeci">uint16_t sendSeqNumber</div><div class="ttdoc">Send sequence number.</div><div class="ttdef"><b>Definition:</b> AX25.h:126</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_a50c63276facf8126f0f8555b1fc6b2c9"><div class="ttname"><a href="class_a_x25_frame.html#a50c63276facf8126f0f8555b1fc6b2c9">AX25Frame::srcSSID</a></div><div class="ttdeci">uint8_t srcSSID</div><div class="ttdoc">SSID of the source station.</div><div class="ttdef"><b>Definition:</b> AX25.h:96</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_a52e7e5f6f48c3e62544721d2a5e00640"><div class="ttname"><a href="class_a_x25_frame.html#a52e7e5f6f48c3e62544721d2a5e00640">AX25Frame::operator=</a></div><div class="ttdeci">AX25Frame &amp; operator=(const AX25Frame &amp;frame)</div><div class="ttdoc">Overload for assignment operator.</div><div class="ttdef"><b>Definition:</b> AX25.cpp:108</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_a5b196079b539dc417ca65dd4ad622f8f"><div class="ttname"><a href="class_a_x25_frame.html#a5b196079b539dc417ca65dd4ad622f8f">AX25Frame::control</a></div><div class="ttdeci">uint8_t control</div><div class="ttdoc">The control field.</div><div class="ttdef"><b>Definition:</b> AX25.h:106</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_a5b63c6b6f69e0ac47ba9230ad39c6830"><div class="ttname"><a href="class_a_x25_frame.html#a5b63c6b6f69e0ac47ba9230ad39c6830">AX25Frame::repeaterSSIDs</a></div><div class="ttdeci">uint8_t * repeaterSSIDs</div><div class="ttdoc">Array of repeater SSIDs.</div><div class="ttdef"><b>Definition:</b> AX25.h:142</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_a75e8ad33c2540ede5bb130050f6ffc41"><div class="ttname"><a href="class_a_x25_frame.html#a75e8ad33c2540ede5bb130050f6ffc41">AX25Frame::infoLen</a></div><div class="ttdeci">uint16_t infoLen</div><div class="ttdoc">Number of bytes in the information field.</div><div class="ttdef"><b>Definition:</b> AX25.h:116</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_a7f2d9f4f1ba29d0fd9f9f3f2cf03f797"><div class="ttname"><a href="class_a_x25_frame.html#a7f2d9f4f1ba29d0fd9f9f3f2cf03f797">AX25Frame::setRepeaters</a></div><div class="ttdeci">int16_t setRepeaters(char **repeaterCallsigns, uint8_t *repeaterSSIDs, uint8_t numRepeaters)</div><div class="ttdoc">Method to set the repeater callsigns and SSIDs.</div><div class="ttdef"><b>Definition:</b> AX25.cpp:143</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_a7fe9805148e2dd46d163cd989473dbff"><div class="ttname"><a href="class_a_x25_frame.html#a7fe9805148e2dd46d163cd989473dbff">AX25Frame::destCallsign</a></div><div class="ttdeci">char destCallsign[RADIOLIB_AX25_MAX_CALLSIGN_LEN+1]</div><div class="ttdoc">Callsign of the destination station.</div><div class="ttdef"><b>Definition:</b> AX25.h:81</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_aa82f006b84b71b9c5d036a4946a65988"><div class="ttname"><a href="class_a_x25_frame.html#aa82f006b84b71b9c5d036a4946a65988">AX25Frame::info</a></div><div class="ttdeci">uint8_t * info</div><div class="ttdoc">The info field.</div><div class="ttdef"><b>Definition:</b> AX25.h:132</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_aa8895fea37220c82f68bd320331595c8"><div class="ttname"><a href="class_a_x25_frame.html#aa8895fea37220c82f68bd320331595c8">AX25Frame::protocolID</a></div><div class="ttdeci">uint8_t protocolID</div><div class="ttdoc">The protocol identifier (PID) field.</div><div class="ttdef"><b>Definition:</b> AX25.h:111</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_ab84a13f720ada37aee6201a560d9dc5a"><div class="ttname"><a href="class_a_x25_frame.html#ab84a13f720ada37aee6201a560d9dc5a">AX25Frame::~AX25Frame</a></div><div class="ttdeci">~AX25Frame()</div><div class="ttdoc">Default destructor.</div><div class="ttdef"><b>Definition:</b> AX25.cpp:90</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_ad27453a838ba90f917a1a9853358bb9a"><div class="ttname"><a href="class_a_x25_frame.html#ad27453a838ba90f917a1a9853358bb9a">AX25Frame::numRepeaters</a></div><div class="ttdeci">uint8_t numRepeaters</div><div class="ttdoc">Number of repeaters to be used.</div><div class="ttdef"><b>Definition:</b> AX25.h:101</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_adce5294af25f09df752997d33ac0e87f"><div class="ttname"><a href="class_a_x25_frame.html#adce5294af25f09df752997d33ac0e87f">AX25Frame::rcvSeqNumber</a></div><div class="ttdeci">uint8_t rcvSeqNumber</div><div class="ttdoc">Receive sequence number.</div><div class="ttdef"><b>Definition:</b> AX25.h:121</div></div>
<div class="ttc" id="aclass_a_x25_frame_html_af62935e56dc24bca5d2e2aeb932b63f8"><div class="ttname"><a href="class_a_x25_frame.html#af62935e56dc24bca5d2e2aeb932b63f8">AX25Frame::destSSID</a></div><div class="ttdeci">uint8_t destSSID</div><div class="ttdoc">SSID of the destination station.</div><div class="ttdef"><b>Definition:</b> AX25.h:86</div></div>
<div class="ttc" id="aclass_bell_client_html"><div class="ttname"><a href="class_bell_client.html">BellClient</a></div><div class="ttdoc">Client for Bell modem communication. The public interface is the same as Arduino Serial.</div><div class="ttdef"><b>Definition:</b> BellModem.h:57</div></div>
<div class="ttc" id="aclass_physical_layer_html"><div class="ttname"><a href="class_physical_layer.html">PhysicalLayer</a></div><div class="ttdoc">Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....</div><div class="ttdef"><b>Definition:</b> PhysicalLayer.h:54</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_79690749eba542503bb1a9a3dbb495e1.html">protocols</a></li><li class="navelem"><a class="el" href="dir_2d04440730a0443b949b3f3ffedccfc3.html">AX25</a></li><li class="navelem"><b>AX25.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
</ul>
</div>
</body>
</html>