Browse Source

Merge 85cb92362c into c4fe30f118

pull/1891/merge
permissionBRICK 2 weeks ago
committed by GitHub
parent
commit
b93996e8b6
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 16
      src/network/AhoyWifiEsp8266.h

16
src/network/AhoyWifiEsp8266.h

@ -37,13 +37,24 @@ class AhoyWifi : public AhoyNetwork {
mOnNetworkCB(false); mOnNetworkCB(false);
mAp.enable(); mAp.enable();
MDNS.end(); MDNS.end();
mDirectAttempts = 0;
} }
if (WiFi.softAPgetStationNum() > 0) { if (WiFi.softAPgetStationNum() > 0) {
DBGPRINTLN(F("AP client connected")); DBGPRINTLN(F("AP client connected"));
} }
#if !defined(AP_ONLY) #if !defined(AP_ONLY)
else if (!mScanActive) { else if (mConfig->sys.isHidden && (mDirectAttempts < MAX_DIRECT_ATTEMPTS) && !mScanActive) {
DBGPRINT(F("hidden SSID direct connect attempt "));
DBGPRINTLN(String(mDirectAttempts + 1));
mBSSIDList.clear();
setStaticIp();
WiFi.begin(mConfig->sys.stationSsid, mConfig->sys.stationPwd);
mDirectAttempts++;
mWifiConnecting = true;
mCnt = 0;
mStatus = NetworkState::CONNECTING;
} else if (!mScanActive) {
DBGPRINT(F("scanning APs with SSID ")); DBGPRINT(F("scanning APs with SSID "));
DBGPRINTLN(String(mConfig->sys.stationSsid)); DBGPRINTLN(String(mConfig->sys.stationSsid));
mScanCnt = 0; mScanCnt = 0;
@ -92,6 +103,7 @@ class AhoyWifi : public AhoyNetwork {
if(!mConnected) { if(!mConnected) {
mAp.disable(); mAp.disable();
mConnected = true; mConnected = true;
mDirectAttempts = 0;
ah::welcome(WiFi.localIP().toString(), F("Station")); ah::welcome(WiFi.localIP().toString(), F("Station"));
MDNS.begin(mConfig->sys.deviceName); MDNS.begin(mConfig->sys.deviceName);
MDNSResponder::hMDNSService hRes = MDNS.addService(NULL, "http", "tcp", 80); MDNSResponder::hMDNSService hRes = MDNS.addService(NULL, "http", "tcp", 80);
@ -161,10 +173,12 @@ class AhoyWifi : public AhoyNetwork {
private: private:
uint8_t mCnt = 0; uint8_t mCnt = 0;
uint8_t mScanCnt = 0; uint8_t mScanCnt = 0;
uint8_t mDirectAttempts = 0;
std::list<uint8_t> mBSSIDList; std::list<uint8_t> mBSSIDList;
bool mWasInCh12to14 = false; bool mWasInCh12to14 = false;
static constexpr uint8_t TIMEOUT = 20; static constexpr uint8_t TIMEOUT = 20;
static constexpr uint8_t SCAN_TIMEOUT = 10; static constexpr uint8_t SCAN_TIMEOUT = 10;
static constexpr uint8_t MAX_DIRECT_ATTEMPTS = 3;
}; };
#endif /*ESP8266*/ #endif /*ESP8266*/

Loading…
Cancel
Save