You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
libsdr/classsdr_1_1_a_x25.html

536 lines
37 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>libsdr: sdr::AX25 Class Reference</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="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>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</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 style="padding-left: 0.5em;">
<div id="projectname">libsdr
&#160;<span id="projectnumber">0.1.0</span>
</div>
<div id="projectbrief">A simple SDR library</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>sdr</b></li><li class="navelem"><a class="el" href="classsdr_1_1_a_x25.html">AX25</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classsdr_1_1_a_x25-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">sdr::AX25 Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Decodes <a class="el" href="classsdr_1_1_a_x25.html" title="Decodes AX25 (PacketRadio) messages from a bit stream. ">AX25</a> (PacketRadio) messages from a bit stream.
<a href="classsdr_1_1_a_x25.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="ax25_8hh_source.html">ax25.hh</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for sdr::AX25:</div>
<div class="dyncontent">
<div class="center">
<img src="classsdr_1_1_a_x25.png" usemap="#sdr::AX25_map" alt=""/>
<map id="sdr::AX25_map" name="sdr::AX25_map">
<area href="classsdr_1_1_sink.html" alt="sdr::Sink&lt; uint8_t &gt;" shape="rect" coords="0,56,121,80"/>
<area href="classsdr_1_1_source.html" title="Generic source class. " alt="sdr::Source" shape="rect" coords="131,56,252,80"/>
<area href="classsdr_1_1_sink_base.html" title="Basic interface of all Sinks. " alt="sdr::SinkBase" shape="rect" coords="0,0,121,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aebbe666ff47df7ea8a868a1ab552d34f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_a_x25.html#aebbe666ff47df7ea8a868a1ab552d34f">AX25</a> ()</td></tr>
<tr class="memdesc:aebbe666ff47df7ea8a868a1ab552d34f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#aebbe666ff47df7ea8a868a1ab552d34f">More...</a><br /></td></tr>
<tr class="separator:aebbe666ff47df7ea8a868a1ab552d34f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5221438081b14c4b22662eb6e79b8af"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_a_x25.html#ae5221438081b14c4b22662eb6e79b8af">~AX25</a> ()</td></tr>
<tr class="memdesc:ae5221438081b14c4b22662eb6e79b8af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="#ae5221438081b14c4b22662eb6e79b8af">More...</a><br /></td></tr>
<tr class="separator:ae5221438081b14c4b22662eb6e79b8af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35ae34c6c6337f67adbcb3a6e0c8fac8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_a_x25.html#a35ae34c6c6337f67adbcb3a6e0c8fac8">config</a> (const <a class="el" href="classsdr_1_1_config.html">Config</a> &amp;src_cfg)</td></tr>
<tr class="memdesc:a35ae34c6c6337f67adbcb3a6e0c8fac8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the node. <a href="#a35ae34c6c6337f67adbcb3a6e0c8fac8">More...</a><br /></td></tr>
<tr class="separator:a35ae34c6c6337f67adbcb3a6e0c8fac8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abadb32804529f36819c675c4c746ff4c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_a_x25.html#abadb32804529f36819c675c4c746ff4c">process</a> (const <a class="el" href="classsdr_1_1_buffer.html">Buffer</a>&lt; uint8_t &gt; &amp;buffer, bool allow_overwrite)</td></tr>
<tr class="memdesc:abadb32804529f36819c675c4c746ff4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processes the bit stream. <a href="#abadb32804529f36819c675c4c746ff4c">More...</a><br /></td></tr>
<tr class="separator:abadb32804529f36819c675c4c746ff4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classsdr_1_1_sink"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsdr_1_1_sink')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsdr_1_1_sink.html">sdr::Sink&lt; uint8_t &gt;</a></td></tr>
<tr class="memitem:a1a5279c1507276612797734eed890ecb inherit pub_methods_classsdr_1_1_sink"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_sink.html#a1a5279c1507276612797734eed890ecb">Sink</a> ()</td></tr>
<tr class="memdesc:a1a5279c1507276612797734eed890ecb inherit pub_methods_classsdr_1_1_sink"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#a1a5279c1507276612797734eed890ecb">More...</a><br /></td></tr>
<tr class="separator:a1a5279c1507276612797734eed890ecb inherit pub_methods_classsdr_1_1_sink"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad17413f3a75305f326b7c3885be9279a inherit pub_methods_classsdr_1_1_sink"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_sink.html#ad17413f3a75305f326b7c3885be9279a">~Sink</a> ()</td></tr>
<tr class="memdesc:ad17413f3a75305f326b7c3885be9279a inherit pub_methods_classsdr_1_1_sink"><td class="mdescLeft">&#160;</td><td class="mdescRight">Drestructor. <a href="#ad17413f3a75305f326b7c3885be9279a">More...</a><br /></td></tr>
<tr class="separator:ad17413f3a75305f326b7c3885be9279a inherit pub_methods_classsdr_1_1_sink"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25b0849e40053f87496ca72f8b8cd9e2 inherit pub_methods_classsdr_1_1_sink"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_sink.html#a25b0849e40053f87496ca72f8b8cd9e2">handleBuffer</a> (const <a class="el" href="classsdr_1_1_raw_buffer.html">RawBuffer</a> &amp;buffer, bool allow_overwrite)</td></tr>
<tr class="memdesc:a25b0849e40053f87496ca72f8b8cd9e2 inherit pub_methods_classsdr_1_1_sink"><td class="mdescLeft">&#160;</td><td class="mdescRight">Re-implemented from <code>SinkBase</code>. <a href="#a25b0849e40053f87496ca72f8b8cd9e2">More...</a><br /></td></tr>
<tr class="separator:a25b0849e40053f87496ca72f8b8cd9e2 inherit pub_methods_classsdr_1_1_sink"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classsdr_1_1_sink_base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsdr_1_1_sink_base')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsdr_1_1_sink_base.html">sdr::SinkBase</a></td></tr>
<tr class="memitem:aaa9fb7219aa47e809ff1d62a819a2d57 inherit pub_methods_classsdr_1_1_sink_base"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_sink_base.html#aaa9fb7219aa47e809ff1d62a819a2d57">SinkBase</a> ()</td></tr>
<tr class="memdesc:aaa9fb7219aa47e809ff1d62a819a2d57 inherit pub_methods_classsdr_1_1_sink_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#aaa9fb7219aa47e809ff1d62a819a2d57">More...</a><br /></td></tr>
<tr class="separator:aaa9fb7219aa47e809ff1d62a819a2d57 inherit pub_methods_classsdr_1_1_sink_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a522205396205d6d3601da6a65bdaf75a inherit pub_methods_classsdr_1_1_sink_base"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_sink_base.html#a522205396205d6d3601da6a65bdaf75a">~SinkBase</a> ()</td></tr>
<tr class="memdesc:a522205396205d6d3601da6a65bdaf75a inherit pub_methods_classsdr_1_1_sink_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="#a522205396205d6d3601da6a65bdaf75a">More...</a><br /></td></tr>
<tr class="separator:a522205396205d6d3601da6a65bdaf75a inherit pub_methods_classsdr_1_1_sink_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classsdr_1_1_source"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsdr_1_1_source')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsdr_1_1_source.html">sdr::Source</a></td></tr>
<tr class="memitem:a660c0a4b8b8f8402568bef86f2cb2fbb inherit pub_methods_classsdr_1_1_source"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_source.html#a660c0a4b8b8f8402568bef86f2cb2fbb">Source</a> ()</td></tr>
<tr class="memdesc:a660c0a4b8b8f8402568bef86f2cb2fbb inherit pub_methods_classsdr_1_1_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#a660c0a4b8b8f8402568bef86f2cb2fbb">More...</a><br /></td></tr>
<tr class="separator:a660c0a4b8b8f8402568bef86f2cb2fbb inherit pub_methods_classsdr_1_1_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5104a4d66641ae529419b47da4a1473 inherit pub_methods_classsdr_1_1_source"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_source.html#ac5104a4d66641ae529419b47da4a1473">~Source</a> ()</td></tr>
<tr class="memdesc:ac5104a4d66641ae529419b47da4a1473 inherit pub_methods_classsdr_1_1_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="#ac5104a4d66641ae529419b47da4a1473">More...</a><br /></td></tr>
<tr class="separator:ac5104a4d66641ae529419b47da4a1473 inherit pub_methods_classsdr_1_1_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13921d5daa00574e2057c1ae1fc28054 inherit pub_methods_classsdr_1_1_source"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_source.html#a13921d5daa00574e2057c1ae1fc28054">send</a> (const <a class="el" href="classsdr_1_1_raw_buffer.html">RawBuffer</a> &amp;buffer, bool allow_overwrite=false)</td></tr>
<tr class="memdesc:a13921d5daa00574e2057c1ae1fc28054 inherit pub_methods_classsdr_1_1_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends the given buffer to all connected sinks. <a href="#a13921d5daa00574e2057c1ae1fc28054">More...</a><br /></td></tr>
<tr class="separator:a13921d5daa00574e2057c1ae1fc28054 inherit pub_methods_classsdr_1_1_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7df1faefb31e72e135eec3ecf539132 inherit pub_methods_classsdr_1_1_source"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_source.html#ac7df1faefb31e72e135eec3ecf539132">connect</a> (<a class="el" href="classsdr_1_1_sink_base.html">SinkBase</a> *sink, bool direct=false)</td></tr>
<tr class="memdesc:ac7df1faefb31e72e135eec3ecf539132 inherit pub_methods_classsdr_1_1_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect this source to a sink. <a href="#ac7df1faefb31e72e135eec3ecf539132">More...</a><br /></td></tr>
<tr class="separator:ac7df1faefb31e72e135eec3ecf539132 inherit pub_methods_classsdr_1_1_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b1d1ccef6cee5f4668ee67bc28eed7a inherit pub_methods_classsdr_1_1_source"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_source.html#a9b1d1ccef6cee5f4668ee67bc28eed7a">disconnect</a> (<a class="el" href="classsdr_1_1_sink_base.html">SinkBase</a> *sink)</td></tr>
<tr class="memdesc:a9b1d1ccef6cee5f4668ee67bc28eed7a inherit pub_methods_classsdr_1_1_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnect a sink again. <a href="#a9b1d1ccef6cee5f4668ee67bc28eed7a">More...</a><br /></td></tr>
<tr class="separator:a9b1d1ccef6cee5f4668ee67bc28eed7a inherit pub_methods_classsdr_1_1_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd4c7e3fb94a057ac40e9877167791ec inherit pub_methods_classsdr_1_1_source"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_source.html#afd4c7e3fb94a057ac40e9877167791ec">setConfig</a> (const <a class="el" href="classsdr_1_1_config.html">Config</a> &amp;config)</td></tr>
<tr class="memdesc:afd4c7e3fb94a057ac40e9877167791ec inherit pub_methods_classsdr_1_1_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stores the configuration and propergates it if the configuration has been changed. <a href="#afd4c7e3fb94a057ac40e9877167791ec">More...</a><br /></td></tr>
<tr class="separator:afd4c7e3fb94a057ac40e9877167791ec inherit pub_methods_classsdr_1_1_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca6c3a89bb5787de5657c4d221bb1ed4 inherit pub_methods_classsdr_1_1_source"><td class="memItemLeft" align="right" valign="top">virtual double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_source.html#aca6c3a89bb5787de5657c4d221bb1ed4">sampleRate</a> () const </td></tr>
<tr class="memdesc:aca6c3a89bb5787de5657c4d221bb1ed4 inherit pub_methods_classsdr_1_1_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the configured sample rate or <code>0</code> otherwise. <a href="#aca6c3a89bb5787de5657c4d221bb1ed4">More...</a><br /></td></tr>
<tr class="separator:aca6c3a89bb5787de5657c4d221bb1ed4 inherit pub_methods_classsdr_1_1_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9362057c06f35e0a23901cc0556b976 inherit pub_methods_classsdr_1_1_source"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classsdr_1_1_config.html#a62084c40ed753ff6caefdc4564c597b8">Config::Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_source.html#ab9362057c06f35e0a23901cc0556b976">type</a> () const </td></tr>
<tr class="memdesc:ab9362057c06f35e0a23901cc0556b976 inherit pub_methods_classsdr_1_1_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the configured source type or <code>Config::Type_UNDEFINED</code> otherwise. <a href="#ab9362057c06f35e0a23901cc0556b976">More...</a><br /></td></tr>
<tr class="separator:ab9362057c06f35e0a23901cc0556b976 inherit pub_methods_classsdr_1_1_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cf977be7a508097532991155e90ae45 inherit pub_methods_classsdr_1_1_source"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a7cf977be7a508097532991155e90ae45 inherit pub_methods_classsdr_1_1_source"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsdr_1_1_source.html#a7cf977be7a508097532991155e90ae45">addEOS</a> (T *instance, void(T::*function)())</td></tr>
<tr class="memdesc:a7cf977be7a508097532991155e90ae45 inherit pub_methods_classsdr_1_1_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a callback to the end-of-stream signal of the source. <a href="#a7cf977be7a508097532991155e90ae45">More...</a><br /></td></tr>
<tr class="separator:a7cf977be7a508097532991155e90ae45 inherit pub_methods_classsdr_1_1_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a05c586d156e856b0820aef7669512368"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_a_x25.html#a05c586d156e856b0820aef7669512368">unpackCall</a> (const uint8_t *buffer, std::string &amp;call, int &amp;ssid, bool &amp;addrExt)</td></tr>
<tr class="memdesc:a05c586d156e856b0820aef7669512368"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unpacks a AX.25 encoded call (address). <a href="#a05c586d156e856b0820aef7669512368">More...</a><br /></td></tr>
<tr class="separator:a05c586d156e856b0820aef7669512368"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ac84c7af0b37d6c6359f4098b96dc36b0"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_a_x25.html#ac84c7af0b37d6c6359f4098b96dc36b0">_bitstream</a></td></tr>
<tr class="memdesc:ac84c7af0b37d6c6359f4098b96dc36b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The last bits. <a href="#ac84c7af0b37d6c6359f4098b96dc36b0">More...</a><br /></td></tr>
<tr class="separator:ac84c7af0b37d6c6359f4098b96dc36b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6260b7c8fc548edca0cfc18fb5303b83"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_a_x25.html#a6260b7c8fc548edca0cfc18fb5303b83">_bitbuffer</a></td></tr>
<tr class="memdesc:a6260b7c8fc548edca0cfc18fb5303b83"><td class="mdescLeft">&#160;</td><td class="mdescRight">A buffer of received bits. <a href="#a6260b7c8fc548edca0cfc18fb5303b83">More...</a><br /></td></tr>
<tr class="separator:a6260b7c8fc548edca0cfc18fb5303b83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65d296d63bbd33fd0ece2f865b12cc3d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_a_x25.html#a65d296d63bbd33fd0ece2f865b12cc3d">_state</a></td></tr>
<tr class="memdesc:a65d296d63bbd33fd0ece2f865b12cc3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The current state. <a href="#a65d296d63bbd33fd0ece2f865b12cc3d">More...</a><br /></td></tr>
<tr class="separator:a65d296d63bbd33fd0ece2f865b12cc3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a861bace14bcb17b833a5dce8668d719d"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_a_x25.html#a861bace14bcb17b833a5dce8668d719d">_rxbuffer</a> [512]</td></tr>
<tr class="memdesc:a861bace14bcb17b833a5dce8668d719d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Message buffer. <a href="#a861bace14bcb17b833a5dce8668d719d">More...</a><br /></td></tr>
<tr class="separator:a861bace14bcb17b833a5dce8668d719d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d0222c915def9bf7582365b4ce0efd9"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_a_x25.html#a2d0222c915def9bf7582365b4ce0efd9">_ptr</a></td></tr>
<tr class="memdesc:a2d0222c915def9bf7582365b4ce0efd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert-pointer to the buffer. <a href="#a2d0222c915def9bf7582365b4ce0efd9">More...</a><br /></td></tr>
<tr class="separator:a2d0222c915def9bf7582365b4ce0efd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85e68f14dbf26067fa13c96d540d38a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsdr_1_1_buffer.html">Buffer</a>&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_a_x25.html#a85e68f14dbf26067fa13c96d540d38a5">_buffer</a></td></tr>
<tr class="memdesc:a85e68f14dbf26067fa13c96d540d38a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output buffer. <a href="#a85e68f14dbf26067fa13c96d540d38a5">More...</a><br /></td></tr>
<tr class="separator:a85e68f14dbf26067fa13c96d540d38a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classsdr_1_1_source"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsdr_1_1_source')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsdr_1_1_source.html">sdr::Source</a></td></tr>
<tr class="memitem:ac7ea547c33d45cf5b5654ce21957ab27 inherit pro_attribs_classsdr_1_1_source"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsdr_1_1_config.html">Config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_source.html#ac7ea547c33d45cf5b5654ce21957ab27">_config</a></td></tr>
<tr class="memdesc:ac7ea547c33d45cf5b5654ce21957ab27 inherit pro_attribs_classsdr_1_1_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the source configuration, this can be updated by calling <code>setConfig</code>. <a href="#ac7ea547c33d45cf5b5654ce21957ab27">More...</a><br /></td></tr>
<tr class="separator:ac7ea547c33d45cf5b5654ce21957ab27 inherit pro_attribs_classsdr_1_1_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d030b840c4a1ad45d7a6598f9f582b9 inherit pro_attribs_classsdr_1_1_source"><td class="memItemLeft" align="right" valign="top">std::map&lt; <a class="el" href="classsdr_1_1_sink_base.html">SinkBase</a> *, bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_source.html#a2d030b840c4a1ad45d7a6598f9f582b9">_sinks</a></td></tr>
<tr class="memdesc:a2d030b840c4a1ad45d7a6598f9f582b9 inherit pro_attribs_classsdr_1_1_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">The connected sinks. <a href="#a2d030b840c4a1ad45d7a6598f9f582b9">More...</a><br /></td></tr>
<tr class="separator:a2d030b840c4a1ad45d7a6598f9f582b9 inherit pro_attribs_classsdr_1_1_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee600dc30d6f91466acec5ffcde0f3ac inherit pro_attribs_classsdr_1_1_source"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="classsdr_1_1_delegate_interface.html">DelegateInterface</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_source.html#aee600dc30d6f91466acec5ffcde0f3ac">_eos</a></td></tr>
<tr class="memdesc:aee600dc30d6f91466acec5ffcde0f3ac inherit pro_attribs_classsdr_1_1_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">The connected EOS singal handlers. <a href="#aee600dc30d6f91466acec5ffcde0f3ac">More...</a><br /></td></tr>
<tr class="separator:aee600dc30d6f91466acec5ffcde0f3ac inherit pro_attribs_classsdr_1_1_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_methods_classsdr_1_1_source"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classsdr_1_1_source')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classsdr_1_1_source.html">sdr::Source</a></td></tr>
<tr class="memitem:a30eeb1d98d9759ef01a36e938a1172bc inherit pro_methods_classsdr_1_1_source"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_source.html#a30eeb1d98d9759ef01a36e938a1172bc">signalEOS</a> ()</td></tr>
<tr class="memdesc:a30eeb1d98d9759ef01a36e938a1172bc inherit pro_methods_classsdr_1_1_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signals the EOS. <a href="#a30eeb1d98d9759ef01a36e938a1172bc">More...</a><br /></td></tr>
<tr class="separator:a30eeb1d98d9759ef01a36e938a1172bc inherit pro_methods_classsdr_1_1_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fbd9bdaf370acad141440388da2100c inherit pro_methods_classsdr_1_1_source"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsdr_1_1_source.html#a3fbd9bdaf370acad141440388da2100c">propagateConfig</a> (const <a class="el" href="classsdr_1_1_config.html">Config</a> &amp;config)</td></tr>
<tr class="memdesc:a3fbd9bdaf370acad141440388da2100c inherit pro_methods_classsdr_1_1_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Propagates the given configuration to all connected sinks. <a href="#a3fbd9bdaf370acad141440388da2100c">More...</a><br /></td></tr>
<tr class="separator:a3fbd9bdaf370acad141440388da2100c inherit pro_methods_classsdr_1_1_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Decodes <a class="el" href="classsdr_1_1_a_x25.html" title="Decodes AX25 (PacketRadio) messages from a bit stream. ">AX25</a> (PacketRadio) messages from a bit stream. </p>
<p>In conjecture with the (A)FSK demodulator, the <a class="el" href="classsdr_1_1_a_x25.html" title="Decodes AX25 (PacketRadio) messages from a bit stream. ">AX25</a> can be used to receive packet radio or APRS messages. <a class="el" href="classsdr_1_1_a_x25.html" title="Decodes AX25 (PacketRadio) messages from a bit stream. ">AX25</a> is usually transmitted as FSK in transition mode, means the bits aren't encoded by mark &amp; space tones but rather as a transition from mark to space or in reverse. Hence the FSK node needs to be configured in transition mode.</p>
<p>The node does not process the actual AX.25 packages, it only checks the frame check sequence and forwards the AX.25 datagram to all connected sinks on success. The receiving node is responsible for unpacking and handling the received datagram. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aebbe666ff47df7ea8a868a1ab552d34f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">AX25::AX25 </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor. </p>
</div>
</div>
<a class="anchor" id="ae5221438081b14c4b22662eb6e79b8af"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">AX25::~AX25 </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Destructor. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a35ae34c6c6337f67adbcb3a6e0c8fac8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void AX25::config </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsdr_1_1_config.html">Config</a> &amp;&#160;</td>
<td class="paramname"><em>src_cfg</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Configures the node. </p>
<p>Implements <a class="el" href="classsdr_1_1_sink_base.html#aacebf73840f06c82c438e352bf1eb75e">sdr::SinkBase</a>.</p>
</div>
</div>
<a class="anchor" id="abadb32804529f36819c675c4c746ff4c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void AX25::process </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsdr_1_1_buffer.html">Buffer</a>&lt; uint8_t &gt; &amp;&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>allow_overwrite</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Processes the bit stream. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>Double check this!!! </dd></dl>
<p>Implements <a class="el" href="classsdr_1_1_sink.html#aaa6fa5f784d5f328fc9c4e7b241a03e9">sdr::Sink&lt; uint8_t &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a05c586d156e856b0820aef7669512368"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void AX25::unpackCall </td>
<td>(</td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::string &amp;&#160;</td>
<td class="paramname"><em>call</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int &amp;&#160;</td>
<td class="paramname"><em>ssid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool &amp;&#160;</td>
<td class="paramname"><em>addrExt</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Unpacks a AX.25 encoded call (address). </p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a6260b7c8fc548edca0cfc18fb5303b83"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t sdr::AX25::_bitbuffer</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>A buffer of received bits. </p>
</div>
</div>
<a class="anchor" id="ac84c7af0b37d6c6359f4098b96dc36b0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t sdr::AX25::_bitstream</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The last bits. </p>
</div>
</div>
<a class="anchor" id="a85e68f14dbf26067fa13c96d540d38a5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classsdr_1_1_buffer.html">Buffer</a>&lt;uint8_t&gt; sdr::AX25::_buffer</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Output buffer. </p>
</div>
</div>
<a class="anchor" id="a2d0222c915def9bf7582365b4ce0efd9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t* sdr::AX25::_ptr</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Insert-pointer to the buffer. </p>
</div>
</div>
<a class="anchor" id="a861bace14bcb17b833a5dce8668d719d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t sdr::AX25::_rxbuffer[512]</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Message buffer. </p>
</div>
</div>
<a class="anchor" id="a65d296d63bbd33fd0ece2f865b12cc3d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t sdr::AX25::_state</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The current state. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/Users/hannes/Uni/Elektronik/sdr/libsdr/src/<a class="el" href="ax25_8hh_source.html">ax25.hh</a></li>
<li>/Users/hannes/Uni/Elektronik/sdr/libsdr/src/ax25.cc</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jun 1 2015 11:40:50 for libsdr by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>