Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
01e1f04e3This file is pinned to the selected release. Download the original to open it in your design tool.
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>tRacket Sensor: API 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>
<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 id="projectrow">
<td id="projectalign">
<div id="projectname">tRacket Sensor<span id="projectnumber"> 0.2.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "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:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></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">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> |
<a href="#pub-methods">Public Member Functions</a> |
<a href="#pub-static-methods">Static Public Member Functions</a> |
<a href="#pri-methods">Private Member Functions</a> |
<a href="#pri-attribs">Private Attributes</a> |
<a href="#pri-static-attribs">Static Private Attributes</a> |
<a href="classAPI-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">API Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Provides interface for <a class="el" href="classAPI.html" title="Provides interface for API calls.">API</a> calls.
<a href="classAPI.html#details">More...</a></p>
<p><code>#include <<a class="el" href="api_8h_source.html">api.h</a>></code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structAPI_1_1DeviceConfig.html">DeviceConfig</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structAPI_1_1LatestSoftware.html">LatestSoftware</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Results of the software update endpoint. <a href="structAPI_1_1LatestSoftware.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structAPI_1_1Request.html">Request</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">String builder to create URLs for <a class="el" href="classAPI.html" title="Provides interface for API calls.">API</a> endpoints and requests. <a href="structAPI_1_1Request.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aca6120ab8e7663f2d83eddc5bf85f2e4" id="r_aca6120ab8e7663f2d83eddc5bf85f2e4"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classAPI.html#aca6120ab8e7663f2d83eddc5bf85f2e4">API</a> (<a class="el" href="classUUID.html">UUID</a> id_, String token_={})</td></tr>
<tr class="memdesc:aca6120ab8e7663f2d83eddc5bf85f2e4"><td class="mdescLeft"> </td><td class="mdescRight">Creates a new <a class="el" href="classAPI.html" title="Provides interface for API calls.">API</a> interface for the given device (ID). <br /></td></tr>
<tr class="separator:aca6120ab8e7663f2d83eddc5bf85f2e4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6dc76b90725abcbc3310fb48c3f52dbb" id="r_a6dc76b90725abcbc3310fb48c3f52dbb"><td class="memItemLeft" align="right" valign="top">std::optional< String > </td><td class="memItemRight" valign="bottom"><a class="el" href="classAPI.html#a6dc76b90725abcbc3310fb48c3f52dbb">sendMeasurement</a> (const <a class="el" href="structDataPacket.html">DataPacket</a> &packet)</td></tr>
<tr class="memdesc:a6dc76b90725abcbc3310fb48c3f52dbb"><td class="mdescLeft"> </td><td class="mdescRight">Sends a <a class="el" href="structDataPacket.html" title="Stores data points included in an uploaded "measurement".">DataPacket</a> (dB measurement) to the server. <br /></td></tr>
<tr class="separator:a6dc76b90725abcbc3310fb48c3f52dbb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a20fa332ddca8809187bafb571a811898" id="r_a20fa332ddca8809187bafb571a811898"><td class="memItemLeft" align="right" valign="top"><a id="a20fa332ddca8809187bafb571a811898" name="a20fa332ddca8809187bafb571a811898"></a>
std::optional< String > </td><td class="memItemRight" valign="bottom"><b>sendMeasurements</b> (const std::list< <a class="el" href="structDataPacket.html">DataPacket</a> > &<a class="el" href="noisemeter-device_8ino.html#a8ed6493bf4782cfdf85b9c3d632a1692">packets</a>, const std::list< <a class="el" href="structDataPacket.html">DataPacket</a> >::const_iterator from)</td></tr>
<tr class="separator:a20fa332ddca8809187bafb571a811898"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a918615b325e3f1cdb43479828f466cf7" id="r_a918615b325e3f1cdb43479828f466cf7"><td class="memItemLeft" align="right" valign="top">std::optional< String > </td><td class="memItemRight" valign="bottom"><a class="el" href="classAPI.html#a918615b325e3f1cdb43479828f466cf7">sendMeasurementWithDiagnostics</a> (const <a class="el" href="structDataPacket.html">DataPacket</a> &packet, String version, String boottime)</td></tr>
<tr class="memdesc:a918615b325e3f1cdb43479828f466cf7"><td class="mdescLeft"> </td><td class="mdescRight">Sends diagnostic/analytic data to the server along with a <a class="el" href="structDataPacket.html" title="Stores data points included in an uploaded "measurement".">DataPacket</a>. <br /></td></tr>
<tr class="separator:a918615b325e3f1cdb43479828f466cf7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a532d91caf2eb282118488b0c7150cf56" id="r_a532d91caf2eb282118488b0c7150cf56"><td class="memItemLeft" align="right" valign="top">std::optional< String > </td><td class="memItemRight" valign="bottom"><a class="el" href="classAPI.html#a532d91caf2eb282118488b0c7150cf56">sendRegister</a> (String email)</td></tr>
<tr class="memdesc:a532d91caf2eb282118488b0c7150cf56"><td class="mdescLeft"> </td><td class="mdescRight">Attempts to register the device with the given email. <br /></td></tr>
<tr class="separator:a532d91caf2eb282118488b0c7150cf56"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a65fd992b59714621689a67bfaa58c535" id="r_a65fd992b59714621689a67bfaa58c535"><td class="memItemLeft" align="right" valign="top">std::optional< <a class="el" href="structAPI_1_1LatestSoftware.html">LatestSoftware</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classAPI.html#a65fd992b59714621689a67bfaa58c535">getLatestSoftware</a> ()</td></tr>
<tr class="memdesc:a65fd992b59714621689a67bfaa58c535"><td class="mdescLeft"> </td><td class="mdescRight">Attempts to get the latest available software info (for OTA). <br /></td></tr>
<tr class="separator:a65fd992b59714621689a67bfaa58c535"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3556bf8d8869edbd1dd9d7d53722c955" id="r_a3556bf8d8869edbd1dd9d7d53722c955"><td class="memItemLeft" align="right" valign="top"><a id="a3556bf8d8869edbd1dd9d7d53722c955" name="a3556bf8d8869edbd1dd9d7d53722c955"></a>
std::optional< <a class="el" href="structAPI_1_1DeviceConfig.html">DeviceConfig</a> > </td><td class="memItemRight" valign="bottom"><b>getDeviceConfig</b> ()</td></tr>
<tr class="separator:a3556bf8d8869edbd1dd9d7d53722c955"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a5fcfb794b77fb25dc2ae16428373ab15" id="r_a5fcfb794b77fb25dc2ae16428373ab15"><td class="memItemLeft" align="right" valign="top"><a id="a5fcfb794b77fb25dc2ae16428373ab15" name="a5fcfb794b77fb25dc2ae16428373ab15"></a>
static const char * </td><td class="memItemRight" valign="bottom"><b>rootCertificate</b> ()</td></tr>
<tr class="memdesc:a5fcfb794b77fb25dc2ae16428373ab15"><td class="mdescLeft"> </td><td class="mdescRight">Provides the server's root certificate for non-API HTTPS requests. <br /></td></tr>
<tr class="separator:a5fcfb794b77fb25dc2ae16428373ab15"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a64fcc6c6c4b0fd03de4412d8cc28b70e" id="r_a64fcc6c6c4b0fd03de4412d8cc28b70e"><td class="memItemLeft" align="right" valign="top"><a id="a64fcc6c6c4b0fd03de4412d8cc28b70e" name="a64fcc6c6c4b0fd03de4412d8cc28b70e"></a>
std::optional< JsonDocument > </td><td class="memItemRight" valign="bottom"><b>responseToJson</b> (const String &response)</td></tr>
<tr class="memdesc:a64fcc6c6c4b0fd03de4412d8cc28b70e"><td class="mdescLeft"> </td><td class="mdescRight">Converts response string into JSON. <br /></td></tr>
<tr class="separator:a64fcc6c6c4b0fd03de4412d8cc28b70e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4ec20ab7f79a076997bfa75eb646cfdb" id="r_a4ec20ab7f79a076997bfa75eb646cfdb"><td class="memItemLeft" align="right" valign="top"><a id="a4ec20ab7f79a076997bfa75eb646cfdb" name="a4ec20ab7f79a076997bfa75eb646cfdb"></a>
std::optional< JsonDocument > </td><td class="memItemRight" valign="bottom"><b>sendAuthorizedRequest</b> (const <a class="el" href="structAPI_1_1Request.html">Request</a> &req, String ctype="application/x-www-form-urlencoded")</td></tr>
<tr class="memdesc:a4ec20ab7f79a076997bfa75eb646cfdb"><td class="mdescLeft"> </td><td class="mdescRight">Attempts the given request and returns the JSON response on success. <br /></td></tr>
<tr class="separator:a4ec20ab7f79a076997bfa75eb646cfdb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a18c196adba525ea80c15278e97e8baa1" id="r_a18c196adba525ea80c15278e97e8baa1"><td class="memItemLeft" align="right" valign="top"><a id="a18c196adba525ea80c15278e97e8baa1" name="a18c196adba525ea80c15278e97e8baa1"></a>
std::optional< JsonDocument > </td><td class="memItemRight" valign="bottom"><b>sendNonauthorizedRequest</b> (const <a class="el" href="structAPI_1_1Request.html">Request</a> &req)</td></tr>
<tr class="memdesc:a18c196adba525ea80c15278e97e8baa1"><td class="mdescLeft"> </td><td class="mdescRight">Attempts the given request and returns the JSON response on success. <br /></td></tr>
<tr class="separator:a18c196adba525ea80c15278e97e8baa1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a23c95a1224410dece09be0903b635564" id="r_a23c95a1224410dece09be0903b635564"><td class="memItemLeft" align="right" valign="top"><a id="a23c95a1224410dece09be0903b635564" name="a23c95a1224410dece09be0903b635564"></a>
std::optional< JsonDocument > </td><td class="memItemRight" valign="bottom"><b>sendHttpGET</b> (HTTPClient &https)</td></tr>
<tr class="separator:a23c95a1224410dece09be0903b635564"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a826cbbbad3e345654498e402c3f86fad" id="r_a826cbbbad3e345654498e402c3f86fad"><td class="memItemLeft" align="right" valign="top"><a id="a826cbbbad3e345654498e402c3f86fad" name="a826cbbbad3e345654498e402c3f86fad"></a>
std::optional< JsonDocument > </td><td class="memItemRight" valign="bottom"><b>sendHttpPOST</b> (HTTPClient &https, const String &payload)</td></tr>
<tr class="separator:a826cbbbad3e345654498e402c3f86fad"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4449e9c5f671537e422c2245e72c23c0" id="r_a4449e9c5f671537e422c2245e72c23c0"><td class="memItemLeft" align="right" valign="top"><a id="a4449e9c5f671537e422c2245e72c23c0" name="a4449e9c5f671537e422c2245e72c23c0"></a>
std::optional< JsonDocument > </td><td class="memItemRight" valign="bottom"><b>handleHttpResponse</b> (HTTPClient &https)</td></tr>
<tr class="separator:a4449e9c5f671537e422c2245e72c23c0"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:ae30c1b907bd31044253fdefa2fba7d05" id="r_ae30c1b907bd31044253fdefa2fba7d05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classUUID.html">UUID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classAPI.html#ae30c1b907bd31044253fdefa2fba7d05">id</a></td></tr>
<tr class="memdesc:ae30c1b907bd31044253fdefa2fba7d05"><td class="mdescLeft"> </td><td class="mdescRight">Device's <a class="el" href="classUUID.html">UUID</a>. <br /></td></tr>
<tr class="separator:ae30c1b907bd31044253fdefa2fba7d05"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2f230c506eebd06856b9bbd1ff25695e" id="r_a2f230c506eebd06856b9bbd1ff25695e"><td class="memItemLeft" align="right" valign="top">String </td><td class="memItemRight" valign="bottom"><a class="el" href="classAPI.html#a2f230c506eebd06856b9bbd1ff25695e">token</a></td></tr>
<tr class="memdesc:a2f230c506eebd06856b9bbd1ff25695e"><td class="mdescLeft"> </td><td class="mdescRight">Device's <a class="el" href="classAPI.html" title="Provides interface for API calls.">API</a> token for authorized requests. <br /></td></tr>
<tr class="separator:a2f230c506eebd06856b9bbd1ff25695e"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-attribs" name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr class="memitem:a1ae6751f843fcaaf0f0b93d27d6a1f55" id="r_a1ae6751f843fcaaf0f0b93d27d6a1f55"><td class="memItemLeft" align="right" valign="top">static constexpr const char </td><td class="memItemRight" valign="bottom"><a class="el" href="classAPI.html#a1ae6751f843fcaaf0f0b93d27d6a1f55">Base</a> [] = "https://api.tracket.info/v1/"</td></tr>
<tr class="memdesc:a1ae6751f843fcaaf0f0b93d27d6a1f55"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classAPI.html" title="Provides interface for API calls.">API</a> host / base URL. <br /></td></tr>
<tr class="separator:a1ae6751f843fcaaf0f0b93d27d6a1f55"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Provides interface for <a class="el" href="classAPI.html" title="Provides interface for API calls.">API</a> calls. </p>
<p class="definition">Definition at line <a class="el" href="api_8h_source.html#l00036">36</a> of file <a class="el" href="api_8h_source.html">api.h</a>.</p>
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
<a id="aca6120ab8e7663f2d83eddc5bf85f2e4" name="aca6120ab8e7663f2d83eddc5bf85f2e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca6120ab8e7663f2d83eddc5bf85f2e4">◆ </a></span>API()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">API::API </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classUUID.html">UUID</a> </td>
<td class="paramname"><em>id_</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">String </td>
<td class="paramname"><em>token_</em> = <code>{}</code> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new <a class="el" href="classAPI.html" title="Provides interface for API calls.">API</a> interface for the given device (ID). </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id_</td><td>Device <a class="el" href="classUUID.html">UUID</a> </td></tr>
<tr><td class="paramname">token_</td><td><a class="el" href="classAPI.html" title="Provides interface for API calls.">API</a> token (required for authorized <a class="el" href="classAPI.html" title="Provides interface for API calls.">API</a> calls) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a65fd992b59714621689a67bfaa58c535" name="a65fd992b59714621689a67bfaa58c535"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65fd992b59714621689a67bfaa58c535">◆ </a></span>getLatestSoftware()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::optional< <a class="el" href="structAPI_1_1LatestSoftware.html">LatestSoftware</a> > API::getLatestSoftware </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Attempts to get the latest available software info (for OTA). </p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structAPI_1_1LatestSoftware.html" title="Results of the software update endpoint.">LatestSoftware</a> if successful. </dd></dl>
</div>
</div>
<a id="a6dc76b90725abcbc3310fb48c3f52dbb" name="a6dc76b90725abcbc3310fb48c3f52dbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6dc76b90725abcbc3310fb48c3f52dbb">◆ </a></span>sendMeasurement()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::optional< String > API::sendMeasurement </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structDataPacket.html">DataPacket</a> & </td>
<td class="paramname"><em>packet</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a <a class="el" href="structDataPacket.html" title="Stores data points included in an uploaded "measurement".">DataPacket</a> (dB measurement) to the server. </p>
<p>This request requires authentication. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">packet</td><td>Packet to be sent. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If successful, the timestamp of the last <a class="el" href="structAPI_1_1DeviceConfig.html">DeviceConfig</a> modification </dd></dl>
</div>
</div>
<a id="a918615b325e3f1cdb43479828f466cf7" name="a918615b325e3f1cdb43479828f466cf7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a918615b325e3f1cdb43479828f466cf7">◆ </a></span>sendMeasurementWithDiagnostics()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::optional< String > API::sendMeasurementWithDiagnostics </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structDataPacket.html">DataPacket</a> & </td>
<td class="paramname"><em>packet</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">String </td>
<td class="paramname"><em>version</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">String </td>
<td class="paramname"><em>boottime</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends diagnostic/analytic data to the server along with a <a class="el" href="structDataPacket.html" title="Stores data points included in an uploaded "measurement".">DataPacket</a>. </p>
<p>This request requires authentication. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">packet</td><td>Packet to be sent. </td></tr>
<tr><td class="paramname">version</td><td>Device's software version number. </td></tr>
<tr><td class="paramname">boottime</td><td><a class="el" href="classTimestamp.html" title="Timestamping facility that uses NTP to provide accurate date and time.">Timestamp</a> of last connection to the internet. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If successful, the timestamp of the last <a class="el" href="structAPI_1_1DeviceConfig.html">DeviceConfig</a> modification </dd></dl>
</div>
</div>
<a id="a532d91caf2eb282118488b0c7150cf56" name="a532d91caf2eb282118488b0c7150cf56"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a532d91caf2eb282118488b0c7150cf56">◆ </a></span>sendRegister()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::optional< String > API::sendRegister </td>
<td>(</td>
<td class="paramtype">String </td>
<td class="paramname"><em>email</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Attempts to register the device with the given email. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">email</td><td>Email to register with. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Device's new <a class="el" href="classAPI.html" title="Provides interface for API calls.">API</a> token if successful. </dd></dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a1ae6751f843fcaaf0f0b93d27d6a1f55" name="a1ae6751f843fcaaf0f0b93d27d6a1f55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ae6751f843fcaaf0f0b93d27d6a1f55">◆ </a></span>Base</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr const char API::Base[] = "https://api.tracket.info/v1/"</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="classAPI.html" title="Provides interface for API calls.">API</a> host / base URL. </p>
<p class="definition">Definition at line <a class="el" href="api_8h_source.html#l00039">39</a> of file <a class="el" href="api_8h_source.html">api.h</a>.</p>
</div>
</div>
<a id="ae30c1b907bd31044253fdefa2fba7d05" name="ae30c1b907bd31044253fdefa2fba7d05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae30c1b907bd31044253fdefa2fba7d05">◆ </a></span>id</h2>
<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="classUUID.html">UUID</a> API::id</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Device's <a class="el" href="classUUID.html">UUID</a>. </p>
<p class="definition">Definition at line <a class="el" href="api_8h_source.html#l00130">130</a> of file <a class="el" href="api_8h_source.html">api.h</a>.</p>
</div>
</div>
<a id="a2f230c506eebd06856b9bbd1ff25695e" name="a2f230c506eebd06856b9bbd1ff25695e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f230c506eebd06856b9bbd1ff25695e">◆ </a></span>token</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">String API::token</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Device's <a class="el" href="classAPI.html" title="Provides interface for API calls.">API</a> token for authorized requests. </p>
<p class="definition">Definition at line <a class="el" href="api_8h_source.html#l00132">132</a> of file <a class="el" href="api_8h_source.html">api.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>noisemeter-device/<a class="el" href="api_8h_source.html">api.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.8
</small></address>
</body>
</html>