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: Timestamp 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="#pub-methods">Public Member Functions</a> |
<a href="#pub-static-methods">Static Public Member Functions</a> |
<a href="#pri-attribs">Private Attributes</a> |
<a href="classTimestamp-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">Timestamp Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Timestamping facility that uses NTP to provide accurate date and time.
<a href="classTimestamp.html#details">More...</a></p>
<p><code>#include <<a class="el" href="timestamp_8h_source.html">timestamp.h</a>></code></p>
<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:ace6d40adbf85f83bc2b9d1fd65412661" id="r_ace6d40adbf85f83bc2b9d1fd65412661"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTimestamp.html#ace6d40adbf85f83bc2b9d1fd65412661">Timestamp</a> (std::time_t tm_=std::time(nullptr))</td></tr>
<tr class="memdesc:ace6d40adbf85f83bc2b9d1fd65412661"><td class="mdescLeft"> </td><td class="mdescRight">Creates a new timestamp. <br /></td></tr>
<tr class="separator:ace6d40adbf85f83bc2b9d1fd65412661"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a796b02fa865e0a3183209f2d51723a51" id="r_a796b02fa865e0a3183209f2d51723a51"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTimestamp.html#a796b02fa865e0a3183209f2d51723a51">valid</a> () const noexcept</td></tr>
<tr class="memdesc:a796b02fa865e0a3183209f2d51723a51"><td class="mdescLeft"> </td><td class="mdescRight">Determines if the timestamp is valid. <br /></td></tr>
<tr class="separator:a796b02fa865e0a3183209f2d51723a51"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac5e5a9a52c9ff1625e63d8127c5e57f9" id="r_ac5e5a9a52c9ff1625e63d8127c5e57f9"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTimestamp.html#ac5e5a9a52c9ff1625e63d8127c5e57f9">operator String</a> () const noexcept</td></tr>
<tr class="memdesc:ac5e5a9a52c9ff1625e63d8127c5e57f9"><td class="mdescLeft"> </td><td class="mdescRight">Converts the timestamp to a human-readable string. <br /></td></tr>
<tr class="separator:ac5e5a9a52c9ff1625e63d8127c5e57f9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ace7251bf1a360e4588464c98e6d152e1" id="r_ace7251bf1a360e4588464c98e6d152e1"><td class="memItemLeft" align="right" valign="top">auto </td><td class="memItemRight" valign="bottom"><a class="el" href="classTimestamp.html#ace7251bf1a360e4588464c98e6d152e1">secondsBetween</a> (<a class="el" href="classTimestamp.html">Timestamp</a> ts) const noexcept</td></tr>
<tr class="memdesc:ace7251bf1a360e4588464c98e6d152e1"><td class="mdescLeft"> </td><td class="mdescRight">Determines the number of seconds between this and the given timestamp. <br /></td></tr>
<tr class="separator:ace7251bf1a360e4588464c98e6d152e1"><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:a539006e78773ce5b070266b7d60663c0" id="r_a539006e78773ce5b070266b7d60663c0"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="classTimestamp.html#a539006e78773ce5b070266b7d60663c0">synchronize</a> ()</td></tr>
<tr class="memdesc:a539006e78773ce5b070266b7d60663c0"><td class="mdescLeft"> </td><td class="mdescRight">Synchronizes system time with an NTP time server. <br /></td></tr>
<tr class="separator:a539006e78773ce5b070266b7d60663c0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a66f54270c50d2435a310c6a459e3b747" id="r_a66f54270c50d2435a310c6a459e3b747"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classTimestamp.html">Timestamp</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTimestamp.html#a66f54270c50d2435a310c6a459e3b747">invalidTimestamp</a> ()</td></tr>
<tr class="memdesc:a66f54270c50d2435a310c6a459e3b747"><td class="mdescLeft"> </td><td class="mdescRight">Provides a timestamp that is guaranteed to be invalid. <br /></td></tr>
<tr class="separator:a66f54270c50d2435a310c6a459e3b747"><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:ae0a49cea6353c29f69b780fd9a1a627f" id="r_ae0a49cea6353c29f69b780fd9a1a627f"><td class="memItemLeft" align="right" valign="top">std::time_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classTimestamp.html#ae0a49cea6353c29f69b780fd9a1a627f">tm</a></td></tr>
<tr class="memdesc:ae0a49cea6353c29f69b780fd9a1a627f"><td class="mdescLeft"> </td><td class="mdescRight">Stores system time. <br /></td></tr>
<tr class="separator:ae0a49cea6353c29f69b780fd9a1a627f"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Timestamping facility that uses NTP to provide accurate date and time. </p>
<p class="definition">Definition at line <a class="el" href="timestamp_8h_source.html#l00036">36</a> of file <a class="el" href="timestamp_8h_source.html">timestamp.h</a>.</p>
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
<a id="ace6d40adbf85f83bc2b9d1fd65412661" name="ace6d40adbf85f83bc2b9d1fd65412661"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace6d40adbf85f83bc2b9d1fd65412661">◆ </a></span>Timestamp()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Timestamp::Timestamp </td>
<td>(</td>
<td class="paramtype">std::time_t </td>
<td class="paramname"><em>tm_</em> = <code>std::time(nullptr)</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new timestamp. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">tm_</td><td>time_t value for timestamp, default to now. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="timestamp_8h_source.html#l00043">43</a> of file <a class="el" href="timestamp_8h_source.html">timestamp.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a66f54270c50d2435a310c6a459e3b747" name="a66f54270c50d2435a310c6a459e3b747"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66f54270c50d2435a310c6a459e3b747">◆ </a></span>invalidTimestamp()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classTimestamp.html">Timestamp</a> Timestamp::invalidTimestamp </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Provides a timestamp that is guaranteed to be invalid. </p>
<dl class="section return"><dt>Returns</dt><dd>The invalid timestamp </dd></dl>
<p class="definition">Definition at line <a class="el" href="timestamp_8h_source.html#l00100">100</a> of file <a class="el" href="timestamp_8h_source.html">timestamp.h</a>.</p>
</div>
</div>
<a id="ac5e5a9a52c9ff1625e63d8127c5e57f9" name="ac5e5a9a52c9ff1625e63d8127c5e57f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5e5a9a52c9ff1625e63d8127c5e57f9">◆ </a></span>operator String()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Timestamp::operator String </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Converts the timestamp to a human-readable string. </p>
<p>Useful for serialization and timestamping of data packets. </p>
<p class="definition">Definition at line <a class="el" href="timestamp_8h_source.html#l00058">58</a> of file <a class="el" href="timestamp_8h_source.html">timestamp.h</a>.</p>
</div>
</div>
<a id="ace7251bf1a360e4588464c98e6d152e1" name="ace7251bf1a360e4588464c98e6d152e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace7251bf1a360e4588464c98e6d152e1">◆ </a></span>secondsBetween()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto Timestamp::secondsBetween </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classTimestamp.html">Timestamp</a> </td>
<td class="paramname"><em>ts</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Determines the number of seconds between this and the given timestamp. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ts</td><td><a class="el" href="classTimestamp.html" title="Timestamping facility that uses NTP to provide accurate date and time.">Timestamp</a> to compare against </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Time difference in seconds as a floating point value </dd></dl>
<p class="definition">Definition at line <a class="el" href="timestamp_8h_source.html#l00071">71</a> of file <a class="el" href="timestamp_8h_source.html">timestamp.h</a>.</p>
</div>
</div>
<a id="a539006e78773ce5b070266b7d60663c0" name="a539006e78773ce5b070266b7d60663c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a539006e78773ce5b070266b7d60663c0">◆ </a></span>synchronize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int Timestamp::synchronize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Synchronizes system time with an NTP time server. </p>
<p>Requires the device to be connected to the general internet. Will eventually timeout if synchronization does not succeed. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="timestamp_8h.html#ac2c2221b23f80ab0e69e1cdc4bc1b4c5" title="Maximum number of milliseconds to wait for NTP sync to succeed.">NTP_CONNECT_TIMEOUT_MS</a> </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success or a negative number on failure </dd></dl>
<p class="definition">Definition at line <a class="el" href="timestamp_8h_source.html#l00082">82</a> of file <a class="el" href="timestamp_8h_source.html">timestamp.h</a>.</p>
</div>
</div>
<a id="a796b02fa865e0a3183209f2d51723a51" name="a796b02fa865e0a3183209f2d51723a51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a796b02fa865e0a3183209f2d51723a51">◆ </a></span>valid()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool Timestamp::valid </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Determines if the timestamp is valid. </p>
<dl class="section return"><dt>Returns</dt><dd>True if the timestamp is valid. </dd></dl>
<p class="definition">Definition at line <a class="el" href="timestamp_8h_source.html#l00050">50</a> of file <a class="el" href="timestamp_8h_source.html">timestamp.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ae0a49cea6353c29f69b780fd9a1a627f" name="ae0a49cea6353c29f69b780fd9a1a627f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0a49cea6353c29f69b780fd9a1a627f">◆ </a></span>tm</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::time_t Timestamp::tm</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>Stores system time. </p>
<p class="definition">Definition at line <a class="el" href="timestamp_8h_source.html#l00106">106</a> of file <a class="el" href="timestamp_8h_source.html">timestamp.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="timestamp_8h_source.html">timestamp.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>