23#ifdef ARDUINO_ARCH_ESP8266
24# include <ESP8266WiFi.h>
42 virtual void Poll (
void) = 0;
43 virtual void Init (
void) = 0;
90#define DEFAULT_SSID_NOT_SET "DEFAULT_SSID_NOT_SET"
93#ifdef ARDUINO_ARCH_ESP8266
94 WiFiEventHandler wifiConnectHandler;
95 WiFiEventHandler wifiDisconnectHandler;
108 IPAddress
ip = INADDR_NONE;
120#ifdef SUPPORT_ETHERNET
128#ifdef ARDUINO_ARCH_ESP8266
132 void onWiFiConnect (
const WiFiEvent_t event,
const WiFiEventInfo_t info);
133 void onWiFiDisconnect (
const WiFiEvent_t event,
const WiFiEventInfo_t info);
168 virtual void Poll (
void);
169 virtual void Init (
void);
183 virtual void Poll (
void);
184 virtual void Init (
void);
185 virtual void GetStateName (String& sName) { sName = F (
"Connecting Using Config Credentials"); }
198 virtual void Poll (
void);
199 virtual void Init (
void);
200 virtual void GetStateName (String& sName) { sName = F (
"Connecting Using Default Credentials"); }
213 virtual void Poll (
void);
214 virtual void Init (
void);
215 virtual void GetStateName (String& sName) { sName = F (
"Connected To AP"); }
228 virtual void Poll (
void);
229 virtual void Init (
void);
230 virtual void GetStateName (String& sName) { sName = F (
"Connecting As AP"); }
243 virtual void Poll (
void);
244 virtual void Init (
void);
245 virtual void GetStateName (String& sName) { sName = F (
"Connected To STA"); }
259 virtual void Init (
void);
260 virtual void GetStateName (String& sName) { sName = F (
"Connection Failed"); }
274 virtual void Init (
void);
const CN_PROGMEM char CN_WiFiDrv[]
Definition ConstNames.cpp:234
#define AP_TIMEOUT
In AP mode, wait 120 seconds for a connection or reboot.
Definition ESPixelStick.h:49
#define CLIENT_TIMEOUT
In station/client mode try to connection for 15 seconds.
Definition ESPixelStick.h:48
Definition FastTimer.hpp:24
Definition WiFiDriver.hpp:52
void onWiFiConnect(const WiFiEvent_t event, const WiFiEventInfo_t info)
Definition WiFiDriver.cpp:401
FastTimer NextPoll
Definition WiFiDriver.hpp:100
bool SetConfig(JsonObject &json)
Definition WiFiDriver.cpp:476
bool Get_ap_StayInApMode()
Definition WiFiDriver.hpp:79
bool IsWiFiConnected()
Definition WiFiDriver.hpp:73
uint32_t Get_ap_timeout()
Definition WiFiDriver.hpp:77
FastTimer & GetFsmTimer(void)
Definition WiFiDriver.hpp:72
void Begin()
< Start the module
Definition WiFiDriver.cpp:124
void GetDriverName(String &Name)
Definition WiFiDriver.hpp:75
uint32_t PollInterval
Definition WiFiDriver.hpp:101
void Enable()
Definition WiFiDriver.cpp:291
void Disable()
Definition WiFiDriver.cpp:274
String GetConfig_ssid()
Definition WiFiDriver.hpp:81
void GetHostname(String &name)
Definition WiFiDriver.cpp:352
String ap_passphrase
Definition WiFiDriver.hpp:107
void Poll()
Definition WiFiDriver.cpp:430
void connectWifi(const String &ssid, const String &passphrase)
Definition WiFiDriver.cpp:202
uint32_t Get_sta_timeout()
Definition WiFiDriver.hpp:76
bool ReportedIsWiFiConnected
Definition WiFiDriver.hpp:102
uint8_t ap_channelNumber
Definition WiFiDriver.hpp:114
void setIpAddress(IPAddress NewAddress)
Definition WiFiDriver.hpp:63
bool RebootOnWiFiFailureToConnect
Definition WiFiDriver.hpp:123
bool StayInApMode
Definition WiFiDriver.hpp:118
IPAddress secondaryDns
Definition WiFiDriver.hpp:112
IPAddress gateway
Definition WiFiDriver.hpp:110
fsm_WiFi_state * pCurrentFsmState
Definition WiFiDriver.hpp:149
virtual ~c_WiFiDriver()
< deallocate any resources and put the output channels into a safe state
Definition WiFiDriver.cpp:101
String ssid
Definition WiFiDriver.hpp:104
c_WiFiDriver()
< Start up the driver and put it into a safe mode
Definition WiFiDriver.cpp:85
int ValidateConfig()
Definition WiFiDriver.cpp:622
void reset()
Definition WiFiDriver.cpp:455
IPAddress netmask
Definition WiFiDriver.hpp:109
IPAddress primaryDns
Definition WiFiDriver.hpp:111
void GetConfig(JsonObject &json)
Definition WiFiDriver.cpp:311
void AnnounceState()
Definition WiFiDriver.cpp:110
IPAddress getIpSubNetMask()
Definition WiFiDriver.hpp:64
String GetConfig_apssid()
Definition WiFiDriver.hpp:82
void onWiFiDisconnect(const WiFiEvent_t event, const WiFiEventInfo_t info)
WiFi Disconnect Handler.
Definition WiFiDriver.cpp:418
String passphrase
Definition WiFiDriver.hpp:105
bool Get_RebootOnWiFiFailureToConnect()
Definition WiFiDriver.hpp:80
void GetStatus(JsonObject &json)
Definition WiFiDriver.cpp:363
bool UseDhcp
Definition WiFiDriver.hpp:113
void SetIsWiFiConnected(bool value)
Definition WiFiDriver.hpp:74
uint32_t ap_timeout
How long to wait in AP mode with no connection before rebooting.
Definition WiFiDriver.hpp:116
String GetConfig_passphrase()
Definition WiFiDriver.hpp:83
void SetFsmState(fsm_WiFi_state *NewState)
Definition WiFiDriver.cpp:548
bool ap_fallbackIsEnabled
Definition WiFiDriver.hpp:115
void SetHostname(String &name)
Definition WiFiDriver.cpp:560
FastTimer FsmTimer
Definition WiFiDriver.hpp:150
String ap_ssid
Definition WiFiDriver.hpp:106
void SetUpIp()
Definition WiFiDriver.cpp:571
void onWiFiStaDisc(const WiFiEvent_t event, const WiFiEventInfo_t info)
void setIpSubNetMask(IPAddress NewAddress)
Definition WiFiDriver.hpp:65
IPAddress CurrentSubnetMask
Definition WiFiDriver.hpp:99
IPAddress ip
Definition WiFiDriver.hpp:108
uint32_t sta_timeout
Timeout when connection as client (station)
Definition WiFiDriver.hpp:117
bool Get_ap_fallbackIsEnabled()
Definition WiFiDriver.hpp:78
IPAddress CurrentIpAddress
Definition WiFiDriver.hpp:98
void onWiFiStaConn(const WiFiEvent_t event, const WiFiEventInfo_t info)
IPAddress getIpAddress()
Definition WiFiDriver.hpp:62
Definition WiFiDriver.hpp:163
virtual void OnDisconnect(void)
Definition WiFiDriver.hpp:172
virtual void OnConnect(void)
Definition WiFiDriver.hpp:171
virtual void Poll(void)
Definition WiFiDriver.cpp:667
virtual ~fsm_WiFi_state_Boot()
Definition WiFiDriver.hpp:166
fsm_WiFi_state_Boot()
Definition WiFiDriver.hpp:165
virtual void Init(void)
Definition WiFiDriver.cpp:681
virtual void GetStateName(String &sName)
Definition WiFiDriver.hpp:170
Definition WiFiDriver.hpp:208
virtual void OnConnect(void)
Definition WiFiDriver.hpp:216
virtual void Poll(void)
Definition WiFiDriver.cpp:896
virtual void OnDisconnect(void)
Definition WiFiDriver.cpp:935
virtual void Init(void)
Definition WiFiDriver.cpp:912
virtual void GetStateName(String &sName)
Definition WiFiDriver.hpp:215
virtual ~fsm_WiFi_state_ConnectedToAP()
Definition WiFiDriver.hpp:211
fsm_WiFi_state_ConnectedToAP()
Definition WiFiDriver.hpp:210
Definition WiFiDriver.hpp:238
virtual void Poll(void)
Definition WiFiDriver.cpp:949
virtual void Init(void)
Definition WiFiDriver.cpp:972
virtual ~fsm_WiFi_state_ConnectedToSta()
Definition WiFiDriver.hpp:241
virtual void OnDisconnect(void)
Definition WiFiDriver.cpp:994
virtual void OnConnect(void)
Definition WiFiDriver.hpp:246
fsm_WiFi_state_ConnectedToSta()
Definition WiFiDriver.hpp:240
virtual void GetStateName(String &sName)
Definition WiFiDriver.hpp:245
Definition WiFiDriver.hpp:223
virtual void Init(void)
Definition WiFiDriver.cpp:844
fsm_WiFi_state_ConnectingAsAP()
Definition WiFiDriver.hpp:225
virtual void OnDisconnect(void)
Definition WiFiDriver.hpp:232
virtual void GetStateName(String &sName)
Definition WiFiDriver.hpp:230
virtual void OnConnect(void)
Definition WiFiDriver.cpp:883
virtual void Poll(void)
Definition WiFiDriver.cpp:819
virtual ~fsm_WiFi_state_ConnectingAsAP()
Definition WiFiDriver.hpp:226
Definition WiFiDriver.hpp:178
virtual void Poll(void)
Definition WiFiDriver.cpp:698
fsm_WiFi_state_ConnectingUsingConfig()
Definition WiFiDriver.hpp:180
virtual void OnDisconnect(void)
Definition WiFiDriver.hpp:187
virtual void Init(void)
Definition WiFiDriver.cpp:719
virtual void OnConnect(void)
Definition WiFiDriver.cpp:747
virtual void GetStateName(String &sName)
Definition WiFiDriver.hpp:185
virtual ~fsm_WiFi_state_ConnectingUsingConfig()
Definition WiFiDriver.hpp:181
Definition WiFiDriver.hpp:193
virtual void OnConnect(void)
Definition WiFiDriver.cpp:805
virtual void Poll(void)
Definition WiFiDriver.cpp:760
virtual void Init(void)
Definition WiFiDriver.cpp:780
virtual ~fsm_WiFi_state_ConnectingUsingDefaults()
Definition WiFiDriver.hpp:196
fsm_WiFi_state_ConnectingUsingDefaults()
Definition WiFiDriver.hpp:195
virtual void GetStateName(String &sName)
Definition WiFiDriver.hpp:200
virtual void OnDisconnect(void)
Definition WiFiDriver.hpp:202
Definition WiFiDriver.hpp:253
virtual void OnConnect(void)
Definition WiFiDriver.hpp:261
virtual void Init(void)
Definition WiFiDriver.cpp:1015
virtual void OnDisconnect(void)
Definition WiFiDriver.hpp:262
virtual ~fsm_WiFi_state_ConnectionFailed()
Definition WiFiDriver.hpp:256
virtual void GetStateName(String &sName)
Definition WiFiDriver.hpp:260
fsm_WiFi_state_ConnectionFailed()
Definition WiFiDriver.hpp:255
virtual void Poll(void)
Definition WiFiDriver.hpp:258
Definition WiFiDriver.hpp:268
virtual void Poll(void)
Definition WiFiDriver.hpp:273
virtual void OnConnect(void)
Definition WiFiDriver.hpp:276
virtual void OnDisconnect(void)
Definition WiFiDriver.hpp:277
virtual void GetStateName(String &sName)
Definition WiFiDriver.hpp:275
virtual ~fsm_WiFi_state_Disabled()
Definition WiFiDriver.hpp:271
fsm_WiFi_state_Disabled()
Definition WiFiDriver.hpp:270
virtual void Init(void)
Definition WiFiDriver.cpp:1048
Definition WiFiDriver.hpp:35
void SetParent(c_WiFiDriver *parent)
Definition WiFiDriver.hpp:48
virtual void GetStateName(String &sName)=0
fsm_WiFi_state()
Definition WiFiDriver.hpp:39
virtual void OnConnect(void)=0
virtual void OnDisconnect(void)=0
virtual void Poll(void)=0
void GetDriverName(String &Name)
Definition WiFiDriver.hpp:47
c_WiFiDriver * pWiFiDriver
Definition WiFiDriver.hpp:37
virtual void Init(void)=0
virtual ~fsm_WiFi_state()
Definition WiFiDriver.hpp:40