Added the persistent constructor parameter, as well as added the connect method to ease the class's instantiation
This commit is contained in:
parent
285c9ef20b
commit
e68ab04195
@ -1,20 +1,29 @@
|
|||||||
#include "ConnectivityManager.h"
|
#include "ConnectivityManager.h"
|
||||||
|
|
||||||
ConnectivityManager::ConnectivityManager() : _error(0), _sdCardManager(NULL)
|
ConnectivityManager::ConnectivityManager(bool persistent)
|
||||||
{
|
{
|
||||||
persistent(false);
|
ConnectivityManager::persistent(persistent);
|
||||||
|
}
|
||||||
|
|
||||||
|
ConnectivityManager::ConnectivityManager(SDCardManager &sdCardManager, bool persistent) : _sdCardManager(&sdCardManager)
|
||||||
|
{
|
||||||
|
ConnectivityManager::persistent(persistent);
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean ConnectivityManager::connect()
|
||||||
|
{
|
||||||
|
if(!_sdCardManager) // ie _sdCardManager was not provided in contructor
|
||||||
|
{
|
||||||
if(!WiFi.disconnect(true))_error |= STA_ENABLED_DISABLE_ERR;
|
if(!WiFi.disconnect(true))_error |= STA_ENABLED_DISABLE_ERR;
|
||||||
if(!WiFi.softAPdisconnect(true))_error |= AP_ENABLED_DISABLE_ERR;
|
if(!WiFi.softAPdisconnect(true))_error |= AP_ENABLED_DISABLE_ERR;
|
||||||
if(!softAP("ESP8266SwissArmyBoard", NULL, 1, false, 8))_error |= AP_SETUP_ERR;
|
if(!softAP("ESP8266SwissArmyBoard", NULL, 1, false, 8))_error |= AP_SETUP_ERR;
|
||||||
}
|
|
||||||
|
|
||||||
ConnectivityManager::ConnectivityManager(SDCardManager &sdCardManager) : _error(0), _sdCardManager(&sdCardManager)
|
return _error == NO_ERROR;
|
||||||
{
|
}
|
||||||
persistent(false);
|
else
|
||||||
|
{
|
||||||
startAP();
|
return connectToSTA() && startAP();
|
||||||
connectToSTA();
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean ConnectivityManager::connectToSTA()
|
boolean ConnectivityManager::connectToSTA()
|
||||||
|
@ -20,6 +20,7 @@ class ConnectivityManager : public ESP8266WiFiClass
|
|||||||
{
|
{
|
||||||
friend class SAB;
|
friend class SAB;
|
||||||
public:
|
public:
|
||||||
|
boolean connect();
|
||||||
boolean enableSTAAndAP(boolean enable);
|
boolean enableSTAAndAP(boolean enable);
|
||||||
boolean isSTAEnabled();
|
boolean isSTAEnabled();
|
||||||
boolean isAPEnabled();
|
boolean isAPEnabled();
|
||||||
@ -27,14 +28,14 @@ class ConnectivityManager : public ESP8266WiFiClass
|
|||||||
unsigned char RSSIPercent();
|
unsigned char RSSIPercent();
|
||||||
unsigned char getError() const;
|
unsigned char getError() const;
|
||||||
protected:
|
protected:
|
||||||
ConnectivityManager();
|
ConnectivityManager(bool persistent = false);
|
||||||
ConnectivityManager(SDCardManager &sdCardManager);
|
ConnectivityManager(SDCardManager &sdCardManager, bool persistent = false);
|
||||||
|
|
||||||
boolean connectToSTA();
|
boolean connectToSTA();
|
||||||
boolean startAP();
|
boolean startAP();
|
||||||
private:
|
private:
|
||||||
unsigned char _error;
|
unsigned char _error = NO_ERROR;
|
||||||
SDCardManager *_sdCardManager;
|
SDCardManager *_sdCardManager = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //CONNECTIVITYMANAGER_H
|
#endif //CONNECTIVITYMANAGER_H
|
||||||
|
Loading…
Reference in New Issue
Block a user