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: AccessPoint 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-static-methods">Static Private Member Functions</a> |
<a href="#pri-attribs">Private Attributes</a> |
<a href="#pri-static-attribs">Static Private Attributes</a> |
<a href="classAccessPoint-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">AccessPoint Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Manages the WiFi access point, captive portal, and user setup form.
<a href="classAccessPoint.html#details">More...</a></p>
<p><code>#include <<a class="el" href="access-point_8h_source.html">access-point.h</a>></code></p>
<div class="dynheader">
Inheritance diagram for AccessPoint:</div>
<div class="dyncontent">
<div class="center">
<img src="classAccessPoint.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:a77210eb7cfc8277b119c9bc2b34d060f" id="r_a77210eb7cfc8277b119c9bc2b34d060f"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#a77210eb7cfc8277b119c9bc2b34d060f">SubmissionHandler</a> = std::optional< const char * >(*)(String, String, String)</td></tr>
<tr class="memdesc:a77210eb7cfc8277b119c9bc2b34d060f"><td class="mdescLeft"> </td><td class="mdescRight">Submission handler receives WebServer for input data and returns an error message on failure. <br /></td></tr>
<tr class="separator:a77210eb7cfc8277b119c9bc2b34d060f"><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:af11202ff1159ecd9cc083092458e15af" id="r_af11202ff1159ecd9cc083092458e15af"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#af11202ff1159ecd9cc083092458e15af">AccessPoint</a> (<a class="el" href="classAccessPoint.html#a77210eb7cfc8277b119c9bc2b34d060f">SubmissionHandler</a> func)</td></tr>
<tr class="memdesc:af11202ff1159ecd9cc083092458e15af"><td class="mdescLeft"> </td><td class="mdescRight">Starts the WiFi access point using the fixed credentials. <br /></td></tr>
<tr class="separator:af11202ff1159ecd9cc083092458e15af"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0a15a3a0117ab2644a47c9b7569d193c" id="r_a0a15a3a0117ab2644a47c9b7569d193c"><td class="memItemLeft" align="right" valign="top"><a id="a0a15a3a0117ab2644a47c9b7569d193c" name="a0a15a3a0117ab2644a47c9b7569d193c"></a>
void </td><td class="memItemRight" valign="bottom"><b>run</b> ()</td></tr>
<tr class="memdesc:a0a15a3a0117ab2644a47c9b7569d193c"><td class="mdescLeft"> </td><td class="mdescRight">Enters an infinite loop to handle the access point and web server. <br /></td></tr>
<tr class="separator:a0a15a3a0117ab2644a47c9b7569d193c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a00b313e21133178634ed14d332e3027d" id="r_a00b313e21133178634ed14d332e3027d"><td class="memItemLeft" align="right" valign="top"><a id="a00b313e21133178634ed14d332e3027d" name="a00b313e21133178634ed14d332e3027d"></a>
virtual bool </td><td class="memItemRight" valign="bottom"><b>canHandle</b> (WebServer &, HTTPMethod, const String &) override</td></tr>
<tr class="memdesc:a00b313e21133178634ed14d332e3027d"><td class="mdescLeft"> </td><td class="mdescRight">Determines which HTTP requests should be handled. <br /></td></tr>
<tr class="separator:a00b313e21133178634ed14d332e3027d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a79d02ee14c0016c193600331439965e1" id="r_a79d02ee14c0016c193600331439965e1"><td class="memItemLeft" align="right" valign="top"><a id="a79d02ee14c0016c193600331439965e1" name="a79d02ee14c0016c193600331439965e1"></a>
virtual bool </td><td class="memItemRight" valign="bottom"><b>handle</b> (WebServer &, HTTPMethod, const String &) override</td></tr>
<tr class="memdesc:a79d02ee14c0016c193600331439965e1"><td class="mdescLeft"> </td><td class="mdescRight">Handles requests by redirecting to the setup page. <br /></td></tr>
<tr class="separator:a79d02ee14c0016c193600331439965e1"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-methods" name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:af9d6ebccc1986c09d3685d8c30bc1d31" id="r_af9d6ebccc1986c09d3685d8c30bc1d31"><td class="memItemLeft" align="right" valign="top"><a id="af9d6ebccc1986c09d3685d8c30bc1d31" name="af9d6ebccc1986c09d3685d8c30bc1d31"></a>
static String </td><td class="memItemRight" valign="bottom"><b>htmlFromMsg</b> (const char *msg, const char *extra=nullptr)</td></tr>
<tr class="memdesc:af9d6ebccc1986c09d3685d8c30bc1d31"><td class="mdescLeft"> </td><td class="mdescRight">Provides HTML for an error page with the given message. <br /></td></tr>
<tr class="separator:af9d6ebccc1986c09d3685d8c30bc1d31"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a67f569b3f489973655f52e5af72cbdfa" id="r_a67f569b3f489973655f52e5af72cbdfa"><td class="memItemLeft" align="right" valign="top"><a id="a67f569b3f489973655f52e5af72cbdfa" name="a67f569b3f489973655f52e5af72cbdfa"></a>
static void </td><td class="memItemRight" valign="bottom"><b>taskOnCredentialsReceived</b> (void *param)</td></tr>
<tr class="separator:a67f569b3f489973655f52e5af72cbdfa"><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:a36bcda9c325bd20393b98441806d9048" id="r_a36bcda9c325bd20393b98441806d9048"><td class="memItemLeft" align="right" valign="top">unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#a36bcda9c325bd20393b98441806d9048">timeout</a></td></tr>
<tr class="separator:a36bcda9c325bd20393b98441806d9048"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a29494c8f1862fc3e75d105546c2f19da" id="r_a29494c8f1862fc3e75d105546c2f19da"><td class="memItemLeft" align="right" valign="top">DNSServer </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#a29494c8f1862fc3e75d105546c2f19da">dns</a></td></tr>
<tr class="memdesc:a29494c8f1862fc3e75d105546c2f19da"><td class="mdescLeft"> </td><td class="mdescRight">DNS server object for captive portal redirection. <br /></td></tr>
<tr class="separator:a29494c8f1862fc3e75d105546c2f19da"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa47c85bbeee5e407a8e5e8d929c5fa12" id="r_aa47c85bbeee5e407a8e5e8d929c5fa12"><td class="memItemLeft" align="right" valign="top">WebServer </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#aa47c85bbeee5e407a8e5e8d929c5fa12">server</a></td></tr>
<tr class="memdesc:aa47c85bbeee5e407a8e5e8d929c5fa12"><td class="mdescLeft"> </td><td class="mdescRight">Web server object for running the setup form. <br /></td></tr>
<tr class="separator:aa47c85bbeee5e407a8e5e8d929c5fa12"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aad5cfa31a98d0e4bbfd7ec2be3b38840" id="r_aad5cfa31a98d0e4bbfd7ec2be3b38840"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classAccessPoint.html#a77210eb7cfc8277b119c9bc2b34d060f">SubmissionHandler</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#aad5cfa31a98d0e4bbfd7ec2be3b38840">onCredentialsReceived</a></td></tr>
<tr class="memdesc:aad5cfa31a98d0e4bbfd7ec2be3b38840"><td class="mdescLeft"> </td><td class="mdescRight">Callback for setup form completion. <br /></td></tr>
<tr class="separator:aad5cfa31a98d0e4bbfd7ec2be3b38840"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:acaf60b49a3643f0037be46c35996f6ba" id="r_acaf60b49a3643f0037be46c35996f6ba"><td class="memItemLeft" align="right" valign="top">String </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#acaf60b49a3643f0037be46c35996f6ba">ssid</a></td></tr>
<tr class="separator:acaf60b49a3643f0037be46c35996f6ba"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a890369cac2b92c515faf381d2559288e" id="r_a890369cac2b92c515faf381d2559288e"><td class="memItemLeft" align="right" valign="top">String </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#a890369cac2b92c515faf381d2559288e">psk</a></td></tr>
<tr class="separator:a890369cac2b92c515faf381d2559288e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a023f81dacf1e12423c2e600660301fc7" id="r_a023f81dacf1e12423c2e600660301fc7"><td class="memItemLeft" align="right" valign="top">String </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#a023f81dacf1e12423c2e600660301fc7">email</a></td></tr>
<tr class="separator:a023f81dacf1e12423c2e600660301fc7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4da11f550524b8264689c381f330352e" id="r_a4da11f550524b8264689c381f330352e"><td class="memItemLeft" align="right" valign="top">String </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#a4da11f550524b8264689c381f330352e">finishHtml</a></td></tr>
<tr class="separator:a4da11f550524b8264689c381f330352e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a208ab48355b707b7a88300669a6347bc" id="r_a208ab48355b707b7a88300669a6347bc"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#a208ab48355b707b7a88300669a6347bc">finishGood</a></td></tr>
<tr class="separator:a208ab48355b707b7a88300669a6347bc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa128f2c7925981ec9ad451320ba5a580" id="r_aa128f2c7925981ec9ad451320ba5a580"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#aa128f2c7925981ec9ad451320ba5a580">complete</a></td></tr>
<tr class="separator:aa128f2c7925981ec9ad451320ba5a580"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5d3c7d9d40cabea5e16722934167176b" id="r_a5d3c7d9d40cabea5e16722934167176b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#a5d3c7d9d40cabea5e16722934167176b">restarting</a></td></tr>
<tr class="separator:a5d3c7d9d40cabea5e16722934167176b"><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:adb892734d658017b0946c096dd2de419" id="r_adb892734d658017b0946c096dd2de419"><td class="memItemLeft" align="right" valign="top">static constexpr auto </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#adb892734d658017b0946c096dd2de419">SSID</a> = "tRacket_Setup"</td></tr>
<tr class="memdesc:adb892734d658017b0946c096dd2de419"><td class="mdescLeft"> </td><td class="mdescRight">Hard-coded SSID for the access point. <br /></td></tr>
<tr class="separator:adb892734d658017b0946c096dd2de419"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a33e8ecd9f0552c09556462d7462c0099" id="r_a33e8ecd9f0552c09556462d7462c0099"><td class="memItemLeft" align="right" valign="top">static constexpr auto </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#a33e8ecd9f0552c09556462d7462c0099">Passkey</a> = "noise123"</td></tr>
<tr class="memdesc:a33e8ecd9f0552c09556462d7462c0099"><td class="mdescLeft"> </td><td class="mdescRight">Hard-coded passkey for the access point. <br /></td></tr>
<tr class="separator:a33e8ecd9f0552c09556462d7462c0099"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1facd6c1e266341be70ffaef1167c02d" id="r_a1facd6c1e266341be70ffaef1167c02d"><td class="memItemLeft" align="right" valign="top">static const IPAddress </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#a1facd6c1e266341be70ffaef1167c02d">IP</a></td></tr>
<tr class="memdesc:a1facd6c1e266341be70ffaef1167c02d"><td class="mdescLeft"> </td><td class="mdescRight">Hard-coded IP address for the ESP32 when hosting the access point. <br /></td></tr>
<tr class="separator:a1facd6c1e266341be70ffaef1167c02d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ada7c40107a91f1a189e2d3f127580bb8" id="r_ada7c40107a91f1a189e2d3f127580bb8"><td class="memItemLeft" align="right" valign="top">static const IPAddress </td><td class="memItemRight" valign="bottom"><a class="el" href="classAccessPoint.html#ada7c40107a91f1a189e2d3f127580bb8">Netmask</a></td></tr>
<tr class="memdesc:ada7c40107a91f1a189e2d3f127580bb8"><td class="mdescLeft"> </td><td class="mdescRight">Hard-coded netmask for access point configuration. <br /></td></tr>
<tr class="separator:ada7c40107a91f1a189e2d3f127580bb8"><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 WiFi access point, captive portal, and user setup form. </p>
<p>The access point is used to provide the user with a way to configure and set up their device. After the user connects to the network using the fixed SSID and passkey, they will be redirected to a setup form via a captive portal. The form collects the user's WiFi credentials and any other needed information (e.g. email address for first-time setup), then allows the firmware to store the submitted response and connect to the internet.</p>
<p>At the moment, once the access point is started it cannot be exited. The firmware needs to do a software reset after handling a form submission to begin normal operation. </p>
<p class="definition">Definition at line <a class="el" href="access-point_8h_source.html#l00041">41</a> of file <a class="el" href="access-point_8h_source.html">access-point.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a77210eb7cfc8277b119c9bc2b34d060f" name="a77210eb7cfc8277b119c9bc2b34d060f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77210eb7cfc8277b119c9bc2b34d060f">◆ </a></span>SubmissionHandler</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classAccessPoint.html#a77210eb7cfc8277b119c9bc2b34d060f">AccessPoint::SubmissionHandler</a> = std::optional<const char *> (*)(String, String, String)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Submission handler receives WebServer for input data and returns an error message on failure. </p>
<p class="definition">Definition at line <a class="el" href="access-point_8h_source.html#l00053">53</a> of file <a class="el" href="access-point_8h_source.html">access-point.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
<a id="af11202ff1159ecd9cc083092458e15af" name="af11202ff1159ecd9cc083092458e15af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af11202ff1159ecd9cc083092458e15af">◆ </a></span>AccessPoint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">AccessPoint::AccessPoint </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classAccessPoint.html#a77210eb7cfc8277b119c9bc2b34d060f">SubmissionHandler</a> </td>
<td class="paramname"><em>func</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Starts the WiFi access point using the fixed credentials. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">func</td><td>Callback to handle user setup form submission. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="aa128f2c7925981ec9ad451320ba5a580" name="aa128f2c7925981ec9ad451320ba5a580"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa128f2c7925981ec9ad451320ba5a580">◆ </a></span>complete</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool AccessPoint::complete</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="access-point_8h_source.html#l00084">84</a> of file <a class="el" href="access-point_8h_source.html">access-point.h</a>.</p>
</div>
</div>
<a id="a29494c8f1862fc3e75d105546c2f19da" name="a29494c8f1862fc3e75d105546c2f19da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29494c8f1862fc3e75d105546c2f19da">◆ </a></span>dns</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">DNSServer AccessPoint::dns</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>DNS server object for captive portal redirection. </p>
<p class="definition">Definition at line <a class="el" href="access-point_8h_source.html#l00075">75</a> of file <a class="el" href="access-point_8h_source.html">access-point.h</a>.</p>
</div>
</div>
<a id="a023f81dacf1e12423c2e600660301fc7" name="a023f81dacf1e12423c2e600660301fc7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a023f81dacf1e12423c2e600660301fc7">◆ </a></span>email</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">String AccessPoint::email</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="access-point_8h_source.html#l00082">82</a> of file <a class="el" href="access-point_8h_source.html">access-point.h</a>.</p>
</div>
</div>
<a id="a208ab48355b707b7a88300669a6347bc" name="a208ab48355b707b7a88300669a6347bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a208ab48355b707b7a88300669a6347bc">◆ </a></span>finishGood</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool AccessPoint::finishGood</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="access-point_8h_source.html#l00083">83</a> of file <a class="el" href="access-point_8h_source.html">access-point.h</a>.</p>
</div>
</div>
<a id="a4da11f550524b8264689c381f330352e" name="a4da11f550524b8264689c381f330352e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4da11f550524b8264689c381f330352e">◆ </a></span>finishHtml</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">String AccessPoint::finishHtml</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="access-point_8h_source.html#l00082">82</a> of file <a class="el" href="access-point_8h_source.html">access-point.h</a>.</p>
</div>
</div>
<a id="a1facd6c1e266341be70ffaef1167c02d" name="a1facd6c1e266341be70ffaef1167c02d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1facd6c1e266341be70ffaef1167c02d">◆ </a></span>IP</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const IPAddress AccessPoint::IP</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Hard-coded IP address for the ESP32 when hosting the access point. </p>
<p class="definition">Definition at line <a class="el" href="access-point_8h_source.html#l00088">88</a> of file <a class="el" href="access-point_8h_source.html">access-point.h</a>.</p>
</div>
</div>
<a id="ada7c40107a91f1a189e2d3f127580bb8" name="ada7c40107a91f1a189e2d3f127580bb8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada7c40107a91f1a189e2d3f127580bb8">◆ </a></span>Netmask</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const IPAddress AccessPoint::Netmask</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Hard-coded netmask for access point configuration. </p>
<p class="definition">Definition at line <a class="el" href="access-point_8h_source.html#l00090">90</a> of file <a class="el" href="access-point_8h_source.html">access-point.h</a>.</p>
</div>
</div>
<a id="aad5cfa31a98d0e4bbfd7ec2be3b38840" name="aad5cfa31a98d0e4bbfd7ec2be3b38840"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad5cfa31a98d0e4bbfd7ec2be3b38840">◆ </a></span>onCredentialsReceived</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="classAccessPoint.html#a77210eb7cfc8277b119c9bc2b34d060f">SubmissionHandler</a> AccessPoint::onCredentialsReceived</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>Callback for setup form completion. </p>
<p class="definition">Definition at line <a class="el" href="access-point_8h_source.html#l00079">79</a> of file <a class="el" href="access-point_8h_source.html">access-point.h</a>.</p>
</div>
</div>
<a id="a33e8ecd9f0552c09556462d7462c0099" name="a33e8ecd9f0552c09556462d7462c0099"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33e8ecd9f0552c09556462d7462c0099">◆ </a></span>Passkey</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr auto AccessPoint::Passkey = "noise123"</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>Hard-coded passkey for the access point. </p>
<p class="definition">Definition at line <a class="el" href="access-point_8h_source.html#l00046">46</a> of file <a class="el" href="access-point_8h_source.html">access-point.h</a>.</p>
</div>
</div>
<a id="a890369cac2b92c515faf381d2559288e" name="a890369cac2b92c515faf381d2559288e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a890369cac2b92c515faf381d2559288e">◆ </a></span>psk</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">String AccessPoint::psk</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="access-point_8h_source.html#l00082">82</a> of file <a class="el" href="access-point_8h_source.html">access-point.h</a>.</p>
</div>
</div>
<a id="a5d3c7d9d40cabea5e16722934167176b" name="a5d3c7d9d40cabea5e16722934167176b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d3c7d9d40cabea5e16722934167176b">◆ </a></span>restarting</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool AccessPoint::restarting</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="access-point_8h_source.html#l00085">85</a> of file <a class="el" href="access-point_8h_source.html">access-point.h</a>.</p>
</div>
</div>
<a id="aa47c85bbeee5e407a8e5e8d929c5fa12" name="aa47c85bbeee5e407a8e5e8d929c5fa12"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa47c85bbeee5e407a8e5e8d929c5fa12">◆ </a></span>server</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">WebServer AccessPoint::server</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>Web server object for running the setup form. </p>
<p class="definition">Definition at line <a class="el" href="access-point_8h_source.html#l00077">77</a> of file <a class="el" href="access-point_8h_source.html">access-point.h</a>.</p>
</div>
</div>
<a id="adb892734d658017b0946c096dd2de419" name="adb892734d658017b0946c096dd2de419"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb892734d658017b0946c096dd2de419">◆ </a></span>SSID</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr auto AccessPoint::SSID = "tRacket_Setup"</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>Hard-coded SSID for the access point. </p>
<p class="definition">Definition at line <a class="el" href="access-point_8h_source.html#l00044">44</a> of file <a class="el" href="access-point_8h_source.html">access-point.h</a>.</p>
</div>
</div>
<a id="acaf60b49a3643f0037be46c35996f6ba" name="acaf60b49a3643f0037be46c35996f6ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acaf60b49a3643f0037be46c35996f6ba">◆ </a></span>ssid</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">String AccessPoint::ssid</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="access-point_8h_source.html#l00082">82</a> of file <a class="el" href="access-point_8h_source.html">access-point.h</a>.</p>
</div>
</div>
<a id="a36bcda9c325bd20393b98441806d9048" name="a36bcda9c325bd20393b98441806d9048"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a36bcda9c325bd20393b98441806d9048">◆ </a></span>timeout</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned long AccessPoint::timeout</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="access-point_8h_source.html#l00073">73</a> of file <a class="el" href="access-point_8h_source.html">access-point.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="access-point_8h_source.html">access-point.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>