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"
|
||||
|
||||
ConnectivityManager::ConnectivityManager() : _error(0), _sdCardManager(NULL)
|
||||
ConnectivityManager::ConnectivityManager(bool persistent)
|
||||
{
|
||||
persistent(false);
|
||||
|
||||
if(!WiFi.disconnect(true))_error |= STA_ENABLED_DISABLE_ERR;
|
||||
if(!WiFi.softAPdisconnect(true))_error |= AP_ENABLED_DISABLE_ERR;
|
||||
if(!softAP("ESP8266SwissArmyBoard", NULL, 1, false, 8))_error |= AP_SETUP_ERR;
|
||||
ConnectivityManager::persistent(persistent);
|
||||
}
|
||||
|
||||
ConnectivityManager::ConnectivityManager(SDCardManager &sdCardManager) : _error(0), _sdCardManager(&sdCardManager)
|
||||
ConnectivityManager::ConnectivityManager(SDCardManager &sdCardManager, bool persistent) : _sdCardManager(&sdCardManager)
|
||||
{
|
||||
persistent(false);
|
||||
|
||||
startAP();
|
||||
connectToSTA();
|
||||
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.softAPdisconnect(true))_error |= AP_ENABLED_DISABLE_ERR;
|
||||
if(!softAP("ESP8266SwissArmyBoard", NULL, 1, false, 8))_error |= AP_SETUP_ERR;
|
||||
|
||||
return _error == NO_ERROR;
|
||||
}
|
||||
else
|
||||
{
|
||||
return connectToSTA() && startAP();
|
||||
}
|
||||
}
|
||||
|
||||
boolean ConnectivityManager::connectToSTA()
|
||||
|
@ -20,6 +20,7 @@ class ConnectivityManager : public ESP8266WiFiClass
|
||||
{
|
||||
friend class SAB;
|
||||
public:
|
||||
boolean connect();
|
||||
boolean enableSTAAndAP(boolean enable);
|
||||
boolean isSTAEnabled();
|
||||
boolean isAPEnabled();
|
||||
@ -27,14 +28,14 @@ class ConnectivityManager : public ESP8266WiFiClass
|
||||
unsigned char RSSIPercent();
|
||||
unsigned char getError() const;
|
||||
protected:
|
||||
ConnectivityManager();
|
||||
ConnectivityManager(SDCardManager &sdCardManager);
|
||||
ConnectivityManager(bool persistent = false);
|
||||
ConnectivityManager(SDCardManager &sdCardManager, bool persistent = false);
|
||||
|
||||
boolean connectToSTA();
|
||||
boolean startAP();
|
||||
private:
|
||||
unsigned char _error;
|
||||
SDCardManager *_sdCardManager;
|
||||
unsigned char _error = NO_ERROR;
|
||||
SDCardManager *_sdCardManager = nullptr;
|
||||
};
|
||||
|
||||
#endif //CONNECTIVITYMANAGER_H
|
||||
|
Loading…
Reference in New Issue
Block a user