An esp8266ap as SoftAP was connected but Captive portal does not start.
</a>
</li>
<liclass="md-nav__item">
<ahref="#compile-error-that-eeprom-was-not-declared-in-this-scope"title=" Compile error that 'EEPROM' was not declared in this scope"class="md-nav__link">
Compile error that 'EEPROM' was not declared in this scope
</a>
</li>
<liclass="md-nav__item">
<ahref="#compile-error-that-esphttpupdate-was-not-declared-in-this-scope"title=" Compile error that 'ESPhttpUpdate' was not declared in this scope"class="md-nav__link">
Compile error that 'ESPhttpUpdate' was not declared in this scope
</a>
</li>
<liclass="md-nav__item">
@ -985,6 +999,20 @@
An esp8266ap as SoftAP was connected but Captive portal does not start.
</a>
</li>
<liclass="md-nav__item">
<ahref="#compile-error-that-eeprom-was-not-declared-in-this-scope"title=" Compile error that 'EEPROM' was not declared in this scope"class="md-nav__link">
Compile error that 'EEPROM' was not declared in this scope
</a>
</li>
<liclass="md-nav__item">
<ahref="#compile-error-that-esphttpupdate-was-not-declared-in-this-scope"title=" Compile error that 'ESPhttpUpdate' was not declared in this scope"class="md-nav__link">
Compile error that 'ESPhttpUpdate' was not declared in this scope
</a>
</li>
<liclass="md-nav__item">
@ -1198,6 +1226,24 @@ For AutoConnect menus to work properly, call <a href="api.html#handlerequest"><e
</div>
<h2id="an-esp8266ap-as-softap-was-connected-but-captive-portal-does-not-start"><iclass="fa fa-question-circle"></i> An esp8266ap as SoftAP was connected but Captive portal does not start.<aclass="headerlink"href="#an-esp8266ap-as-softap-was-connected-but-captive-portal-does-not-start"title="Permanent link">¶</a></h2>
<p>Captive portal detection could not be trapped. It is necessary to disconnect and reset ESP8266 to clear memorized connection data in ESP8266. Also, It may be displayed on the smartphone if the connection information of esp8266ap is wrong. In that case, delete the connection information of esp8266ap memorized by the smartphone once.</p>
<h2id="compile-error-that-eeprom-was-not-declared-in-this-scope"><iclass="fa fa-question-circle"></i> Compile error that 'EEPROM' was not declared in this scope<aclass="headerlink"href="#compile-error-that-eeprom-was-not-declared-in-this-scope"title="Permanent link">¶</a></h2>
<p>If the user sketch includes the header file as <code>EEPROM.h</code>, this compilation error may occur depending on the order of the <code>#include</code> directives. <code>AutoConnectCredentials.h</code> including in succession linked from <code>AutoConnect.h</code> defines <strong>NO_GLOBAL_EEPROM</strong> internally, so if your sketch includes <code>EEPROM.h</code> after <code>AutoConnect.h</code>, the <strong>EEPROM</strong> global variable will be lost.</p>
<p>If you use EEPROM with your sketch, declare <code>#include <EEPROM.h></code> in front of <code>#include <AutoConnect.h></code>.</p>
<h2id="compile-error-that-esphttpupdate-was-not-declared-in-this-scope"><iclass="fa fa-question-circle"></i> Compile error that 'ESPhttpUpdate' was not declared in this scope<aclass="headerlink"href="#compile-error-that-esphttpupdate-was-not-declared-in-this-scope"title="Permanent link">¶</a></h2>
<p>If the user sketch includes the header file as <code>ESP8266httpUpdate.h</code>, this compilation error may occur depending on the order of the <code>#include</code> directives. <code>AutoConnectUpdate.h</code> including in succession linked from <code>AutoConnect.h</code> defines <strong>NO_GLOBAL_HTTPUPDATE</strong> internally, so if your sketch includes <code>ESP8266httpUpdate.h</code> after <code>AutoConnect.h</code>, the <strong>ESPhttpUpdate</strong> global variable will be lost.</p>
<p>You can avoid a compile error in one of two ways:</p>
<ol>
<li>
<p>Disable an AutoConnectUpdate feature if you don't need.</p>
<p>You can disable the AutoConnectUpdate feature by commenting out the <strong>AUTOCONNECT_USE_UPDATE</strong> macro in the <code>AutoConnectDefs.h</code> header file.
<p>Change the order of <code>#include</code> directives.</p>
<p>With the sketch, <code>#include <ESP8266httpUpdate.h></code> before <code>#include <AutoConnect.h></code>.</p>
</li>
</ol>
<h2id="connection-lost-immediately-after-establishment-with-ap"><iclass="fa fa-question-circle"></i> Connection lost immediately after establishment with AP<aclass="headerlink"href="#connection-lost-immediately-after-establishment-with-ap"title="Permanent link">¶</a></h2>
<p>A captive portal is disconnected immediately after the connection establishes with the new AP. This is a known problem of ESP32, and it may occur when the following conditions are satisfied at the same time.</p>
@ -18,6 +18,29 @@ You can migrate the past saved credentials using [**CreditMigrate.ino**](https:/
Captive portal detection could not be trapped. It is necessary to disconnect and reset ESP8266 to clear memorized connection data in ESP8266. Also, It may be displayed on the smartphone if the connection information of esp8266ap is wrong. In that case, delete the connection information of esp8266ap memorized by the smartphone once.
## <iclass="fa fa-question-circle"></i> Compile error that 'EEPROM' was not declared in this scope
If the user sketch includes the header file as `EEPROM.h`, this compilation error may occur depending on the order of the `#include` directives. `AutoConnectCredentials.h` including in succession linked from `AutoConnect.h` defines **NO_GLOBAL_EEPROM** internally, so if your sketch includes `EEPROM.h` after `AutoConnect.h`, the **EEPROM** global variable will be lost.
If you use EEPROM with your sketch, declare `#include <EEPROM.h>` in front of `#include <AutoConnect.h>`.
## <iclass="fa fa-question-circle"></i> Compile error that 'ESPhttpUpdate' was not declared in this scope
If the user sketch includes the header file as `ESP8266httpUpdate.h`, this compilation error may occur depending on the order of the `#include` directives. `AutoConnectUpdate.h` including in succession linked from `AutoConnect.h` defines **NO_GLOBAL_HTTPUPDATE** internally, so if your sketch includes `ESP8266httpUpdate.h` after `AutoConnect.h`, the **ESPhttpUpdate** global variable will be lost.
You can avoid a compile error in one of two ways:
1. Disable an AutoConnectUpdate feature if you don't need.
You can disable the AutoConnectUpdate feature by commenting out the **AUTOCONNECT_USE_UPDATE** macro in the `AutoConnectDefs.h` header file.
```cpp
#define AUTOCONNECT_USE_UPDATE
```
2. Change the order of `#include` directives.
With the sketch, `#include <ESP8266httpUpdate.h>` before `#include <AutoConnect.h>`.
## <iclass="fa fa-question-circle"></i> Connection lost immediately after establishment with AP
A captive portal is disconnected immediately after the connection establishes with the new AP. This is a known problem of ESP32, and it may occur when the following conditions are satisfied at the same time.