24#ifdef ARDUINO_ARCH_ESP8266
25# include <ESP8266WiFi.h>
43 virtual void Poll (
void) = 0;
44 virtual void Init (
void) = 0;
67 void connectWifi (
const String & ssid,
const String & passphrase);
90#define DEFAULT_SSID_NOT_SET "DEFAULT_SSID_NOT_SET"
93#ifdef ARDUINO_ARCH_ESP8266
94 WiFiEventHandler wifiConnectHandler;
95 WiFiEventHandler wifiDisconnectHandler;
106 IPAddress
ip = INADDR_NONE;
118#ifdef SUPPORT_ETHERNET
126#ifdef ARDUINO_ARCH_ESP8266
130 void onWiFiConnect (
const WiFiEvent_t event,
const WiFiEventInfo_t info);
131 void onWiFiDisconnect (
const WiFiEvent_t event,
const WiFiEventInfo_t info);
167 virtual void Poll (
void);
168 virtual void Init (
void);
182 virtual void Poll (
void);
183 virtual void Init (
void);
184 virtual void GetStateName (String& sName) { sName = F (
"Connecting Using Config Credentials"); }
197 virtual void Poll (
void);
198 virtual void Init (
void);
199 virtual void GetStateName (String& sName) { sName = F (
"Connecting Using Default Credentials"); }
212 virtual void Poll (
void);
213 virtual void Init (
void);
214 virtual void GetStateName (String& sName) { sName = F (
"Connected To AP"); }
227 virtual void Poll (
void);
228 virtual void Init (
void);
229 virtual void GetStateName (String& sName) { sName = F (
"Connecting As AP"); }
242 virtual void Poll (
void);
243 virtual void Init (
void);
244 virtual void GetStateName (String& sName) { sName = F (
"Connected To STA"); }
258 virtual void Init (
void);
259 virtual void GetStateName (String& sName) { sName = F (
"Connection Failed"); }
273 virtual void Init (
void);
const CN_PROGMEM char CN_WiFiDrv[]
Definition ConstNames.cpp:237
#define AP_TIMEOUT
In AP mode, wait 120 seconds for a connection or reboot.
Definition ESPixelStick.h:53
#define CLIENT_TIMEOUT
In station/client mode try to connection for 15 seconds.
Definition ESPixelStick.h:52
Definition FastTimer.hpp:24
Definition ApCredentials.hpp:24
Definition WiFiDriver.hpp:53
void onWiFiConnect(const WiFiEvent_t event, const WiFiEventInfo_t info)
Definition WiFiDriver.cpp:405
FastTimer NextPoll
Definition WiFiDriver.hpp:100
bool SetConfig(JsonObject &json)
Definition WiFiDriver.cpp:480
bool Get_ap_StayInApMode()
Definition WiFiDriver.hpp:80
bool IsWiFiConnected()
Definition WiFiDriver.hpp:74
uint32_t Get_ap_timeout()
Definition WiFiDriver.hpp:78
FastTimer & GetFsmTimer(void)
Definition WiFiDriver.hpp:73
char ap_ssid[65]
Definition WiFiDriver.hpp:104
void Begin()
< Start the module
Definition WiFiDriver.cpp:124
void GetDriverName(String &Name)
Definition WiFiDriver.hpp:76
uint32_t PollInterval
Definition WiFiDriver.hpp:101
void Enable()
Definition WiFiDriver.cpp:294
void Disable()
Definition WiFiDriver.cpp:277
void GetHostname(String &name)
Definition WiFiDriver.cpp:356
void Poll()
Definition WiFiDriver.cpp:434
void connectWifi(const String &ssid, const String &passphrase)
Definition WiFiDriver.cpp:205
uint32_t Get_sta_timeout()
Definition WiFiDriver.hpp:77
bool ReportedIsWiFiConnected
Definition WiFiDriver.hpp:102
uint8_t ap_channelNumber
Definition WiFiDriver.hpp:112
char ap_passphrase[65]
Definition WiFiDriver.hpp:105
void setIpAddress(IPAddress NewAddress)
Definition WiFiDriver.hpp:64
bool RebootOnWiFiFailureToConnect
Definition WiFiDriver.hpp:121
bool StayInApMode
Definition WiFiDriver.hpp:116
IPAddress secondaryDns
Definition WiFiDriver.hpp:110
IPAddress gateway
Definition WiFiDriver.hpp:108
fsm_WiFi_state * pCurrentFsmState
Definition WiFiDriver.hpp:147
virtual ~c_WiFiDriver()
< deallocate any resources and put the output channels into a safe state
Definition WiFiDriver.cpp:101
c_WiFiDriver()
< Start up the driver and put it into a safe mode
Definition WiFiDriver.cpp:85
int ValidateConfig()
Definition WiFiDriver.cpp:620
void reset()
Definition WiFiDriver.cpp:459
IPAddress netmask
Definition WiFiDriver.hpp:107
IPAddress primaryDns
Definition WiFiDriver.hpp:109
void GetConfig(JsonObject &json)
Definition WiFiDriver.cpp:314
void AnnounceState()
Definition WiFiDriver.cpp:110
String GetWiFiMacAddress()
Definition WiFiDriver.hpp:87
IPAddress getIpSubNetMask()
Definition WiFiDriver.hpp:65
String GetConfig_apssid()
Definition WiFiDriver.hpp:82
void onWiFiDisconnect(const WiFiEvent_t event, const WiFiEventInfo_t info)
WiFi Disconnect Handler.
Definition WiFiDriver.cpp:422
bool Get_RebootOnWiFiFailureToConnect()
Definition WiFiDriver.hpp:81
void GetStatus(JsonObject &json)
Definition WiFiDriver.cpp:367
bool UseDhcp
Definition WiFiDriver.hpp:111
void SetIsWiFiConnected(bool value)
Definition WiFiDriver.hpp:75
c_ApCredentials ApCredentials
Definition WiFiDriver.hpp:149
uint32_t ap_timeout
How long to wait in AP mode with no connection before rebooting.
Definition WiFiDriver.hpp:114
void SetFsmState(fsm_WiFi_state *NewState)
Definition WiFiDriver.cpp:546
bool ap_fallbackIsEnabled
Definition WiFiDriver.hpp:113
void SetHostname(String &name)
Definition WiFiDriver.cpp:558
FastTimer FsmTimer
Definition WiFiDriver.hpp:148
void SetUpIp()
Definition WiFiDriver.cpp:569
void onWiFiStaDisc(const WiFiEvent_t event, const WiFiEventInfo_t info)
void setIpSubNetMask(IPAddress NewAddress)
Definition WiFiDriver.hpp:66
IPAddress CurrentSubnetMask
Definition WiFiDriver.hpp:99
IPAddress ip
Definition WiFiDriver.hpp:106
uint32_t sta_timeout
Timeout when connection as client (station)
Definition WiFiDriver.hpp:115
bool Get_ap_fallbackIsEnabled()
Definition WiFiDriver.hpp:79
IPAddress CurrentIpAddress
Definition WiFiDriver.hpp:98
void onWiFiStaConn(const WiFiEvent_t event, const WiFiEventInfo_t info)
IPAddress getIpAddress()
Definition WiFiDriver.hpp:63
Definition WiFiDriver.hpp:162
virtual void OnDisconnect(void)
Definition WiFiDriver.hpp:171
virtual void OnConnect(void)
Definition WiFiDriver.hpp:170
virtual void Poll(void)
Definition WiFiDriver.cpp:651
virtual ~fsm_WiFi_state_Boot()
Definition WiFiDriver.hpp:165
fsm_WiFi_state_Boot()
Definition WiFiDriver.hpp:164
virtual void Init(void)
Definition WiFiDriver.cpp:666
virtual void GetStateName(String &sName)
Definition WiFiDriver.hpp:169
Definition WiFiDriver.hpp:207
virtual void OnConnect(void)
Definition WiFiDriver.hpp:215
virtual void Poll(void)
Definition WiFiDriver.cpp:905
virtual void OnDisconnect(void)
Definition WiFiDriver.cpp:944
virtual void Init(void)
Definition WiFiDriver.cpp:921
virtual void GetStateName(String &sName)
Definition WiFiDriver.hpp:214
virtual ~fsm_WiFi_state_ConnectedToAP()
Definition WiFiDriver.hpp:210
fsm_WiFi_state_ConnectedToAP()
Definition WiFiDriver.hpp:209
Definition WiFiDriver.hpp:237
virtual void Poll(void)
Definition WiFiDriver.cpp:958
virtual void Init(void)
Definition WiFiDriver.cpp:981
virtual ~fsm_WiFi_state_ConnectedToSta()
Definition WiFiDriver.hpp:240
virtual void OnDisconnect(void)
Definition WiFiDriver.cpp:1003
virtual void OnConnect(void)
Definition WiFiDriver.hpp:245
fsm_WiFi_state_ConnectedToSta()
Definition WiFiDriver.hpp:239
virtual void GetStateName(String &sName)
Definition WiFiDriver.hpp:244
Definition WiFiDriver.hpp:222
virtual void Init(void)
Definition WiFiDriver.cpp:852
fsm_WiFi_state_ConnectingAsAP()
Definition WiFiDriver.hpp:224
virtual void OnDisconnect(void)
Definition WiFiDriver.hpp:231
virtual void GetStateName(String &sName)
Definition WiFiDriver.hpp:229
virtual void OnConnect(void)
Definition WiFiDriver.cpp:892
virtual void Poll(void)
Definition WiFiDriver.cpp:827
virtual ~fsm_WiFi_state_ConnectingAsAP()
Definition WiFiDriver.hpp:225
Definition WiFiDriver.hpp:177
virtual void Poll(void)
Definition WiFiDriver.cpp:683
fsm_WiFi_state_ConnectingUsingConfig()
Definition WiFiDriver.hpp:179
virtual void OnDisconnect(void)
Definition WiFiDriver.hpp:186
virtual void Init(void)
Definition WiFiDriver.cpp:706
virtual void OnConnect(void)
Definition WiFiDriver.cpp:751
virtual void GetStateName(String &sName)
Definition WiFiDriver.hpp:184
virtual ~fsm_WiFi_state_ConnectingUsingConfig()
Definition WiFiDriver.hpp:180
Definition WiFiDriver.hpp:192
virtual void OnConnect(void)
Definition WiFiDriver.cpp:813
virtual void Poll(void)
Definition WiFiDriver.cpp:764
virtual void Init(void)
Definition WiFiDriver.cpp:784
virtual ~fsm_WiFi_state_ConnectingUsingDefaults()
Definition WiFiDriver.hpp:195
fsm_WiFi_state_ConnectingUsingDefaults()
Definition WiFiDriver.hpp:194
virtual void GetStateName(String &sName)
Definition WiFiDriver.hpp:199
virtual void OnDisconnect(void)
Definition WiFiDriver.hpp:201
Definition WiFiDriver.hpp:252
virtual void OnConnect(void)
Definition WiFiDriver.hpp:260
virtual void Init(void)
Definition WiFiDriver.cpp:1024
virtual void OnDisconnect(void)
Definition WiFiDriver.hpp:261
virtual ~fsm_WiFi_state_ConnectionFailed()
Definition WiFiDriver.hpp:255
virtual void GetStateName(String &sName)
Definition WiFiDriver.hpp:259
fsm_WiFi_state_ConnectionFailed()
Definition WiFiDriver.hpp:254
virtual void Poll(void)
Definition WiFiDriver.hpp:257
Definition WiFiDriver.hpp:267
virtual void Poll(void)
Definition WiFiDriver.hpp:272
virtual void OnConnect(void)
Definition WiFiDriver.hpp:275
virtual void OnDisconnect(void)
Definition WiFiDriver.hpp:276
virtual void GetStateName(String &sName)
Definition WiFiDriver.hpp:274
virtual ~fsm_WiFi_state_Disabled()
Definition WiFiDriver.hpp:270
fsm_WiFi_state_Disabled()
Definition WiFiDriver.hpp:269
virtual void Init(void)
Definition WiFiDriver.cpp:1057
Definition WiFiDriver.hpp:36
void SetParent(c_WiFiDriver *parent)
Definition WiFiDriver.hpp:49
virtual void GetStateName(String &sName)=0
fsm_WiFi_state()
Definition WiFiDriver.hpp:40
virtual void OnConnect(void)=0
virtual void OnDisconnect(void)=0
virtual void Poll(void)=0
void GetDriverName(String &Name)
Definition WiFiDriver.hpp:48
c_WiFiDriver * pWiFiDriver
Definition WiFiDriver.hpp:38
virtual void Init(void)=0
virtual ~fsm_WiFi_state()
Definition WiFiDriver.hpp:41