Files
OTGateway/lib/Connection/Connection.h
Yurii ab1e9c761f * feat: new portal & network manager
* refactor: migrate from PubSubClient to ArduinoMqttClient
* refactor: migrate from EEManager to FileData
* chore: bump ESP Telnet to 2.2
* chore: bump TinyLogger to 1.1.0
2024-01-12 18:29:55 +03:00

43 lines
940 B
C++

#if defined(ARDUINO_ARCH_ESP8266)
#include <ESP8266WiFi.h>
#include "lwip/etharp.h"
#elif defined(ARDUINO_ARCH_ESP32)
#include <WiFi.h>
#endif
struct Connection {
enum class Status {
CONNECTED,
CONNECTING,
GOT_IP,
DISCONNECTED
};
enum class DisconnectReason {
BEACON_TIMEOUT,
NO_AP_FOUND,
AUTH_FAIL,
ASSOC_FAIL,
HANDSHAKE_TIMEOUT,
DHCP_TIMEOUT,
OTHER,
NONE
};
static Status status;
static DisconnectReason disconnectReason;
static void setup(bool useDhcp);
static void setUseDhcp(bool value);
static Status getStatus();
static DisconnectReason getDisconnectReason();
#if defined(ARDUINO_ARCH_ESP8266)
static void onEvent(System_Event_t *evt);
#elif defined(ARDUINO_ARCH_ESP32)
static void onEvent(WiFiEvent_t event, WiFiEventInfo_t info);
#endif
protected:
static DisconnectReason convertDisconnectReason(uint8_t reason);
static bool useDhcp;
};