<!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: APRSClient 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="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&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&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&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('class_a_p_r_s_client.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="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="class_a_p_r_s_client-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">APRSClient Class Reference</div> </div> </div><!--header--> <div class="contents"> <p>Client for APRS communication. <a href="class_a_p_r_s_client.html#details">More...</a></p> <p><code>#include <<a class="el" href="_a_p_r_s_8h_source.html">APRS.h</a>></code></p> <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:a08e166ed706d79c66c1d5b48f195724c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_p_r_s_client.html#a08e166ed706d79c66c1d5b48f195724c">APRSClient</a> (<a class="el" href="class_a_x25_client.html">AX25Client</a> *ax)</td></tr> <tr class="memdesc:a08e166ed706d79c66c1d5b48f195724c"><td class="mdescLeft"> </td><td class="mdescRight">Constructor for "classic" mode using AX.25/AFSK. <a href="class_a_p_r_s_client.html#a08e166ed706d79c66c1d5b48f195724c">More...</a><br /></td></tr> <tr class="separator:a08e166ed706d79c66c1d5b48f195724c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afa314fad96837523df4a73cf47986f82"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_p_r_s_client.html#afa314fad96837523df4a73cf47986f82">APRSClient</a> (<a class="el" href="class_physical_layer.html">PhysicalLayer</a> *phy)</td></tr> <tr class="memdesc:afa314fad96837523df4a73cf47986f82"><td class="mdescLeft"> </td><td class="mdescRight">Constructor for LoRa mode. <a href="class_a_p_r_s_client.html#afa314fad96837523df4a73cf47986f82">More...</a><br /></td></tr> <tr class="separator:afa314fad96837523df4a73cf47986f82"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4d1468be141940a12fd3964957f79c1a"><td class="memItemLeft" align="right" valign="top">int16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_p_r_s_client.html#a4d1468be141940a12fd3964957f79c1a">begin</a> (char sym, char *callsign=NULL, uint8_t ssid=0, bool alt=false)</td></tr> <tr class="memdesc:a4d1468be141940a12fd3964957f79c1a"><td class="mdescLeft"> </td><td class="mdescRight">Initialization method. <a href="class_a_p_r_s_client.html#a4d1468be141940a12fd3964957f79c1a">More...</a><br /></td></tr> <tr class="separator:a4d1468be141940a12fd3964957f79c1a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aebc95b926fb3d37f8489f895aa576d0e"><td class="memItemLeft" align="right" valign="top">int16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_p_r_s_client.html#aebc95b926fb3d37f8489f895aa576d0e">sendPosition</a> (char *destCallsign, uint8_t destSSID, char *lat, char *lon, char *msg=NULL, char *time=NULL)</td></tr> <tr class="memdesc:aebc95b926fb3d37f8489f895aa576d0e"><td class="mdescLeft"> </td><td class="mdescRight">Transmit position. <a href="class_a_p_r_s_client.html#aebc95b926fb3d37f8489f895aa576d0e">More...</a><br /></td></tr> <tr class="separator:aebc95b926fb3d37f8489f895aa576d0e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af8f28eba026b0f0a25c8ba54a96f4743"><td class="memItemLeft" align="right" valign="top">int16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_p_r_s_client.html#af8f28eba026b0f0a25c8ba54a96f4743">sendMicE</a> (float lat, float lon, uint16_t heading, uint16_t speed, uint8_t type, uint8_t *telem=NULL, size_t telemLen=0, char *grid=NULL, char *status=NULL, int32_t alt=RADIOLIB_APRS_MIC_E_ALTITUDE_UNUSED)</td></tr> <tr class="memdesc:af8f28eba026b0f0a25c8ba54a96f4743"><td class="mdescLeft"> </td><td class="mdescRight">Transmit position using Mic-E encoding. <a href="class_a_p_r_s_client.html#af8f28eba026b0f0a25c8ba54a96f4743">More...</a><br /></td></tr> <tr class="separator:af8f28eba026b0f0a25c8ba54a96f4743"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a05076f44e5708f1230894c11053707b1"><td class="memItemLeft" align="right" valign="top">int16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_p_r_s_client.html#a05076f44e5708f1230894c11053707b1">sendFrame</a> (char *destCallsign, uint8_t destSSID, char *info)</td></tr> <tr class="memdesc:a05076f44e5708f1230894c11053707b1"><td class="mdescLeft"> </td><td class="mdescRight">Transmit generic APRS frame. <a href="class_a_p_r_s_client.html#a05076f44e5708f1230894c11053707b1">More...</a><br /></td></tr> <tr class="separator:a05076f44e5708f1230894c11053707b1"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Client for APRS communication. </p> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a id="a08e166ed706d79c66c1d5b48f195724c"></a> <h2 class="memtitle"><span class="permalink"><a href="#a08e166ed706d79c66c1d5b48f195724c">◆ </a></span>APRSClient() <span class="overload">[1/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">APRSClient::APRSClient </td> <td>(</td> <td class="paramtype"><a class="el" href="class_a_x25_client.html">AX25Client</a> * </td> <td class="paramname"><em>ax</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">explicit</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Constructor for "classic" mode using AX.25/AFSK. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ax</td><td>Pointer to the instance of <a class="el" href="class_a_x25_client.html" title="Client for AX25 communication.">AX25Client</a> to be used for APRS. </td></tr> </table> </dd> </dl> </div> </div> <a id="afa314fad96837523df4a73cf47986f82"></a> <h2 class="memtitle"><span class="permalink"><a href="#afa314fad96837523df4a73cf47986f82">◆ </a></span>APRSClient() <span class="overload">[2/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">APRSClient::APRSClient </td> <td>(</td> <td class="paramtype"><a class="el" href="class_physical_layer.html">PhysicalLayer</a> * </td> <td class="paramname"><em>phy</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">explicit</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Constructor for LoRa mode. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">phy</td><td>Pointer to the wireless module providing <a class="el" href="class_physical_layer.html" title="Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....">PhysicalLayer</a> communication. </td></tr> </table> </dd> </dl> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a id="a4d1468be141940a12fd3964957f79c1a"></a> <h2 class="memtitle"><span class="permalink"><a href="#a4d1468be141940a12fd3964957f79c1a">◆ </a></span>begin()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int16_t APRSClient::begin </td> <td>(</td> <td class="paramtype">char </td> <td class="paramname"><em>sym</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>callsign</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t </td> <td class="paramname"><em>ssid</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>alt</em> = <code>false</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Initialization method. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">sym</td><td>APRS symbol to be displayed. </td></tr> <tr><td class="paramname">callsign</td><td>Source callsign. Required and only used for APRS over LoRa, ignored in classic mode. </td></tr> <tr><td class="paramname">ssid</td><td>Source SSID. Only used for APRS over LoRa, ignored in classic mode, defaults to 0. </td></tr> <tr><td class="paramname">alt</td><td>Whether to use the primary (false) or alternate (true) symbol table. Defaults to primary table. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__status__codes.html">Status Codes</a> </dd></dl> </div> </div> <a id="a05076f44e5708f1230894c11053707b1"></a> <h2 class="memtitle"><span class="permalink"><a href="#a05076f44e5708f1230894c11053707b1">◆ </a></span>sendFrame()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int16_t APRSClient::sendFrame </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"><em>destCallsign</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t </td> <td class="paramname"><em>destSSID</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>info</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Transmit generic APRS frame. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">destCallsign</td><td>Destination station callsign. </td></tr> <tr><td class="paramname">destSSID</td><td>Destination station SSID. </td></tr> <tr><td class="paramname">info</td><td>AX.25 info field contents. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__status__codes.html">Status Codes</a> </dd></dl> </div> </div> <a id="af8f28eba026b0f0a25c8ba54a96f4743"></a> <h2 class="memtitle"><span class="permalink"><a href="#af8f28eba026b0f0a25c8ba54a96f4743">◆ </a></span>sendMicE()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int16_t APRSClient::sendMicE </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"><em>lat</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>lon</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint16_t </td> <td class="paramname"><em>heading</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint16_t </td> <td class="paramname"><em>speed</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t </td> <td class="paramname"><em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t * </td> <td class="paramname"><em>telem</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>telemLen</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>grid</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>status</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int32_t </td> <td class="paramname"><em>alt</em> = <code>RADIOLIB_APRS_MIC_E_ALTITUDE_UNUSED</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Transmit position using Mic-E encoding. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">lat</td><td>Geographical latitude, positive for north, negative for south. </td></tr> <tr><td class="paramname">lon</td><td>Geographical longitude, positive for east, negative for west. </td></tr> <tr><td class="paramname">heading</td><td>Heading in degrees. </td></tr> <tr><td class="paramname">speed</td><td>Speed in knots. </td></tr> <tr><td class="paramname">type</td><td>Mic-E message type - see <a class="el" href="group__mic__e__message__types.html">Mic-E message types.</a>. </td></tr> <tr><td class="paramname">telem</td><td>Pointer to telemetry array (either 2 or 5 bytes long). NULL when telemetry is not used. </td></tr> <tr><td class="paramname">telemLen</td><td>Telemetry length, 2 or 5. 0 when telemetry is not used. </td></tr> <tr><td class="paramname">grid</td><td>Maidenhead grid locator. NULL when not used. </td></tr> <tr><td class="paramname">status</td><td>Status message to send. NULL when not used. </td></tr> <tr><td class="paramname">alt</td><td>Altitude to send. RADIOLIB_APRS_MIC_E_ALTITUDE_UNUSED when not used. </td></tr> </table> </dd> </dl> </div> </div> <a id="aebc95b926fb3d37f8489f895aa576d0e"></a> <h2 class="memtitle"><span class="permalink"><a href="#aebc95b926fb3d37f8489f895aa576d0e">◆ </a></span>sendPosition()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int16_t APRSClient::sendPosition </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"><em>destCallsign</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t </td> <td class="paramname"><em>destSSID</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>lat</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>lon</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>msg</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>time</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Transmit position. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">destCallsign</td><td>Destination station callsign. </td></tr> <tr><td class="paramname">destSSID</td><td>Destination station SSID. </td></tr> <tr><td class="paramname">lat</td><td>Latitude as a null-terminated string. </td></tr> <tr><td class="paramname">lon</td><td>Longitude as a null-terminated string. </td></tr> <tr><td class="paramname">msg</td><td>Message to be transmitted. Defaults to NULL (no message). </td></tr> <tr><td class="paramname">time</td><td>Position timestamp. Defaults to NULL (no timestamp). </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__status__codes.html">Status Codes</a> </dd></dl> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li>src/protocols/APRS/<a class="el" href="_a_p_r_s_8h_source.html">APRS.h</a></li> <li>src/protocols/APRS/APRS.cpp</li> </ul> </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="class_a_p_r_s_client.html">APRSClient</a></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>