1
0
mirror of https://github.com/taigrr/arduinolibs synced 2025-01-18 04:33:12 -08:00
arduinolibs/classRTC.html
Rhys Weatherley 486cf115a8 Update docs
2012-06-12 11:29:40 +10:00

590 lines
40 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"/>
<title>ArduinoLibs: RTC Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.7.4 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">ArduinoLibs</div>
</td>
</tr>
</tbody>
</table>
</div>
<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 id="searchli">
<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>
</div>
<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="#pub-static-attribs">Static Public Attributes</a> </div>
<div class="headertitle">
<div class="title">RTC Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="RTC" -->
<p>Base class for realtime clock handlers.
<a href="classRTC.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="RTC_8h_source.html">RTC.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for RTC:</div>
<div class="dyncontent">
<div class="center">
<img src="classRTC.png" usemap="#RTC_map" alt=""/>
<map id="RTC_map" name="RTC_map">
<area href="classDS1307RTC.html" title="Communicates with a DS1307 realtime clock chip via I2C." alt="DS1307RTC" shape="rect" coords="0,56,81,80"/>
<area href="classDS3232RTC.html" title="Communicates with a DS3232 realtime clock chip via I2C." alt="DS3232RTC" shape="rect" coords="91,56,172,80"/>
</map>
</div></div>
<p><a href="classRTC-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#ada31c5120d18d2dd2863b3d440308da2">RTC</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a new realtime clock handler. <a href="#ada31c5120d18d2dd2863b3d440308da2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#a3690761f29654a2c9e676fcbfa32dd30">hasUpdates</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the realtime clock has updated since the last call to this function. <a href="#a3690761f29654a2c9e676fcbfa32dd30"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#aaf0a5c1f32f210a49718d148620b5bec">readTime</a> (<a class="el" href="structRTCTime.html">RTCTime</a> *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the current time from the realtime clock into <em>value</em>. <a href="#aaf0a5c1f32f210a49718d148620b5bec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#aa1e21bf42ebd4456919744ae0f4f631e">readDate</a> (<a class="el" href="structRTCDate.html">RTCDate</a> *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the current date from the realtime clock into <em>value</em>. <a href="#aa1e21bf42ebd4456919744ae0f4f631e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#a102e2ec15bf0273d8f7e9ce4b6dcc96e">writeTime</a> (const <a class="el" href="structRTCTime.html">RTCTime</a> *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the time in the realtime clock to match <em>value</em>. <a href="#a102e2ec15bf0273d8f7e9ce4b6dcc96e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#ae667600d05c8e7b06a93574dd068a4d7">writeDate</a> (const <a class="el" href="structRTCDate.html">RTCDate</a> *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the date in the realtime clock to match <em>value</em>. <a href="#ae667600d05c8e7b06a93574dd068a4d7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#ade282d7a60147c3f0269f1fcd59c8d66">readAlarm</a> (uint8_t alarmNum, <a class="el" href="structRTCAlarm.html">RTCAlarm</a> *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the details of the alarm with index <em>alarmNum</em> into <em>value</em>. <a href="#ade282d7a60147c3f0269f1fcd59c8d66"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#a0e96c91efd9e7a6340effdae3eadf17e">writeAlarm</a> (uint8_t alarmNum, const <a class="el" href="structRTCAlarm.html">RTCAlarm</a> *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the details of the alarm with index <em>alarmNum</em> from <em>value</em>. <a href="#a0e96c91efd9e7a6340effdae3eadf17e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#acfdebfb449710e44e11f9a3675e14fd8">byteCount</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of bytes of non-volatile memory that can be used for storage of arbitrary settings, excluding storage used by alarms. <a href="#acfdebfb449710e44e11f9a3675e14fd8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#a0f47b10b436e3f9d36e04ec907579431">readByte</a> (uint8_t offset)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the byte at <em>offset</em> within the realtime clock's non-volatile memory. <a href="#a0f47b10b436e3f9d36e04ec907579431"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#a1cab6397ec04b1e2b3feea5b3cd1f749">writeByte</a> (uint8_t offset, uint8_t value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes <em>value</em> to <em>offset</em> within the realtime clock's non-volatile memory. <a href="#a1cab6397ec04b1e2b3feea5b3cd1f749"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#aeca3c8387332e8cabfd09c1806276e5a">readTemperature</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the value of the temperature sensor and returns the temperature in quarters of a degree celcius. <a href="#aeca3c8387332e8cabfd09c1806276e5a"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#adc29d7c43efc5a192d21965da5c3ee1d">adjustDays</a> (<a class="el" href="structRTCDate.html">RTCDate</a> *date, uint8_t flags)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adjusts <em>date</em> up or down one day according to <em>flags</em>. <a href="#adc29d7c43efc5a192d21965da5c3ee1d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#aeca597e6e37a05716e664242f9cfc5f4">adjustMonths</a> (<a class="el" href="structRTCDate.html">RTCDate</a> *date, uint8_t flags)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adjusts <em>date</em> up or down one month according to <em>flags</em>. <a href="#aeca597e6e37a05716e664242f9cfc5f4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#a31d10cb2f7cac8839bd4be2d858b802d">adjustYears</a> (<a class="el" href="structRTCDate.html">RTCDate</a> *date, uint8_t flags)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adjusts <em>date</em> up or down one year according to <em>flags</em>. <a href="#a31d10cb2f7cac8839bd4be2d858b802d"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee5ae8f600ee5296e65635c0d836fca3"></a><!-- doxytag: member="RTC::ALARM_COUNT" ref="aee5ae8f600ee5296e65635c0d836fca3" args="" -->
static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#aee5ae8f600ee5296e65635c0d836fca3">ALARM_COUNT</a> = 4</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of alarms that are supported by <a class="el" href="classRTC.html#ade282d7a60147c3f0269f1fcd59c8d66" title="Reads the details of the alarm with index alarmNum into value.">RTC::readAlarm()</a> and <a class="el" href="classRTC.html#a0e96c91efd9e7a6340effdae3eadf17e" title="Updates the details of the alarm with index alarmNum from value.">RTC::writeAlarm()</a>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ed5480b362a83f1f45c4d3bcf7c3bf8"></a><!-- doxytag: member="RTC::NO_TEMPERATURE" ref="a9ed5480b362a83f1f45c4d3bcf7c3bf8" args="" -->
static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#a9ed5480b362a83f1f45c4d3bcf7c3bf8">NO_TEMPERATURE</a> = 32767</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Value that is returned from <a class="el" href="classRTC.html#aeca3c8387332e8cabfd09c1806276e5a" title="Reads the value of the temperature sensor and returns the temperature in quarters of a degree celcius...">readTemperature()</a> if the realtime clock chip cannot determine the temperature. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aacbe3ebbf893685950b05327c11d5c37"></a><!-- doxytag: member="RTC::INCREMENT" ref="aacbe3ebbf893685950b05327c11d5c37" args="" -->
static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#aacbe3ebbf893685950b05327c11d5c37">INCREMENT</a> = 0x0000</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment the day, month, or year in a call to <a class="el" href="classRTC.html#adc29d7c43efc5a192d21965da5c3ee1d" title="Adjusts date up or down one day according to flags.">adjustDays()</a>, <a class="el" href="classRTC.html#aeca597e6e37a05716e664242f9cfc5f4" title="Adjusts date up or down one month according to flags.">adjustMonths()</a>, or <a class="el" href="classRTC.html#a31d10cb2f7cac8839bd4be2d858b802d" title="Adjusts date up or down one year according to flags.">adjustYears()</a>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05b1bd1479afc80682abdd4f3e58dc6f"></a><!-- doxytag: member="RTC::DECREMENT" ref="a05b1bd1479afc80682abdd4f3e58dc6f" args="" -->
static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#a05b1bd1479afc80682abdd4f3e58dc6f">DECREMENT</a> = 0x0001</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement the day, month, or year in a call to <a class="el" href="classRTC.html#adc29d7c43efc5a192d21965da5c3ee1d" title="Adjusts date up or down one day according to flags.">adjustDays()</a>, <a class="el" href="classRTC.html#aeca597e6e37a05716e664242f9cfc5f4" title="Adjusts date up or down one month according to flags.">adjustMonths()</a>, or <a class="el" href="classRTC.html#a31d10cb2f7cac8839bd4be2d858b802d" title="Adjusts date up or down one year according to flags.">adjustYears()</a>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02ace2d775063be9a99035851c9274eb"></a><!-- doxytag: member="RTC::WRAP" ref="a02ace2d775063be9a99035851c9274eb" args="" -->
static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTC.html#a02ace2d775063be9a99035851c9274eb">WRAP</a> = 0x0002</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrap around to the beginning of the current month/year rather than advance to the next one. <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Base class for realtime clock handlers. </p>
<p>This class simplifies the process of reading and writing the time and date information in a realtime clock chip. The class also provides support for reading and writing information about alarms and other clock settings.</p>
<p>It is intended that the application will instantiate a subclass of this class to handle the specific realtime clock chip in the system. The default implementation in <a class="el" href="classRTC.html" title="Base class for realtime clock handlers.">RTC</a> simulates a clock based on the value of millis(), with alarms and clock settings stored in main memory.</p>
<p>Because the common DS1307 and DS3232 realtime clock chips use a 2-digit year, this class is also limited to dates between 2000 and 2099 inclusive.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structRTCTime.html" title="Stores time information from a realtime clock chip.">RTCTime</a>, <a class="el" href="structRTCDate.html" title="Stores date information from a realtime clock chip.">RTCDate</a>, <a class="el" href="structRTCAlarm.html" title="Stores alarm information from a realtime clock chip.">RTCAlarm</a>, <a class="el" href="classDS1307RTC.html" title="Communicates with a DS1307 realtime clock chip via I2C.">DS1307RTC</a>, <a class="el" href="classDS3232RTC.html" title="Communicates with a DS3232 realtime clock chip via I2C.">DS3232RTC</a> </dd></dl>
<p>Definition at line <a class="el" href="RTC_8h_source.html#l00049">49</a> of file <a class="el" href="RTC_8h_source.html">RTC.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ada31c5120d18d2dd2863b3d440308da2"></a><!-- doxytag: member="RTC::RTC" ref="ada31c5120d18d2dd2863b3d440308da2" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">RTC::RTC </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs a new realtime clock handler. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classRTC.html#a3690761f29654a2c9e676fcbfa32dd30" title="Returns true if the realtime clock has updated since the last call to this function.">hasUpdates()</a> </dd></dl>
<p>Definition at line <a class="el" href="RTC_8cpp_source.html#l00090">90</a> of file <a class="el" href="RTC_8cpp_source.html">RTC.cpp</a>.</p>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="adc29d7c43efc5a192d21965da5c3ee1d"></a><!-- doxytag: member="RTC::adjustDays" ref="adc29d7c43efc5a192d21965da5c3ee1d" args="(RTCDate *date, uint8_t flags)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RTC::adjustDays </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structRTCDate.html">RTCDate</a> *&#160;</td>
<td class="paramname"><em>date</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Adjusts <em>date</em> up or down one day according to <em>flags</em>. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classRTC.html#aeca597e6e37a05716e664242f9cfc5f4" title="Adjusts date up or down one month according to flags.">adjustMonths()</a>, <a class="el" href="classRTC.html#a31d10cb2f7cac8839bd4be2d858b802d" title="Adjusts date up or down one year according to flags.">adjustYears()</a> </dd></dl>
<p>Definition at line <a class="el" href="RTC_8cpp_source.html#l00298">298</a> of file <a class="el" href="RTC_8cpp_source.html">RTC.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="aeca597e6e37a05716e664242f9cfc5f4"></a><!-- doxytag: member="RTC::adjustMonths" ref="aeca597e6e37a05716e664242f9cfc5f4" args="(RTCDate *date, uint8_t flags)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RTC::adjustMonths </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structRTCDate.html">RTCDate</a> *&#160;</td>
<td class="paramname"><em>date</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Adjusts <em>date</em> up or down one month according to <em>flags</em>. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classRTC.html#adc29d7c43efc5a192d21965da5c3ee1d" title="Adjusts date up or down one day according to flags.">adjustDays()</a>, <a class="el" href="classRTC.html#a31d10cb2f7cac8839bd4be2d858b802d" title="Adjusts date up or down one year according to flags.">adjustYears()</a> </dd></dl>
<p>Definition at line <a class="el" href="RTC_8cpp_source.html#l00328">328</a> of file <a class="el" href="RTC_8cpp_source.html">RTC.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a31d10cb2f7cac8839bd4be2d858b802d"></a><!-- doxytag: member="RTC::adjustYears" ref="a31d10cb2f7cac8839bd4be2d858b802d" args="(RTCDate *date, uint8_t flags)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RTC::adjustYears </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structRTCDate.html">RTCDate</a> *&#160;</td>
<td class="paramname"><em>date</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Adjusts <em>date</em> up or down one year according to <em>flags</em>. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classRTC.html#adc29d7c43efc5a192d21965da5c3ee1d" title="Adjusts date up or down one day according to flags.">adjustDays()</a>, <a class="el" href="classRTC.html#aeca597e6e37a05716e664242f9cfc5f4" title="Adjusts date up or down one month according to flags.">adjustMonths()</a> </dd></dl>
<p>Definition at line <a class="el" href="RTC_8cpp_source.html#l00355">355</a> of file <a class="el" href="RTC_8cpp_source.html">RTC.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="acfdebfb449710e44e11f9a3675e14fd8"></a><!-- doxytag: member="RTC::byteCount" ref="acfdebfb449710e44e11f9a3675e14fd8" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int RTC::byteCount </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the number of bytes of non-volatile memory that can be used for storage of arbitrary settings, excluding storage used by alarms. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classRTC.html#a0f47b10b436e3f9d36e04ec907579431" title="Reads the byte at offset within the realtime clock&#39;s non-volatile memory.">readByte()</a>, <a class="el" href="classRTC.html#a1cab6397ec04b1e2b3feea5b3cd1f749" title="Writes value to offset within the realtime clock&#39;s non-volatile memory.">writeByte()</a> </dd></dl>
<p>Reimplemented in <a class="el" href="classDS1307RTC.html#a93c25269a9b78ab3331354db26672248">DS1307RTC</a>, and <a class="el" href="classDS3232RTC.html#a1319fe936dcb7e9d6bdf200b77a94f8e">DS3232RTC</a>.</p>
<p>Definition at line <a class="el" href="RTC_8cpp_source.html#l00220">220</a> of file <a class="el" href="RTC_8cpp_source.html">RTC.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a3690761f29654a2c9e676fcbfa32dd30"></a><!-- doxytag: member="RTC::hasUpdates" ref="a3690761f29654a2c9e676fcbfa32dd30" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool RTC::hasUpdates </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns true if the realtime clock has updated since the last call to this function. </p>
<p>The default implementation returns true, indicating that an update is always available to be read. </p>
<p>Reimplemented in <a class="el" href="classDS1307RTC.html#a6fec8ff71f33cc1a129eb0bd009600b0">DS1307RTC</a>, and <a class="el" href="classDS3232RTC.html#a619ffee1bc013c9ddf4ae415115798bc">DS3232RTC</a>.</p>
<p>Definition at line <a class="el" href="RTC_8cpp_source.html#l00119">119</a> of file <a class="el" href="RTC_8cpp_source.html">RTC.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="ade282d7a60147c3f0269f1fcd59c8d66"></a><!-- doxytag: member="RTC::readAlarm" ref="ade282d7a60147c3f0269f1fcd59c8d66" args="(uint8_t alarmNum, RTCAlarm *value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RTC::readAlarm </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>alarmNum</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structRTCAlarm.html">RTCAlarm</a> *&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Reads the details of the alarm with index <em>alarmNum</em> into <em>value</em>. </p>
<p>The <em>alarmNum</em> parameter must be between 0 and <a class="el" href="classRTC.html#aee5ae8f600ee5296e65635c0d836fca3">ALARM_COUNT</a> - 1.</p>
<p>Alarm details are stored at the end of the realtime clock's non-volatile memory.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classRTC.html#a0e96c91efd9e7a6340effdae3eadf17e" title="Updates the details of the alarm with index alarmNum from value.">writeAlarm()</a>, alarmCount() </dd></dl>
<p>Reimplemented in <a class="el" href="classDS1307RTC.html#aab608eb1630520ee122306b721fdc47a">DS1307RTC</a>, and <a class="el" href="classDS3232RTC.html#a09c7073c687dcbbc423baf48074c7873">DS3232RTC</a>.</p>
<p>Definition at line <a class="el" href="RTC_8cpp_source.html#l00194">194</a> of file <a class="el" href="RTC_8cpp_source.html">RTC.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a0f47b10b436e3f9d36e04ec907579431"></a><!-- doxytag: member="RTC::readByte" ref="a0f47b10b436e3f9d36e04ec907579431" args="(uint8_t offset)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t RTC::readByte </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>offset</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Reads the byte at <em>offset</em> within the realtime clock's non-volatile memory. </p>
<p>The <em>offset</em> parameter must be between 0 and <a class="el" href="classRTC.html#acfdebfb449710e44e11f9a3675e14fd8" title="Returns the number of bytes of non-volatile memory that can be used for storage of arbitrary settings...">byteCount()</a> - 1.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classRTC.html#a1cab6397ec04b1e2b3feea5b3cd1f749" title="Writes value to offset within the realtime clock&#39;s non-volatile memory.">writeByte()</a>, <a class="el" href="classRTC.html#acfdebfb449710e44e11f9a3675e14fd8" title="Returns the number of bytes of non-volatile memory that can be used for storage of arbitrary settings...">byteCount()</a> </dd></dl>
<p>Reimplemented in <a class="el" href="classDS1307RTC.html#a7364609a201022688778ab116c3e4f4a">DS1307RTC</a>, and <a class="el" href="classDS3232RTC.html#a5ba83a3ef7d65d45c2f3241afdd8fef7">DS3232RTC</a>.</p>
<p>Definition at line <a class="el" href="RTC_8cpp_source.html#l00232">232</a> of file <a class="el" href="RTC_8cpp_source.html">RTC.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="aa1e21bf42ebd4456919744ae0f4f631e"></a><!-- doxytag: member="RTC::readDate" ref="aa1e21bf42ebd4456919744ae0f4f631e" args="(RTCDate *value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RTC::readDate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structRTCDate.html">RTCDate</a> *&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Reads the current date from the realtime clock into <em>value</em>. </p>
<p>The time should be read first with <a class="el" href="classRTC.html#aaf0a5c1f32f210a49718d148620b5bec" title="Reads the current time from the realtime clock into value.">readTime()</a> as the default implementation only advances the date when the time is read and it crosses midnight.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classRTC.html#ae667600d05c8e7b06a93574dd068a4d7" title="Updates the date in the realtime clock to match value.">writeDate()</a>, <a class="el" href="classRTC.html#aaf0a5c1f32f210a49718d148620b5bec" title="Reads the current time from the realtime clock into value.">readTime()</a> </dd></dl>
<p>Reimplemented in <a class="el" href="classDS1307RTC.html#a6fb56d1690bc30e7995961a5b5e5fdc4">DS1307RTC</a>, and <a class="el" href="classDS3232RTC.html#ab03358e3b5996e38d766e2f9f6ab62ca">DS3232RTC</a>.</p>
<p>Definition at line <a class="el" href="RTC_8cpp_source.html#l00154">154</a> of file <a class="el" href="RTC_8cpp_source.html">RTC.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="aeca3c8387332e8cabfd09c1806276e5a"></a><!-- doxytag: member="RTC::readTemperature" ref="aeca3c8387332e8cabfd09c1806276e5a" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int RTC::readTemperature </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Reads the value of the temperature sensor and returns the temperature in quarters of a degree celcius. </p>
<p>Returns the value NO_TEMPERATURE if the realtime clock chip cannot determine the temperature. </p>
<p>Reimplemented in <a class="el" href="classDS3232RTC.html#a0faf40c25ab019a326a60f301c2bb41b">DS3232RTC</a>.</p>
<p>Definition at line <a class="el" href="RTC_8cpp_source.html#l00273">273</a> of file <a class="el" href="RTC_8cpp_source.html">RTC.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="aaf0a5c1f32f210a49718d148620b5bec"></a><!-- doxytag: member="RTC::readTime" ref="aaf0a5c1f32f210a49718d148620b5bec" args="(RTCTime *value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RTC::readTime </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structRTCTime.html">RTCTime</a> *&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Reads the current time from the realtime clock into <em>value</em>. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classRTC.html#a102e2ec15bf0273d8f7e9ce4b6dcc96e" title="Updates the time in the realtime clock to match value.">writeTime()</a>, <a class="el" href="classRTC.html#aa1e21bf42ebd4456919744ae0f4f631e" title="Reads the current date from the realtime clock into value.">readDate()</a> </dd></dl>
<p>Reimplemented in <a class="el" href="classDS1307RTC.html#acd9800d6df2244b8e4e790480a1d62a6">DS1307RTC</a>, and <a class="el" href="classDS3232RTC.html#af89e68c68f1c4b7e94286f800b5b2747">DS3232RTC</a>.</p>
<p>Definition at line <a class="el" href="RTC_8cpp_source.html#l00129">129</a> of file <a class="el" href="RTC_8cpp_source.html">RTC.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a0e96c91efd9e7a6340effdae3eadf17e"></a><!-- doxytag: member="RTC::writeAlarm" ref="a0e96c91efd9e7a6340effdae3eadf17e" args="(uint8_t alarmNum, const RTCAlarm *value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RTC::writeAlarm </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>alarmNum</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structRTCAlarm.html">RTCAlarm</a> *&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Updates the details of the alarm with index <em>alarmNum</em> from <em>value</em>. </p>
<p>The <em>alarmNum</em> parameter must be between 0 and <a class="el" href="classRTC.html#aee5ae8f600ee5296e65635c0d836fca3">ALARM_COUNT</a> - 1.</p>
<p>Alarm details are stored at the end of the realtime clock's non-volatile memory.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classRTC.html#ade282d7a60147c3f0269f1fcd59c8d66" title="Reads the details of the alarm with index alarmNum into value.">readAlarm()</a>, alarmCount() </dd></dl>
<p>Reimplemented in <a class="el" href="classDS1307RTC.html#a7354aed91d7c94d0d7b2144b1bf32c75">DS1307RTC</a>, and <a class="el" href="classDS3232RTC.html#a8b0a65e0ac479aec8fad6ca3147dbe75">DS3232RTC</a>.</p>
<p>Definition at line <a class="el" href="RTC_8cpp_source.html#l00209">209</a> of file <a class="el" href="RTC_8cpp_source.html">RTC.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a1cab6397ec04b1e2b3feea5b3cd1f749"></a><!-- doxytag: member="RTC::writeByte" ref="a1cab6397ec04b1e2b3feea5b3cd1f749" args="(uint8_t offset, uint8_t value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RTC::writeByte </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Writes <em>value</em> to <em>offset</em> within the realtime clock's non-volatile memory. </p>
<p>The <em>offset</em> parameter must be between 0 and <a class="el" href="classRTC.html#acfdebfb449710e44e11f9a3675e14fd8" title="Returns the number of bytes of non-volatile memory that can be used for storage of arbitrary settings...">byteCount()</a> - 1.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classRTC.html#a0f47b10b436e3f9d36e04ec907579431" title="Reads the byte at offset within the realtime clock&#39;s non-volatile memory.">readByte()</a>, <a class="el" href="classRTC.html#acfdebfb449710e44e11f9a3675e14fd8" title="Returns the number of bytes of non-volatile memory that can be used for storage of arbitrary settings...">byteCount()</a> </dd></dl>
<p>Reimplemented in <a class="el" href="classDS1307RTC.html#a6ef435fd4aa4adf8eefdf8b1741f5ba6">DS1307RTC</a>, and <a class="el" href="classDS3232RTC.html#a9acebf12c5cecdd6d84e0ff9ed41765a">DS3232RTC</a>.</p>
<p>Definition at line <a class="el" href="RTC_8cpp_source.html#l00247">247</a> of file <a class="el" href="RTC_8cpp_source.html">RTC.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="ae667600d05c8e7b06a93574dd068a4d7"></a><!-- doxytag: member="RTC::writeDate" ref="ae667600d05c8e7b06a93574dd068a4d7" args="(const RTCDate *value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RTC::writeDate </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structRTCDate.html">RTCDate</a> *&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Updates the date in the realtime clock to match <em>value</em>. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classRTC.html#aa1e21bf42ebd4456919744ae0f4f631e" title="Reads the current date from the realtime clock into value.">readDate()</a>, <a class="el" href="classRTC.html#a102e2ec15bf0273d8f7e9ce4b6dcc96e" title="Updates the time in the realtime clock to match value.">writeTime()</a> </dd></dl>
<p>Reimplemented in <a class="el" href="classDS1307RTC.html#a4f7346be33612cf9ecd96080eb046230">DS1307RTC</a>, and <a class="el" href="classDS3232RTC.html#a31c004a90c724979d8267c31f2dbf5ed">DS3232RTC</a>.</p>
<p>Definition at line <a class="el" href="RTC_8cpp_source.html#l00179">179</a> of file <a class="el" href="RTC_8cpp_source.html">RTC.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a102e2ec15bf0273d8f7e9ce4b6dcc96e"></a><!-- doxytag: member="RTC::writeTime" ref="a102e2ec15bf0273d8f7e9ce4b6dcc96e" args="(const RTCTime *value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RTC::writeTime </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structRTCTime.html">RTCTime</a> *&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Updates the time in the realtime clock to match <em>value</em>. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classRTC.html#aaf0a5c1f32f210a49718d148620b5bec" title="Reads the current time from the realtime clock into value.">readTime()</a>, <a class="el" href="classRTC.html#ae667600d05c8e7b06a93574dd068a4d7" title="Updates the date in the realtime clock to match value.">writeDate()</a> </dd></dl>
<p>Reimplemented in <a class="el" href="classDS1307RTC.html#a0a5d0d86a0345420ebb289ea724b19e8">DS1307RTC</a>, and <a class="el" href="classDS3232RTC.html#ab0ca13a8b80da856b37fc53b84e27c78">DS3232RTC</a>.</p>
<p>Definition at line <a class="el" href="RTC_8cpp_source.html#l00164">164</a> of file <a class="el" href="RTC_8cpp_source.html">RTC.cpp</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="RTC_8h_source.html">RTC.h</a></li>
<li><a class="el" href="RTC_8cpp_source.html">RTC.cpp</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)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a></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>
<hr class="footer"/><address class="footer"><small>Generated on Tue Jun 12 2012 11:29:26 for ArduinoLibs by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>