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
143
144
145
146
147
148
149
150
151
152
|
<!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.5"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Sensor Watch: watch-library/shared/watch/watch_adc.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 id="projectrow">
<td id="projectalign">
<div id="projectname">Sensor Watch<span id="projectnumber"> 0.0.2</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.5 -->
<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 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_3351a3556ab4b770be21f3a77a6d7b80.html">shared</a></li><li class="navelem"><a class="el" href="dir_280ec1f3fe74f12cdd5c78898ed1ca3c.html">watch</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">watch_adc.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * MIT License</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> *</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * Copyright (c) 2020 Joey Castillo</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> *</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a copy</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * of this software and associated documentation files (the "Software"), to deal</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * in the Software without restriction, including without limitation the rights</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * copies of the Software, and to permit persons to whom the Software is</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> *</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * The above copyright notice and this permission notice shall be included in all</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * copies or substantial portions of the Software.</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> *</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"> * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><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 id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> * SOFTWARE.</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> */</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#ifndef _WATCH_ADC_H_INCLUDED</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#define _WATCH_ADC_H_INCLUDED</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include "<a class="code" href="watch_8h.html">watch.h</a>"</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="group__adc.html#ga908b5334af677309b03d7679d77aaa02"> 39</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__adc.html#ga908b5334af677309b03d7679d77aaa02">watch_enable_adc</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="group__adc.html#ga30a491e9cab049a2812f75862a613aa8"> 44</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__adc.html#ga30a491e9cab049a2812f75862a613aa8">watch_enable_analog_input</a>(<span class="keyword">const</span> uint8_t pin);</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="group__adc.html#ga2064244f68cff87a1df08f6b07183069"> 52</a></span>uint16_t <a class="code hl_function" href="group__adc.html#ga2064244f68cff87a1df08f6b07183069">watch_get_analog_pin_level</a>(<span class="keyword">const</span> uint8_t pin);</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="group__adc.html#ga90bac58a3fa935d8fd640f4b58c8037d"> 75</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__adc.html#ga90bac58a3fa935d8fd640f4b58c8037d">watch_set_analog_num_samples</a>(uint16_t samples);</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="group__adc.html#gae9f9ed34e8752e211c1692af473a88dc"> 95</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__adc.html#gae9f9ed34e8752e211c1692af473a88dc">watch_set_analog_sampling_length</a>(uint8_t cycles);</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> ADC_REFERENCE_INTREF = 0,</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> ADC_REFERENCE_VCC_DIV1POINT6,</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> ADC_REFERENCE_VCC_DIV2,</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> ADC_REFERENCE_VCC,</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span>} watch_adc_reference_voltage;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"><a class="line" href="group__adc.html#ga9ea7b8aef4573f02ff3adafcf891cd93"> 130</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__adc.html#ga9ea7b8aef4573f02ff3adafcf891cd93">watch_set_analog_reference_voltage</a>(watch_adc_reference_voltage reference);</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"><a class="line" href="group__adc.html#ga465fcb058492d350d29fe4403df85b14"> 142</a></span>uint16_t <a class="code hl_function" href="group__adc.html#ga465fcb058492d350d29fe4403df85b14">watch_get_vcc_voltage</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="group__adc.html#gae38e15840bc5f3eca16ccb782dbb1c31"> 147</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__adc.html#gae38e15840bc5f3eca16ccb782dbb1c31">watch_disable_analog_input</a>(<span class="keyword">const</span> uint8_t pin);</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> </div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"><a class="line" href="group__adc.html#gaf443c79008bec5ceecbd21ad401d52cb"> 154</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__adc.html#gaf443c79008bec5ceecbd21ad401d52cb">watch_disable_adc</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="agroup__adc_html_ga2064244f68cff87a1df08f6b07183069"><div class="ttname"><a href="group__adc.html#ga2064244f68cff87a1df08f6b07183069">watch_get_analog_pin_level</a></div><div class="ttdeci">uint16_t watch_get_analog_pin_level(const uint8_t pin)</div><div class="ttdoc">Reads an analog value from one of the pins.</div></div>
<div class="ttc" id="agroup__adc_html_ga30a491e9cab049a2812f75862a613aa8"><div class="ttname"><a href="group__adc.html#ga30a491e9cab049a2812f75862a613aa8">watch_enable_analog_input</a></div><div class="ttdeci">void watch_enable_analog_input(const uint8_t pin)</div><div class="ttdoc">Configures the selected pin for analog input.</div></div>
<div class="ttc" id="agroup__adc_html_ga465fcb058492d350d29fe4403df85b14"><div class="ttname"><a href="group__adc.html#ga465fcb058492d350d29fe4403df85b14">watch_get_vcc_voltage</a></div><div class="ttdeci">uint16_t watch_get_vcc_voltage(void)</div><div class="ttdoc">Returns the voltage of the VCC supply in millivolts (i.e. 3000 mV == 3.0 V). If running on a coin cel...</div></div>
<div class="ttc" id="agroup__adc_html_ga908b5334af677309b03d7679d77aaa02"><div class="ttname"><a href="group__adc.html#ga908b5334af677309b03d7679d77aaa02">watch_enable_adc</a></div><div class="ttdeci">void watch_enable_adc(void)</div><div class="ttdoc">Enables the ADC peripheral. You must call this before attempting to read a value from an analog pin.</div></div>
<div class="ttc" id="agroup__adc_html_ga90bac58a3fa935d8fd640f4b58c8037d"><div class="ttname"><a href="group__adc.html#ga90bac58a3fa935d8fd640f4b58c8037d">watch_set_analog_num_samples</a></div><div class="ttdeci">void watch_set_analog_num_samples(uint16_t samples)</div><div class="ttdoc">Sets the number of samples to accumulate when measuring a pin level. Default is 16.</div></div>
<div class="ttc" id="agroup__adc_html_ga9ea7b8aef4573f02ff3adafcf891cd93"><div class="ttname"><a href="group__adc.html#ga9ea7b8aef4573f02ff3adafcf891cd93">watch_set_analog_reference_voltage</a></div><div class="ttdeci">void watch_set_analog_reference_voltage(watch_adc_reference_voltage reference)</div><div class="ttdoc">Selects the reference voltage to use for analog readings. Default is ADC_REFERENCE_VCC.</div></div>
<div class="ttc" id="agroup__adc_html_gae38e15840bc5f3eca16ccb782dbb1c31"><div class="ttname"><a href="group__adc.html#gae38e15840bc5f3eca16ccb782dbb1c31">watch_disable_analog_input</a></div><div class="ttdeci">void watch_disable_analog_input(const uint8_t pin)</div><div class="ttdoc">Disables the analog circuitry on the selected pin.</div></div>
<div class="ttc" id="agroup__adc_html_gae9f9ed34e8752e211c1692af473a88dc"><div class="ttname"><a href="group__adc.html#gae9f9ed34e8752e211c1692af473a88dc">watch_set_analog_sampling_length</a></div><div class="ttdeci">void watch_set_analog_sampling_length(uint8_t cycles)</div><div class="ttdoc">Sets the length of time spent sampling, which allows measurement of higher impedance inputs....</div></div>
<div class="ttc" id="agroup__adc_html_gaf443c79008bec5ceecbd21ad401d52cb"><div class="ttname"><a href="group__adc.html#gaf443c79008bec5ceecbd21ad401d52cb">watch_disable_adc</a></div><div class="ttdeci">void watch_disable_adc(void)</div><div class="ttdoc">Disables the ADC peripheral.</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 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
</small></address>
</body>
</html>
|