mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-17 22:23:10 +03:00
Merge pull request #370 from Links2004/esp8266
add better docu and schematics for easy setup the ESP
This commit is contained in:
@ -46,6 +46,9 @@ ESP8266WiFiClass::ESP8266WiFiClass()
|
||||
|
||||
void ESP8266WiFiClass::mode(WiFiMode m)
|
||||
{
|
||||
if(wifi_get_opmode() == (uint8)m) {
|
||||
return;
|
||||
}
|
||||
ETS_UART_INTR_DISABLE();
|
||||
wifi_set_opmode(m);
|
||||
ETS_UART_INTR_ENABLE();
|
||||
@ -357,10 +360,14 @@ void ESP8266WiFiClass::_scanDone(void* result, int status)
|
||||
|
||||
int8_t ESP8266WiFiClass::scanNetworks()
|
||||
{
|
||||
if ((wifi_get_opmode() & 1) == 0)//1 and 3 have STA enabled
|
||||
{
|
||||
if(_useApMode) {
|
||||
// turn on AP+STA mode
|
||||
mode(WIFI_AP_STA);
|
||||
} else {
|
||||
// turn on STA mode
|
||||
mode(WIFI_STA);
|
||||
}
|
||||
|
||||
int status = wifi_station_get_connect_status();
|
||||
if (status != STATION_GOT_IP && status != STATION_IDLE)
|
||||
{
|
||||
@ -532,9 +539,12 @@ void ESP8266WiFiClass::beginSmartConfig()
|
||||
if (_smartConfigStarted)
|
||||
return;
|
||||
|
||||
if ((wifi_get_opmode() & 1) == 0)//1 and 3 have STA enabled
|
||||
{
|
||||
if(_useApMode) {
|
||||
// turn on AP+STA mode
|
||||
mode(WIFI_AP_STA);
|
||||
} else {
|
||||
// turn on STA mode
|
||||
mode(WIFI_STA);
|
||||
}
|
||||
|
||||
_smartConfigStarted = true;
|
||||
|
@ -72,7 +72,6 @@ wl_status_t ESP8266WiFiMulti::run(void) {
|
||||
|
||||
WiFi.getNetworkInfo(i, ssid_scan, sec_scan, rssi_scan, BSSID_scan, chan_scan, hidden_scan);
|
||||
|
||||
|
||||
bool known = false;
|
||||
for(uint32_t x = 0; x < APlist.size(); x++) {
|
||||
WifiAPlist_t entry = APlist[x];
|
||||
@ -152,7 +151,17 @@ bool ESP8266WiFiMulti::APlistAdd(const char* ssid, const char *passphrase) {
|
||||
|
||||
WifiAPlist_t newAP;
|
||||
|
||||
newAP.ssid = (char*) malloc(strlen(ssid));
|
||||
if(!ssid || strlen(ssid) > 31) {
|
||||
// fail SSID to long or missing!
|
||||
return false;
|
||||
}
|
||||
|
||||
if(passphrase && strlen(passphrase) > 63) {
|
||||
// fail passphrase to long!
|
||||
return false;
|
||||
}
|
||||
|
||||
newAP.ssid = (char*) malloc((strlen(ssid) + 1));
|
||||
|
||||
if(!newAP.ssid) {
|
||||
return false;
|
||||
@ -161,16 +170,14 @@ bool ESP8266WiFiMulti::APlistAdd(const char* ssid, const char *passphrase) {
|
||||
strcpy(newAP.ssid, ssid);
|
||||
|
||||
if(passphrase && *passphrase != 0x00) {
|
||||
newAP.passphrase = (char*) malloc(strlen(passphrase));
|
||||
newAP.passphrase = (char*) malloc((strlen(passphrase) + 1));
|
||||
if(!newAP.passphrase) {
|
||||
free(newAP.ssid);
|
||||
return false;
|
||||
}
|
||||
strcpy(newAP.passphrase, passphrase);
|
||||
}
|
||||
|
||||
if(!newAP.passphrase) {
|
||||
free(newAP.ssid);
|
||||
return false;
|
||||
}
|
||||
|
||||
strcpy(newAP.passphrase, passphrase);
|
||||
|
||||
APlist.push_back(newAP);
|
||||
return true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user