feature/APSTA #8
@@ -720,6 +720,7 @@ wificonfigresult_t WiFiConfig::_setupAP(wificonfig_cb cb)
 | 
				
			|||||||
        ssid.replace(F("?"), String(lmac));
 | 
					        ssid.replace(F("?"), String(lmac));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    WiFi.softAP(ssid.c_str(), NULL, SETUP_CHANNEL);
 | 
					    WiFi.softAP(ssid.c_str(), NULL, SETUP_CHANNEL);
 | 
				
			||||||
 | 
					    delay(100); // kvuli ESP32 - cekame na start AP
 | 
				
			||||||
    WiFi.softAPConfig(apIP, apIP, netMsk);
 | 
					    WiFi.softAPConfig(apIP, apIP, netMsk);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    dnsServer->setErrorReplyCode(DNSReplyCode::NoError);
 | 
					    dnsServer->setErrorReplyCode(DNSReplyCode::NoError);
 | 
				
			||||||
@@ -826,6 +827,7 @@ bool WiFiConfig::_testWifi(wificonfig_cb cb)
 | 
				
			|||||||
            WiFi.softAP(s.c_str(), NULL, EEPROM.read(configBase + offsetof(wificonfigarea_t, apchannel)));
 | 
					            WiFi.softAP(s.c_str(), NULL, EEPROM.read(configBase + offsetof(wificonfigarea_t, apchannel)));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if (IPCONFIG_STATIC == EEPROM.read(configBase + offsetof(wificonfigarea_t, ip))) {
 | 
					        if (IPCONFIG_STATIC == EEPROM.read(configBase + offsetof(wificonfigarea_t, ip))) {
 | 
				
			||||||
 | 
					            delay(100); // kvuli ESP32 - cekame na start AP
 | 
				
			||||||
            WiFi.softAPConfig(IPAddress(getEEPROMuint32(configBase + offsetof(wificonfigarea_t, ipaddr))), IPAddress(getEEPROMuint32(configBase + offsetof(wificonfigarea_t, gateway))),
 | 
					            WiFi.softAPConfig(IPAddress(getEEPROMuint32(configBase + offsetof(wificonfigarea_t, ipaddr))), IPAddress(getEEPROMuint32(configBase + offsetof(wificonfigarea_t, gateway))),
 | 
				
			||||||
                              IPAddress(getEEPROMuint32(configBase + offsetof(wificonfigarea_t, netmask))));
 | 
					                              IPAddress(getEEPROMuint32(configBase + offsetof(wificonfigarea_t, netmask))));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -941,4 +943,16 @@ wificonfigresult_t WiFiConfig::begin(int configarea, int forceConfigure, int tim
 | 
				
			|||||||
        _time = millis() + (_timeout * 1000); // spocitame si novy cas, kdy budeme modul restartovat
 | 
					        _time = millis() + (_timeout * 1000); // spocitame si novy cas, kdy budeme modul restartovat
 | 
				
			||||||
    return begin(configarea, forceConfigure, cb); // spustime WiFi
 | 
					    return begin(configarea, forceConfigure, cb); // spustime WiFi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void WiFiConfigPrepare(int configBase, String ssid, String pass)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    EES_storeString(configBase + offsetof(wificonfigarea_t, ssid), elementSize(wificonfigarea_t, ssid), ssid);
 | 
				
			||||||
 | 
					    EES_storeString(configBase + offsetof(wificonfigarea_t, pass), elementSize(wificonfigarea_t, pass), pass);
 | 
				
			||||||
 | 
					    EEPROM.write(configBase + offsetof(wificonfigarea_t, mode), WIFIMODE_STA);
 | 
				
			||||||
 | 
					    EEPROM.write(configBase + offsetof(wificonfigarea_t, ip), IPCONFIG_DHCP); // mame DHCP dynamickou konfiguraci
 | 
				
			||||||
 | 
					    EEPROM.commit(); // ulozime zmeny v EEPROM
 | 
				
			||||||
 | 
					    WiFi.mode(WIFI_STA); // startujeme WiFi v rezimu klienta
 | 
				
			||||||
 | 
					    WiFi.begin(ssid.c_str(), pass.c_str());
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
// EOF
 | 
					// EOF
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -188,4 +188,8 @@ private:
 | 
				
			|||||||
    uint32_t _time; // hodnota, po ktere bude ESP restartovano (pokud je _timeout != 0)
 | 
					    uint32_t _time; // hodnota, po ktere bude ESP restartovano (pokud je _timeout != 0)
 | 
				
			||||||
    uint8_t _status; // stav pripojeni - je pouzity pro signalizaci duvodu, proc se nepripoji k AP
 | 
					    uint8_t _status; // stav pripojeni - je pouzity pro signalizaci duvodu, proc se nepripoji k AP
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Priprava (inicializace) EEPROM oblasti napr. u zcela noveho zarizeni
 | 
				
			||||||
 | 
					// EEPROM je inicializovana pro rezim jen STA!!!
 | 
				
			||||||
 | 
					void WiFiConfigPrepare(int configBase, String ssid, String pass);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user