summaryrefslogtreecommitdiffstats
path: root/watch__deepsleep_8h_source.html
blob: ae518975422effed66e9c4e76dc1f490d84476b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<!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>Sensor Watch: watch-library/watch/watch_deepsleep.h Source File</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 style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Sensor Watch
   &#160;<span id="projectnumber">0.0.0</span>
   </div>
   <div id="projectbrief">A board replacement for the classic Casio F-91W wristwatch, powered by a Microchip SAM L22 microcontroller.</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&amp;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&amp;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>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_f1a087a6659d970f5756e21fc1ac4961.html">watch-library</a></li><li class="navelem"><a class="el" href="dir_9dad893af07e666757bee97778571595.html">watch</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">watch_deepsleep.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * MIT License</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Copyright (c) 2020 Joey Castillo</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a copy</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * of this software and associated documentation files (the &quot;Software&quot;), to deal</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * in the Software without restriction, including without limitation the rights</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * copies of the Software, and to permit persons to whom the Software is</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be included in all</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * copies or substantial portions of the Software.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#ifndef _WATCH_DEEPSLEEP_H_INCLUDED</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#define _WATCH_DEEPSLEEP_H_INCLUDED</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="watch_8h.html">watch.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">// These are declared in watch_rtc.c.</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">extern</span> ext_irq_cb_t btn_alarm_callback;</div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">extern</span> ext_irq_cb_t a2_callback;</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">extern</span> ext_irq_cb_t a4_callback;</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__deepsleep.html#gacad726423f5f38697c87474ab25244ca">watch_register_extwake_callback</a>(uint8_t pin, ext_irq_cb_t callback, <span class="keywordtype">bool</span> level);</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__deepsleep.html#gaae4dfbad44338b179a7b2d8a286bacbe">watch_disable_extwake_interrupt</a>(uint8_t pin);</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__deepsleep.html#ga385b36922ec76c5fe697772f97a05846">watch_store_backup_data</a>(uint32_t data, uint8_t reg);</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160; </div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;uint32_t <a class="code" href="group__deepsleep.html#ga2de1f1012475654c4741f60808581196">watch_get_backup_data</a>(uint8_t reg);</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__deepsleep.html#ga9f7a625290748f0df6ba2ceb27e0d81b">watch_enter_sleep_mode</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__deepsleep.html#gaea469761889ff203385f3bfd88bb2451">watch_enter_deep_sleep_mode</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__deepsleep.html#ga50dda38a8a83d7d957e3bb2bf13aa3ef">watch_enter_backup_mode</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160; </div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;__attribute__((deprecated(<span class="stringliteral">&quot;Use watch_enter_sleep_mode or watch_enter_deep_sleep_mode instead&quot;</span>)))</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;void watch_enter_shallow_sleep(<span class="keywordtype">bool</span> display_on);</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; </div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;__attribute__((deprecated(&quot;Use <a class="code" href="group__deepsleep.html#ga50dda38a8a83d7d957e3bb2bf13aa3ef">watch_enter_backup_mode</a> instead&quot;)))</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">void</span> watch_enter_deep_sleep(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="agroup__deepsleep_html_ga2de1f1012475654c4741f60808581196"><div class="ttname"><a href="group__deepsleep.html#ga2de1f1012475654c4741f60808581196">watch_get_backup_data</a></div><div class="ttdeci">uint32_t watch_get_backup_data(uint8_t reg)</div><div class="ttdoc">Gets 32 bits of data from the RTC's BACKUP register.</div><div class="ttdef"><b>Definition:</b> watch_deepsleep.c:121</div></div>
<div class="ttc" id="agroup__deepsleep_html_ga385b36922ec76c5fe697772f97a05846"><div class="ttname"><a href="group__deepsleep.html#ga385b36922ec76c5fe697772f97a05846">watch_store_backup_data</a></div><div class="ttdeci">void watch_store_backup_data(uint32_t data, uint8_t reg)</div><div class="ttdoc">Stores data in one of the RTC's backup registers, which retain their data in BACKUP mode.</div><div class="ttdef"><b>Definition:</b> watch_deepsleep.c:115</div></div>
<div class="ttc" id="agroup__deepsleep_html_ga50dda38a8a83d7d957e3bb2bf13aa3ef"><div class="ttname"><a href="group__deepsleep.html#ga50dda38a8a83d7d957e3bb2bf13aa3ef">watch_enter_backup_mode</a></div><div class="ttdeci">void watch_enter_backup_mode(void)</div><div class="ttdoc">Enters the SAM L22's lowest-power mode, BACKUP.</div><div class="ttdef"><b>Definition:</b> watch_deepsleep.c:188</div></div>
<div class="ttc" id="agroup__deepsleep_html_ga9f7a625290748f0df6ba2ceb27e0d81b"><div class="ttname"><a href="group__deepsleep.html#ga9f7a625290748f0df6ba2ceb27e0d81b">watch_enter_sleep_mode</a></div><div class="ttdeci">void watch_enter_sleep_mode(void)</div><div class="ttdoc">enters Sleep Mode by disabling all pins and peripherals except the RTC and the LCD.</div><div class="ttdef"><b>Definition:</b> watch_deepsleep.c:154</div></div>
<div class="ttc" id="agroup__deepsleep_html_gaae4dfbad44338b179a7b2d8a286bacbe"><div class="ttname"><a href="group__deepsleep.html#gaae4dfbad44338b179a7b2d8a286bacbe">watch_disable_extwake_interrupt</a></div><div class="ttdeci">void watch_disable_extwake_interrupt(uint8_t pin)</div><div class="ttdoc">Unregisters the RTC interrupt on one of the EXTWAKE pins. This will prevent a value change on one of ...</div><div class="ttdef"><b>Definition:</b> watch_deepsleep.c:87</div></div>
<div class="ttc" id="agroup__deepsleep_html_gacad726423f5f38697c87474ab25244ca"><div class="ttname"><a href="group__deepsleep.html#gacad726423f5f38697c87474ab25244ca">watch_register_extwake_callback</a></div><div class="ttdeci">void watch_register_extwake_callback(uint8_t pin, ext_irq_cb_t callback, bool level)</div><div class="ttdoc">Registers a callback on one of the RTC's external wake pins, which can wake the device from Sleep,...</div><div class="ttdef"><b>Definition:</b> watch_deepsleep.c:34</div></div>
<div class="ttc" id="agroup__deepsleep_html_gaea469761889ff203385f3bfd88bb2451"><div class="ttname"><a href="group__deepsleep.html#gaea469761889ff203385f3bfd88bb2451">watch_enter_deep_sleep_mode</a></div><div class="ttdeci">void watch_enter_deep_sleep_mode(void)</div><div class="ttdoc">enters Deep Sleep Mode by disabling all pins and peripherals except the RTC.</div><div class="ttdef"><b>Definition:</b> watch_deepsleep.c:180</div></div>
<div class="ttc" id="awatch_8h_html"><div class="ttname"><a href="watch_8h.html">watch.h</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>