Loading files
This 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: Storage 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-types">Public Types</a> |
<a href="#pub-methods">Public Member Functions</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="classStorage-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">Storage Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Manages the storage of persistent settings.
<a href="classStorage.html#details">More...</a></p>
<p><code>#include <<a class="el" href="storage_8h_source.html">storage.h</a>></code></p>
<div class="dynheader">
Inheritance diagram for Storage:</div>
<div class="dyncontent">
<div class="center">
<img src="classStorage.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ab298f0c46e684cb9ef430e15de050cc5" id="r_ab298f0c46e684cb9ef430e15de050cc5"><td class="memItemLeft" align="right" valign="top">enum class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classStorage.html#ab298f0c46e684cb9ef430e15de050cc5">Entry</a> : unsigned { <br />
  <b>Checksum</b> = 0
, <a class="el" href="classStorage.html#ab298f0c46e684cb9ef430e15de050cc5a0d09d7b23e604623465e83b0dc113f4d">SSID</a> = Checksum + sizeof(uint32_t)
, <a class="el" href="classStorage.html#ab298f0c46e684cb9ef430e15de050cc5a816da2672a1205347a4ae8e9eb25f0bd">Passkey</a> = SSID + StringSize
, <a class="el" href="classStorage.html#ab298f0c46e684cb9ef430e15de050cc5a459a6f79ad9b13cbcb5f692d2cc7a94d">Token</a> = Passkey + StringSize
, <br />
  <a class="el" href="classStorage.html#ab298f0c46e684cb9ef430e15de050cc5a92e592d90b9548016776a6fb68dccded">Unused</a> = Token + StringSize
, <a class="el" href="classStorage.html#ab298f0c46e684cb9ef430e15de050cc5af7ecf3708a4c33dfa5b3f7404ace4110">TotalSize</a> = Unused + StringSize
<br />
}</td></tr>
<tr class="memdesc:ab298f0c46e684cb9ef430e15de050cc5"><td class="mdescLeft"> </td><td class="mdescRight">Tags to identify the stored settings. <a href="classStorage.html#ab298f0c46e684cb9ef430e15de050cc5">More...</a><br /></td></tr>
<tr class="separator:ab298f0c46e684cb9ef430e15de050cc5"><td class="memSeparator" colspan="2"> </td></tr>
</table><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:a1613d528077e2fa1a0113a3783f4c2a4" id="r_a1613d528077e2fa1a0113a3783f4c2a4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classStorage.html#a1613d528077e2fa1a0113a3783f4c2a4">begin</a> (<a class="el" href="classUUID.html">UUID</a> key)</td></tr>
<tr class="memdesc:a1613d528077e2fa1a0113a3783f4c2a4"><td class="mdescLeft"> </td><td class="mdescRight">Initializes the instance and prepares flash memory for access. <br /></td></tr>
<tr class="separator:a1613d528077e2fa1a0113a3783f4c2a4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a23acb6693b153e7f0651bf6433027eea" id="r_a23acb6693b153e7f0651bf6433027eea"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classStorage.html#a23acb6693b153e7f0651bf6433027eea">valid</a> () const noexcept</td></tr>
<tr class="memdesc:a23acb6693b153e7f0651bf6433027eea"><td class="mdescLeft"> </td><td class="mdescRight">Validates the stored settings against the stored checksum. <br /></td></tr>
<tr class="separator:a23acb6693b153e7f0651bf6433027eea"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a92598fba0896671741dd2cfc84e0de9a" id="r_a92598fba0896671741dd2cfc84e0de9a"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classStorage.html#a92598fba0896671741dd2cfc84e0de9a">canStore</a> (String str) const noexcept</td></tr>
<tr class="memdesc:a92598fba0896671741dd2cfc84e0de9a"><td class="mdescLeft"> </td><td class="mdescRight">Checks if the given string can be stored via <a class="el" href="classStorage.html" title="Manages the storage of persistent settings.">Storage</a>. <br /></td></tr>
<tr class="separator:a92598fba0896671741dd2cfc84e0de9a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2b42a101bad0d80e63041e9cef14afad" id="r_a2b42a101bad0d80e63041e9cef14afad"><td class="memItemLeft" align="right" valign="top"><a id="a2b42a101bad0d80e63041e9cef14afad" name="a2b42a101bad0d80e63041e9cef14afad"></a>
void </td><td class="memItemRight" valign="bottom"><b>clear</b> () noexcept</td></tr>
<tr class="memdesc:a2b42a101bad0d80e63041e9cef14afad"><td class="mdescLeft"> </td><td class="mdescRight">Clears/wipes all stored settings. <br /></td></tr>
<tr class="separator:a2b42a101bad0d80e63041e9cef14afad"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a35b9610f482751d825659d425d2b998d" id="r_a35b9610f482751d825659d425d2b998d"><td class="memItemLeft" align="right" valign="top">String </td><td class="memItemRight" valign="bottom"><a class="el" href="classStorage.html#a35b9610f482751d825659d425d2b998d">get</a> (<a class="el" href="classStorage.html#ab298f0c46e684cb9ef430e15de050cc5">Entry</a> entry) const noexcept</td></tr>
<tr class="memdesc:a35b9610f482751d825659d425d2b998d"><td class="mdescLeft"> </td><td class="mdescRight">Gets the string value of the stored entry. <br /></td></tr>
<tr class="separator:a35b9610f482751d825659d425d2b998d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a774cc4081547c3abdb3eb207b849eb9d" id="r_a774cc4081547c3abdb3eb207b849eb9d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classStorage.html#a774cc4081547c3abdb3eb207b849eb9d">set</a> (<a class="el" href="classStorage.html#ab298f0c46e684cb9ef430e15de050cc5">Entry</a> entry, String str) noexcept</td></tr>
<tr class="memdesc:a774cc4081547c3abdb3eb207b849eb9d"><td class="mdescLeft"> </td><td class="mdescRight">Sets the value of the given entry. <br /></td></tr>
<tr class="separator:a774cc4081547c3abdb3eb207b849eb9d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5424cf1c5a001208f294f422b3acb1ef" id="r_a5424cf1c5a001208f294f422b3acb1ef"><td class="memItemLeft" align="right" valign="top"><a id="a5424cf1c5a001208f294f422b3acb1ef" name="a5424cf1c5a001208f294f422b3acb1ef"></a>
void </td><td class="memItemRight" valign="bottom"><b>commit</b> () noexcept</td></tr>
<tr class="memdesc:a5424cf1c5a001208f294f422b3acb1ef"><td class="mdescLeft"> </td><td class="mdescRight">Commits all settings to flash and recalculates the checksum. <br /></td></tr>
<tr class="separator:a5424cf1c5a001208f294f422b3acb1ef"><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:a5a7c100ffe2d38f12f6698dfdc8a474c" id="r_a5a7c100ffe2d38f12f6698dfdc8a474c"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classStorage.html#a5a7c100ffe2d38f12f6698dfdc8a474c">calculateChecksum</a> () const noexcept</td></tr>
<tr class="memdesc:a5a7c100ffe2d38f12f6698dfdc8a474c"><td class="mdescLeft"> </td><td class="mdescRight">Calculates a CRC32 checksum of all stored settings. <br /></td></tr>
<tr class="separator:a5a7c100ffe2d38f12f6698dfdc8a474c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a81ece27227086e0a7b88ea1a27fceacd" id="r_a81ece27227086e0a7b88ea1a27fceacd"><td class="memItemLeft" align="right" valign="top">constexpr unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="classStorage.html#a81ece27227086e0a7b88ea1a27fceacd">addrOf</a> (<a class="el" href="classStorage.html#ab298f0c46e684cb9ef430e15de050cc5">Entry</a> entry) const noexcept</td></tr>
<tr class="memdesc:a81ece27227086e0a7b88ea1a27fceacd"><td class="mdescLeft"> </td><td class="mdescRight">Gets the memory address/offset of the given entry. <br /></td></tr>
<tr class="separator:a81ece27227086e0a7b88ea1a27fceacd"><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:ae2e7ffce92412bfe84950e835cc5e9e3" id="r_ae2e7ffce92412bfe84950e835cc5e9e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSecretStore.html">SecretStore</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classStorage.html#ae2e7ffce92412bfe84950e835cc5e9e3">secret</a></td></tr>
<tr class="memdesc:ae2e7ffce92412bfe84950e835cc5e9e3"><td class="mdescLeft"> </td><td class="mdescRight">Encryption instance. <br /></td></tr>
<tr class="separator:ae2e7ffce92412bfe84950e835cc5e9e3"><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:ade49773964d9ae44f580bf39d1ba1492" id="r_ade49773964d9ae44f580bf39d1ba1492"><td class="memItemLeft" align="right" valign="top">static constexpr unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="classStorage.html#ade49773964d9ae44f580bf39d1ba1492">StringSize</a> = 64</td></tr>
<tr class="memdesc:ade49773964d9ae44f580bf39d1ba1492"><td class="mdescLeft"> </td><td class="mdescRight">Maximum length of a stored String. <br /></td></tr>
<tr class="separator:ade49773964d9ae44f580bf39d1ba1492"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Manages the storage of persistent settings. </p>
<p>At the moment, this is only used to store WiFi credentials. </p>
<p class="definition">Definition at line <a class="el" href="storage_8h_source.html#l00032">32</a> of file <a class="el" href="storage_8h_source.html">storage.h</a>.</p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="ab298f0c46e684cb9ef430e15de050cc5" name="ab298f0c46e684cb9ef430e15de050cc5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab298f0c46e684cb9ef430e15de050cc5">◆ </a></span>Entry</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="classStorage.html#ab298f0c46e684cb9ef430e15de050cc5">Storage::Entry</a> : unsigned</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tags to identify the stored settings. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ab298f0c46e684cb9ef430e15de050cc5a0d09d7b23e604623465e83b0dc113f4d" name="ab298f0c46e684cb9ef430e15de050cc5a0d09d7b23e604623465e83b0dc113f4d"></a>SSID </td><td class="fielddoc"><p><a class="el" href="classStorage.html" title="Manages the storage of persistent settings.">Storage</a> CRC32 Checksum. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab298f0c46e684cb9ef430e15de050cc5a816da2672a1205347a4ae8e9eb25f0bd" name="ab298f0c46e684cb9ef430e15de050cc5a816da2672a1205347a4ae8e9eb25f0bd"></a>Passkey </td><td class="fielddoc"><p>User's WiFi SSID. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab298f0c46e684cb9ef430e15de050cc5a459a6f79ad9b13cbcb5f692d2cc7a94d" name="ab298f0c46e684cb9ef430e15de050cc5a459a6f79ad9b13cbcb5f692d2cc7a94d"></a>Token </td><td class="fielddoc"><p>User's WiFi passkey. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab298f0c46e684cb9ef430e15de050cc5a92e592d90b9548016776a6fb68dccded" name="ab298f0c46e684cb9ef430e15de050cc5a92e592d90b9548016776a6fb68dccded"></a>Unused </td><td class="fielddoc"><p>Device <a class="el" href="classAPI.html" title="Provides interface for API calls.">API</a> token. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab298f0c46e684cb9ef430e15de050cc5af7ecf3708a4c33dfa5b3f7404ace4110" name="ab298f0c46e684cb9ef430e15de050cc5af7ecf3708a4c33dfa5b3f7404ace4110"></a>TotalSize </td><td class="fielddoc"><p>Unused (used to be email) </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="storage_8h_source.html#l00039">39</a> of file <a class="el" href="storage_8h_source.html">storage.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a81ece27227086e0a7b88ea1a27fceacd" name="a81ece27227086e0a7b88ea1a27fceacd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81ece27227086e0a7b88ea1a27fceacd">◆ </a></span>addrOf()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr unsigned Storage::addrOf </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classStorage.html#ab298f0c46e684cb9ef430e15de050cc5">Entry</a> </td>
<td class="paramname"><em>entry</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">constexpr</span><span class="mlabel">private</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the memory address/offset of the given entry. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">entry</td><td>The entry to locate </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The address of the entry within the storage address space </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8h_source.html#l00113">113</a> of file <a class="el" href="storage_8h_source.html">storage.h</a>.</p>
</div>
</div>
<a id="a1613d528077e2fa1a0113a3783f4c2a4" name="a1613d528077e2fa1a0113a3783f4c2a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1613d528077e2fa1a0113a3783f4c2a4">◆ </a></span>begin()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Storage::begin </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classUUID.html">UUID</a> </td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes the instance and prepares flash memory for access. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>Key (i.e. seed) to use for encryption </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5a7c100ffe2d38f12f6698dfdc8a474c" name="a5a7c100ffe2d38f12f6698dfdc8a474c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a7c100ffe2d38f12f6698dfdc8a474c">◆ </a></span>calculateChecksum()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t Storage::calculateChecksum </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">private</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculates a CRC32 checksum of all stored settings. </p>
<dl class="section return"><dt>Returns</dt><dd>The checksum for the stored settings </dd></dl>
</div>
</div>
<a id="a92598fba0896671741dd2cfc84e0de9a" name="a92598fba0896671741dd2cfc84e0de9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92598fba0896671741dd2cfc84e0de9a">◆ </a></span>canStore()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool Storage::canStore </td>
<td>(</td>
<td class="paramtype">String </td>
<td class="paramname"><em>str</em></td><td>)</td>
<td> const</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>Checks if the given string can be stored via <a class="el" href="classStorage.html" title="Manages the storage of persistent settings.">Storage</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>The string to check </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the string can be stored </dd></dl>
</div>
</div>
<a id="a35b9610f482751d825659d425d2b998d" name="a35b9610f482751d825659d425d2b998d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35b9610f482751d825659d425d2b998d">◆ </a></span>get()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">String Storage::get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classStorage.html#ab298f0c46e684cb9ef430e15de050cc5">Entry</a> </td>
<td class="paramname"><em>entry</em></td><td>)</td>
<td> const</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>Gets the string value of the stored entry. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">entry</td><td>The storage entry to get </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string stored in the given entry </dd></dl>
</div>
</div>
<a id="a774cc4081547c3abdb3eb207b849eb9d" name="a774cc4081547c3abdb3eb207b849eb9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a774cc4081547c3abdb3eb207b849eb9d">◆ </a></span>set()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Storage::set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classStorage.html#ab298f0c46e684cb9ef430e15de050cc5">Entry</a> </td>
<td class="paramname"><em>entry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">String </td>
<td class="paramname"><em>str</em> </td>
</tr>
<tr>
<td></td>
<td>)</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>Sets the value of the given entry. </p>
<p>Must call <a class="el" href="classStorage.html#a5424cf1c5a001208f294f422b3acb1ef" title="Commits all settings to flash and recalculates the checksum.">commit()</a> to write to flash. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">entry</td><td>The storage entry to set </td></tr>
<tr><td class="paramname">str</td><td>The string to store in the entry </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a23acb6693b153e7f0651bf6433027eea" name="a23acb6693b153e7f0651bf6433027eea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23acb6693b153e7f0651bf6433027eea">◆ </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 Storage::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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Validates the stored settings against the stored checksum. </p>
<dl class="section return"><dt>Returns</dt><dd>True if the validation is successful. </dd></dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ae2e7ffce92412bfe84950e835cc5e9e3" name="ae2e7ffce92412bfe84950e835cc5e9e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2e7ffce92412bfe84950e835cc5e9e3">◆ </a></span>secret</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structSecretStore.html">SecretStore</a> Storage::secret</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>Encryption instance. </p>
<p class="definition">Definition at line <a class="el" href="storage_8h_source.html#l00100">100</a> of file <a class="el" href="storage_8h_source.html">storage.h</a>.</p>
</div>
</div>
<a id="ade49773964d9ae44f580bf39d1ba1492" name="ade49773964d9ae44f580bf39d1ba1492"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade49773964d9ae44f580bf39d1ba1492">◆ </a></span>StringSize</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr unsigned Storage::StringSize = 64</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>Maximum length of a stored String. </p>
<p class="definition">Definition at line <a class="el" href="storage_8h_source.html#l00035">35</a> of file <a class="el" href="storage_8h_source.html">storage.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="storage_8h_source.html">storage.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>
01e1f04e3This file is pinned to the selected release. Download the original to open it in your design tool.