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: SPLMeter 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-attribs">Static Public Attributes</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="classSPLMeter-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">SPLMeter Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Provides a minimal interface for reading decibel levels from the microphone.
<a href="classSPLMeter.html#details">More...</a></p>
<p><code>#include <<a class="el" href="spl-meter_8h_source.html">spl-meter.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:aa8094a48a43c460a8d9df34a849ed566" id="r_aa8094a48a43c460a8d9df34a849ed566"><td class="memItemLeft" align="right" valign="top"><a id="aa8094a48a43c460a8d9df34a849ed566" name="aa8094a48a43c460a8d9df34a849ed566"></a>
void </td><td class="memItemRight" valign="bottom"><b>initMicrophone</b> () noexcept</td></tr>
<tr class="memdesc:aa8094a48a43c460a8d9df34a849ed566"><td class="mdescLeft"> </td><td class="mdescRight">Prepares I2S Driver and microphone hardware. <br /></td></tr>
<tr class="separator:aa8094a48a43c460a8d9df34a849ed566"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a07a48dbda1a2ef0d7c9baf29a0d31ffd" id="r_a07a48dbda1a2ef0d7c9baf29a0d31ffd"><td class="memItemLeft" align="right" valign="top">std::optional< float > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSPLMeter.html#a07a48dbda1a2ef0d7c9baf29a0d31ffd">readMicrophoneData</a> () noexcept</td></tr>
<tr class="memdesc:a07a48dbda1a2ef0d7c9baf29a0d31ffd"><td class="mdescLeft"> </td><td class="mdescRight">Samples data from the microphone, potentially returning a new dB reading. <br /></td></tr>
<tr class="separator:a07a48dbda1a2ef0d7c9baf29a0d31ffd"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a32e86c62ca7ca0a689a3746095a70833" id="r_a32e86c62ca7ca0a689a3746095a70833"><td class="memItemLeft" align="right" valign="top">static constexpr auto </td><td class="memItemRight" valign="bottom"><a class="el" href="classSPLMeter.html#a32e86c62ca7ca0a689a3746095a70833">SAMPLE_RATE</a> = 48000u</td></tr>
<tr class="memdesc:a32e86c62ca7ca0a689a3746095a70833"><td class="mdescLeft"> </td><td class="mdescRight">Sampling rate to run the microphone at, in Hertz. <br /></td></tr>
<tr class="separator:a32e86c62ca7ca0a689a3746095a70833"><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:ac5ad129ef889803af633b9a2c632c11f" id="r_ac5ad129ef889803af633b9a2c632c11f"><td class="memItemLeft" align="right" valign="top"><a id="ac5ad129ef889803af633b9a2c632c11f" name="ac5ad129ef889803af633b9a2c632c11f"></a>
size_t </td><td class="memItemRight" valign="bottom"><b>i2sRead</b> () noexcept</td></tr>
<tr class="memdesc:ac5ad129ef889803af633b9a2c632c11f"><td class="mdescLeft"> </td><td class="mdescRight">Reads enough samples from the microphone to fill the samples buffer. <br /></td></tr>
<tr class="separator:ac5ad129ef889803af633b9a2c632c11f"><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:aa26165ecce065d5b521522b646cf9012" id="r_aa26165ecce065d5b521522b646cf9012"><td class="memItemLeft" align="right" valign="top">std::array< float, <a class="el" href="classSPLMeter.html#a560467629e9cd5043102c06f88c8870a">SAMPLES_SHORT</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSPLMeter.html#aa26165ecce065d5b521522b646cf9012">samples</a></td></tr>
<tr class="memdesc:aa26165ecce065d5b521522b646cf9012"><td class="mdescLeft"> </td><td class="mdescRight">Buffer to store microphone samples in for reading and processing. <br /></td></tr>
<tr class="separator:aa26165ecce065d5b521522b646cf9012"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa2e3b5b980830da60d2ab10e55ff4ba6" id="r_aa2e3b5b980830da60d2ab10e55ff4ba6"><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="classSPLMeter.html#aa2e3b5b980830da60d2ab10e55ff4ba6">Leq_samples</a> = 0</td></tr>
<tr class="memdesc:aa2e3b5b980830da60d2ab10e55ff4ba6"><td class="mdescLeft"> </td><td class="mdescRight">Number of samples included in Leq_sum_sqr accumulation. <br /></td></tr>
<tr class="separator:aa2e3b5b980830da60d2ab10e55ff4ba6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa8c155bc251f8ce89f703c49fcb6ba0b" id="r_aa8c155bc251f8ce89f703c49fcb6ba0b"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classSPLMeter.html#aa8c155bc251f8ce89f703c49fcb6ba0b">Leq_sum_sqr</a> = 0</td></tr>
<tr class="memdesc:aa8c155bc251f8ce89f703c49fcb6ba0b"><td class="mdescLeft"> </td><td class="mdescRight">Accumulation of sums of squares for decibel calculation. <br /></td></tr>
<tr class="separator:aa8c155bc251f8ce89f703c49fcb6ba0b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4b6e97bc4ce85787f8cf18c94c047f18" id="r_a4b6e97bc4ce85787f8cf18c94c047f18"><td class="memItemLeft" align="right" valign="top">i2s_chan_handle_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classSPLMeter.html#a4b6e97bc4ce85787f8cf18c94c047f18">i2s_handle</a></td></tr>
<tr class="separator:a4b6e97bc4ce85787f8cf18c94c047f18"><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:a560467629e9cd5043102c06f88c8870a" id="r_a560467629e9cd5043102c06f88c8870a"><td class="memItemLeft" align="right" valign="top">static constexpr auto </td><td class="memItemRight" valign="bottom"><a class="el" href="classSPLMeter.html#a560467629e9cd5043102c06f88c8870a">SAMPLES_SHORT</a> = <a class="el" href="classSPLMeter.html#a32e86c62ca7ca0a689a3746095a70833">SAMPLE_RATE</a> / 16u</td></tr>
<tr class="memdesc:a560467629e9cd5043102c06f88c8870a"><td class="mdescLeft"> </td><td class="mdescRight">The number of samples to keep in the sample buffer. <br /></td></tr>
<tr class="separator:a560467629e9cd5043102c06f88c8870a"><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 a minimal interface for reading decibel levels from the microphone. </p>
<p class="definition">Definition at line <a class="el" href="spl-meter_8h_source.html#l00035">35</a> of file <a class="el" href="spl-meter_8h_source.html">spl-meter.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a07a48dbda1a2ef0d7c9baf29a0d31ffd" name="a07a48dbda1a2ef0d7c9baf29a0d31ffd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07a48dbda1a2ef0d7c9baf29a0d31ffd">◆ </a></span>readMicrophoneData()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::optional< float > SPLMeter::readMicrophoneData </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Samples data from the microphone, potentially returning a new dB reading. </p>
<dl class="section return"><dt>Returns</dt><dd>Latest calculated decibel reading, if ready </dd></dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a4b6e97bc4ce85787f8cf18c94c047f18" name="a4b6e97bc4ce85787f8cf18c94c047f18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b6e97bc4ce85787f8cf18c94c047f18">◆ </a></span>i2s_handle</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">i2s_chan_handle_t SPLMeter::i2s_handle</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 class="definition">Definition at line <a class="el" href="spl-meter_8h_source.html#l00063">63</a> of file <a class="el" href="spl-meter_8h_source.html">spl-meter.h</a>.</p>
</div>
</div>
<a id="aa2e3b5b980830da60d2ab10e55ff4ba6" name="aa2e3b5b980830da60d2ab10e55ff4ba6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2e3b5b980830da60d2ab10e55ff4ba6">◆ </a></span>Leq_samples</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned SPLMeter::Leq_samples = 0</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>Number of samples included in Leq_sum_sqr accumulation. </p>
<p class="definition">Definition at line <a class="el" href="spl-meter_8h_source.html#l00059">59</a> of file <a class="el" href="spl-meter_8h_source.html">spl-meter.h</a>.</p>
</div>
</div>
<a id="aa8c155bc251f8ce89f703c49fcb6ba0b" name="aa8c155bc251f8ce89f703c49fcb6ba0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8c155bc251f8ce89f703c49fcb6ba0b">◆ </a></span>Leq_sum_sqr</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float SPLMeter::Leq_sum_sqr = 0</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>Accumulation of sums of squares for decibel calculation. </p>
<p class="definition">Definition at line <a class="el" href="spl-meter_8h_source.html#l00061">61</a> of file <a class="el" href="spl-meter_8h_source.html">spl-meter.h</a>.</p>
</div>
</div>
<a id="a32e86c62ca7ca0a689a3746095a70833" name="a32e86c62ca7ca0a689a3746095a70833"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32e86c62ca7ca0a689a3746095a70833">◆ </a></span>SAMPLE_RATE</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr auto SPLMeter::SAMPLE_RATE = 48000u</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sampling rate to run the microphone at, in Hertz. </p>
<p class="definition">Definition at line <a class="el" href="spl-meter_8h_source.html#l00039">39</a> of file <a class="el" href="spl-meter_8h_source.html">spl-meter.h</a>.</p>
</div>
</div>
<a id="aa26165ecce065d5b521522b646cf9012" name="aa26165ecce065d5b521522b646cf9012"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa26165ecce065d5b521522b646cf9012">◆ </a></span>samples</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::array<float, <a class="el" href="classSPLMeter.html#a560467629e9cd5043102c06f88c8870a">SAMPLES_SHORT</a>> SPLMeter::samples</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>Buffer to store microphone samples in for reading and processing. </p>
<p class="definition">Definition at line <a class="el" href="spl-meter_8h_source.html#l00056">56</a> of file <a class="el" href="spl-meter_8h_source.html">spl-meter.h</a>.</p>
</div>
</div>
<a id="a560467629e9cd5043102c06f88c8870a" name="a560467629e9cd5043102c06f88c8870a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a560467629e9cd5043102c06f88c8870a">◆ </a></span>SAMPLES_SHORT</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr auto SPLMeter::SAMPLES_SHORT = <a class="el" href="classSPLMeter.html#a32e86c62ca7ca0a689a3746095a70833">SAMPLE_RATE</a> / 16u</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>The number of samples to keep in the sample buffer. </p>
<p class="definition">Definition at line <a class="el" href="spl-meter_8h_source.html#l00052">52</a> of file <a class="el" href="spl-meter_8h_source.html">spl-meter.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="spl-meter_8h_source.html">spl-meter.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>