HF Interface Wrapper 0.1.0-dev
Embedded C++ hardware abstraction layer
Loading...
Searching...
No Matches
WiFi Module

All WiFi-related types, enums, and functions for wireless networking operations. More...

Files

file  BaseWifi.h
 Unified WiFi base class for all WiFi implementations.
 
file  EspWifi.h
 Advanced ESP32 implementation of the unified BaseWifi class with ESP-IDF v5.5+ features.
 

Classes

struct  hf_wifi_network_info_t
 WiFi network information structure. More...
 
struct  hf_wifi_station_config_t
 WiFi station configuration structure. More...
 
struct  hf_wifi_ap_config_t
 WiFi Access Point configuration structure. More...
 
struct  hf_wifi_ip_info_t
 WiFi IP configuration structure. More...
 
class  BaseWifi
 Abstract base class for WiFi functionality. More...
 

Macros

#define HF_WIFI_ERR_LIST(X)
 HardFOC WiFi error codes macro list.
 
#define X(name, value, desc)   name = value,
 Generate WiFi error enumeration using X-macro pattern.
 
#define X(NAME, VALUE, DESC)
 Generate WiFi error enumeration using X-macro pattern.
 
#define X(name, value, desc)
 Generate WiFi error enumeration using X-macro pattern.
 

Typedefs

using hf_wifi_event_callback_t = std::function<void(hf_wifi_event_t event, void* event_data)>
 WiFi event callback function type.
 
using hf_wifi_scan_callback_t
 WiFi scan callback function type.
 

Enumerations

enum class  hf_wifi_mode_t : hf_u8_t { hf_wifi_mode_t::HF_WIFI_MODE_STATION = 0 , hf_wifi_mode_t::HF_WIFI_MODE_ACCESS_POINT = 1 , hf_wifi_mode_t::HF_WIFI_MODE_STATION_AP = 2 , hf_wifi_mode_t::HF_WIFI_MODE_DISABLED = 3 }
 WiFi operating modes. More...
 
enum class  hf_wifi_security_t : hf_u8_t {
  hf_wifi_security_t::HF_WIFI_SECURITY_OPEN = 0 , hf_wifi_security_t::HF_WIFI_SECURITY_WEP = 1 , hf_wifi_security_t::HF_WIFI_SECURITY_WPA_PSK = 2 , hf_wifi_security_t::HF_WIFI_SECURITY_WPA2_PSK = 3 ,
  hf_wifi_security_t::HF_WIFI_SECURITY_WPA_WPA2_PSK = 4 , hf_wifi_security_t::HF_WIFI_SECURITY_WPA2_ENTERPRISE = 5 , hf_wifi_security_t::HF_WIFI_SECURITY_WPA3_PSK = 6 , hf_wifi_security_t::HF_WIFI_SECURITY_WPA2_WPA3_PSK = 7 ,
  hf_wifi_security_t::HF_WIFI_SECURITY_WPA3_ENTERPRISE = 8 , hf_wifi_security_t::HF_WIFI_SECURITY_WAPI_PSK = 9
}
 WiFi security types. More...
 
enum class  hf_wifi_state_t : hf_u8_t {
  hf_wifi_state_t::HF_WIFI_STATE_DISCONNECTED = 0 , hf_wifi_state_t::HF_WIFI_STATE_CONNECTING = 1 , hf_wifi_state_t::HF_WIFI_STATE_CONNECTED = 2 , hf_wifi_state_t::HF_WIFI_STATE_DISCONNECTING = 3 ,
  hf_wifi_state_t::HF_WIFI_STATE_RECONNECTING = 4 , hf_wifi_state_t::HF_WIFI_STATE_AP_STARTED = 5 , hf_wifi_state_t::HF_WIFI_STATE_AP_STOPPED = 6 , hf_wifi_state_t::HF_WIFI_STATE_SCANNING = 7
}
 WiFi connection states. More...
 
enum class  hf_wifi_power_save_t : hf_u8_t { hf_wifi_power_save_t::HF_WIFI_POWER_SAVE_NONE = 0 , hf_wifi_power_save_t::HF_WIFI_POWER_SAVE_MIN_MODEM = 1 , hf_wifi_power_save_t::HF_WIFI_POWER_SAVE_MAX_MODEM = 2 }
 WiFi power save modes. More...
 
enum class  hf_wifi_event_t : hf_u8_t {
  hf_wifi_event_t::HF_WIFI_EVENT_STA_START = 0 , hf_wifi_event_t::HF_WIFI_EVENT_STA_STOP = 1 , hf_wifi_event_t::HF_WIFI_EVENT_STA_CONNECTED = 2 , hf_wifi_event_t::HF_WIFI_EVENT_STA_DISCONNECTED = 3 ,
  hf_wifi_event_t::HF_WIFI_EVENT_STA_AUTHMODE_CHANGE = 4 , hf_wifi_event_t::HF_WIFI_EVENT_STA_GOT_IP = 5 , hf_wifi_event_t::HF_WIFI_EVENT_STA_LOST_IP = 6 , hf_wifi_event_t::HF_WIFI_EVENT_AP_START = 7 ,
  hf_wifi_event_t::HF_WIFI_EVENT_AP_STOP = 8 , hf_wifi_event_t::HF_WIFI_EVENT_AP_STACONNECTED = 9 , hf_wifi_event_t::HF_WIFI_EVENT_AP_STADISCONNECTED = 10 , hf_wifi_event_t::HF_WIFI_EVENT_SCAN_DONE = 11
}
 WiFi event types for callback functions. More...
 

Functions

constexpr std::string_view HfWifiErrToString (hf_wifi_err_t err) noexcept
 Convert hf_wifi_err_t to human-readable string.
 
static std::string_view BaseWifi::GetErrorString (hf_wifi_err_t error)
 Get error description string.
 

Detailed Description

All WiFi-related types, enums, and functions for wireless networking operations.

This module provides comprehensive WiFi functionality including:

Macro Definition Documentation

◆ HF_WIFI_ERR_LIST

#define HF_WIFI_ERR_LIST ( X)
Value:
/* Success codes */ \
X(WIFI_SUCCESS, 0, "Success") \
\
/* General errors */ \
X(WIFI_ERR_FAILURE, 1, "General failure") \
X(WIFI_ERR_INVALID_PARAM, 2, "Invalid parameter") \
X(WIFI_ERR_NOT_INITIALIZED, 3, "WiFi not initialized") \
X(WIFI_ERR_ALREADY_INITIALIZED, 4, "WiFi already initialized") \
X(WIFI_ERR_NOT_CONNECTED, 5, "WiFi not connected") \
X(WIFI_ERR_ALREADY_CONNECTED, 6, "WiFi already connected") \
X(WIFI_ERR_CONNECTION_FAILED, 7, "Connection failed") \
X(WIFI_ERR_DISCONNECTION_FAILED, 8, "Disconnection failed") \
X(WIFI_ERR_SCAN_FAILED, 9, "Network scan failed") \
X(WIFI_ERR_AP_START_FAILED, 10, "Access Point start failed") \
X(WIFI_ERR_AP_STOP_FAILED, 11, "Access Point stop failed") \
X(WIFI_ERR_TIMEOUT, 12, "Operation timeout") \
X(WIFI_ERR_NO_MEMORY, 13, "Insufficient memory") \
X(WIFI_ERR_INVALID_SSID, 14, "Invalid SSID") \
X(WIFI_ERR_INVALID_PASSWORD, 15, "Invalid password") \
X(WIFI_ERR_WEAK_SIGNAL, 16, "Weak signal strength") \
X(WIFI_ERR_AUTHENTICATION_FAILED, 17, "Authentication failed") \
X(WIFI_ERR_ASSOCIATION_FAILED, 18, "Association failed") \
X(WIFI_ERR_HANDSHAKE_FAILED, 19, "4-way handshake failed") \
X(WIFI_ERR_INIT_FAILED, 20, "WiFi initialization failed") \
X(WIFI_ERR_CONFIG_INVALID, 21, "Invalid configuration") \
X(WIFI_ERR_ENTERPRISE_FAILED, 22, "Enterprise authentication failed") \
X(WIFI_ERR_WPA3_NOT_SUPPORTED, 23, "WPA3 not supported") \
X(WIFI_ERR_MESH_FAILED, 24, "Mesh operation failed") \
X(WIFI_ERR_UNKNOWN, 25, "Unknown error")
@ WIFI_ERR_INVALID_PASSWORD
@ WIFI_ERR_AP_START_FAILED
@ WIFI_ERR_HANDSHAKE_FAILED
@ WIFI_ERR_ASSOCIATION_FAILED
@ WIFI_ERR_DISCONNECTION_FAILED
@ WIFI_ERR_ALREADY_CONNECTED
@ WIFI_ERR_WPA3_NOT_SUPPORTED
@ WIFI_ERR_CONNECTION_FAILED
@ WIFI_ERR_NOT_INITIALIZED
@ WIFI_ERR_ENTERPRISE_FAILED
@ WIFI_ERR_ALREADY_INITIALIZED
@ WIFI_ERR_AUTHENTICATION_FAILED

HardFOC WiFi error codes macro list.

X-macro pattern for comprehensive error enumeration. Each entry contains: X(NAME, VALUE, DESCRIPTION)

◆ X [1/3]

#define X ( name,
value,
desc )   name = value,

Generate WiFi error enumeration using X-macro pattern.

◆ X [2/3]

#define X ( NAME,
VALUE,
DESC )
Value:
case hf_wifi_err_t::NAME: \
return DESC;

Generate WiFi error enumeration using X-macro pattern.

◆ X [3/3]

#define X ( name,
value,
desc )
Value:
case hf_wifi_err_t::name: \
return desc;

Generate WiFi error enumeration using X-macro pattern.

Typedef Documentation

◆ hf_wifi_event_callback_t

using hf_wifi_event_callback_t = std::function<void(hf_wifi_event_t event, void* event_data)>

WiFi event callback function type.

◆ hf_wifi_scan_callback_t

Initial value:
std::function<void(const std::vector<hf_wifi_network_info_t>& networks)>

WiFi scan callback function type.

Enumeration Type Documentation

◆ hf_wifi_event_t

enum class hf_wifi_event_t : hf_u8_t
strong

WiFi event types for callback functions.

Enumerator
HF_WIFI_EVENT_STA_START 

Station start

HF_WIFI_EVENT_STA_STOP 

Station stop

HF_WIFI_EVENT_STA_CONNECTED 

Station connected to AP

HF_WIFI_EVENT_STA_DISCONNECTED 

Station disconnected from AP

HF_WIFI_EVENT_STA_AUTHMODE_CHANGE 

Station auth mode changed

HF_WIFI_EVENT_STA_GOT_IP 

Station got IP from DHCP

HF_WIFI_EVENT_STA_LOST_IP 

Station lost IP

HF_WIFI_EVENT_AP_START 

Access Point started

HF_WIFI_EVENT_AP_STOP 

Access Point stopped

HF_WIFI_EVENT_AP_STACONNECTED 

Station connected to our AP

HF_WIFI_EVENT_AP_STADISCONNECTED 

Station disconnected from our AP

HF_WIFI_EVENT_SCAN_DONE 

Network scan completed

◆ hf_wifi_mode_t

enum class hf_wifi_mode_t : hf_u8_t
strong

WiFi operating modes.

Enumerator
HF_WIFI_MODE_STATION 

Station mode (client)

HF_WIFI_MODE_ACCESS_POINT 

Access Point mode

HF_WIFI_MODE_STATION_AP 

Station + Access Point mode

HF_WIFI_MODE_DISABLED 

WiFi disabled

◆ hf_wifi_power_save_t

enum class hf_wifi_power_save_t : hf_u8_t
strong

WiFi power save modes.

Enumerator
HF_WIFI_POWER_SAVE_NONE 

No power save

HF_WIFI_POWER_SAVE_MIN_MODEM 

Minimum modem power save

HF_WIFI_POWER_SAVE_MAX_MODEM 

Maximum modem power save

◆ hf_wifi_security_t

enum class hf_wifi_security_t : hf_u8_t
strong

WiFi security types.

Enumerator
HF_WIFI_SECURITY_OPEN 

Open network (no security)

HF_WIFI_SECURITY_WEP 

WEP security (deprecated)

HF_WIFI_SECURITY_WPA_PSK 

WPA Personal

HF_WIFI_SECURITY_WPA2_PSK 

WPA2 Personal

HF_WIFI_SECURITY_WPA_WPA2_PSK 

WPA/WPA2 Mixed Personal

HF_WIFI_SECURITY_WPA2_ENTERPRISE 

WPA2 Enterprise

HF_WIFI_SECURITY_WPA3_PSK 

WPA3 Personal

HF_WIFI_SECURITY_WPA2_WPA3_PSK 

WPA2/WPA3 Mixed Personal

HF_WIFI_SECURITY_WPA3_ENTERPRISE 

WPA3 Enterprise

HF_WIFI_SECURITY_WAPI_PSK 

WAPI Personal

◆ hf_wifi_state_t

enum class hf_wifi_state_t : hf_u8_t
strong

WiFi connection states.

Enumerator
HF_WIFI_STATE_DISCONNECTED 

Disconnected from network

HF_WIFI_STATE_CONNECTING 

Attempting to connect

HF_WIFI_STATE_CONNECTED 

Connected to network

HF_WIFI_STATE_DISCONNECTING 

Disconnecting from network

HF_WIFI_STATE_RECONNECTING 

Attempting to reconnect

HF_WIFI_STATE_AP_STARTED 

Access Point started

HF_WIFI_STATE_AP_STOPPED 

Access Point stopped

HF_WIFI_STATE_SCANNING 

Scanning for networks

Function Documentation

◆ GetErrorString()

std::string_view BaseWifi::GetErrorString ( hf_wifi_err_t error)
inlinestatic

Get error description string.

Helper function to convert error enum to string.

Parameters
errorError code
Returns
Error description string

◆ HfWifiErrToString()

constexpr std::string_view HfWifiErrToString ( hf_wifi_err_t err)
constexprnoexcept

Convert hf_wifi_err_t to human-readable string.

Parameters
errThe error code to convert
Returns
Pointer to error description string