|
| | EspWifi (const EspWifiAdvancedConfig *advanced_config=nullptr) |
| | Constructor with optional advanced configuration.
|
| |
| virtual | ~EspWifi () |
| | Destructor - ensures proper cleanup.
|
| |
| hf_wifi_err_t | Initialize (hf_wifi_mode_t mode) noexcept override |
| | Initialize the WiFi subsystem.
|
| |
| hf_wifi_err_t | Deinitialize () noexcept override |
| | Deinitialize the WiFi subsystem.
|
| |
| bool | IsInitialized () const noexcept override |
| | Check if WiFi is initialized.
|
| |
| hf_wifi_err_t | SetMode (hf_wifi_mode_t mode) noexcept override |
| | Set WiFi operating mode.
|
| |
| hf_wifi_mode_t | GetMode () const noexcept override |
| | Get current WiFi operating mode.
|
| |
| hf_wifi_err_t | ConfigureStation (const hf_wifi_station_config_t &config) noexcept override |
| | Configure station parameters.
|
| |
| hf_wifi_err_t | Connect (uint32_t timeout_ms=0) noexcept override |
| | Connect to a WiFi network (station mode)
|
| |
| hf_wifi_err_t | Disconnect () noexcept override |
| | Disconnect from WiFi network.
|
| |
| bool | IsConnected () const noexcept override |
| | Check if connected to a network.
|
| |
| int8_t | GetRssi () const noexcept override |
| | Get signal strength (RSSI)
|
| |
| hf_wifi_err_t | GetIpInfo (hf_wifi_ip_info_t &ip_info) const noexcept override |
| | Get current IP information.
|
| |
| hf_wifi_err_t | ConfigureAccessPoint (const hf_wifi_ap_config_t &config) noexcept override |
| | Configure Access Point parameters.
|
| |
| hf_wifi_err_t | StartAccessPoint () noexcept override |
| | Start Access Point.
|
| |
| hf_wifi_err_t | StopAccessPoint () noexcept override |
| | Stop Access Point.
|
| |
| bool | IsAccessPointActive () const noexcept override |
| | Check if Access Point is running.
|
| |
| int | GetConnectedStationCount () const noexcept override |
| | Get number of connected stations.
|
| |
| hf_wifi_err_t | StartScan (bool show_hidden=false, bool passive=false, uint32_t max_scan_time_ms=0) noexcept override |
| | Start network scan.
|
| |
| hf_wifi_err_t | GetScanResults (std::vector< hf_wifi_network_info_t > &networks, uint16_t max_networks=0) noexcept override |
| | Get scan results.
|
| |
| bool | IsScanning () const noexcept override |
| | Check if scan is in progress.
|
| |
| hf_wifi_state_t | GetState () const noexcept override |
| | Get current WiFi state.
|
| |
| std::string | GetConnectedSsid () const noexcept override |
| | Get connected network SSID.
|
| |
| hf_wifi_err_t | GetConnectedBssid (uint8_t bssid[6]) const noexcept override |
| | Get connected network BSSID.
|
| |
| hf_wifi_err_t | SetPowerSave (hf_wifi_power_save_t mode) noexcept override |
| | Set power save mode.
|
| |
| hf_wifi_power_save_t | GetPowerSave () const noexcept override |
| | Get current power save mode.
|
| |
| hf_wifi_err_t | RegisterEventCallback (hf_wifi_event_callback_t callback) noexcept override |
| | Register event callback.
|
| |
| hf_wifi_err_t | UnregisterEventCallback () noexcept override |
| | Unregister event callback.
|
| |
| hf_wifi_err_t | GetMacAddress (uint8_t mac[6], uint8_t interface=0) const noexcept override |
| | Get MAC address.
|
| |
| hf_wifi_err_t | SetMacAddress (const uint8_t mac[6], uint8_t interface=0) noexcept override |
| | Set MAC address.
|
| |
| uint8_t | GetChannel () const noexcept override |
| | Get WiFi channel.
|
| |
| hf_wifi_err_t | SetChannel (uint8_t channel) noexcept override |
| | Set WiFi channel.
|
| |
| hf_wifi_err_t | SetAdvancedConfig (const EspWifiAdvancedConfig &config) |
| | Set advanced ESP32-specific configuration.
|
| |
| hf_wifi_err_t | GetAdvancedConfig (EspWifiAdvancedConfig &config) const |
| | Get current advanced configuration.
|
| |
| hf_wifi_err_t | EnableWpa3Transition (bool enable) |
| | Enable WPA3 transition mode (WPA2/WPA3 mixed)
|
| |
| hf_wifi_err_t | ConfigureRoaming (bool enable_11k, bool enable_11r, bool enable_11v) |
| | Configure 802.11k/r/v roaming features.
|
| |
| hf_wifi_err_t | ConfigureEnterprise (const std::string &username, const std::string &password, const std::string &ca_cert="", const std::string &client_cert="", const std::string &client_key="") |
| | Configure WPA2/WPA3 Enterprise authentication.
|
| |
| hf_wifi_err_t | StartSmartConfig (smartconfig_type_t type=SC_TYPE_ESPTOUCH, uint32_t timeout_ms=60000) |
| | Start SmartConfig provisioning.
|
| |
| hf_wifi_err_t | StopSmartConfig () |
| | Stop SmartConfig provisioning.
|
| |
| hf_wifi_err_t | InitMesh (const uint8_t mesh_id[6], uint8_t max_layer=6, uint16_t max_connection=10) |
| | Initialize ESP-MESH networking.
|
| |
| hf_wifi_err_t | StartMeshRoot () |
| | Start ESP-MESH as root node.
|
| |
| hf_wifi_err_t | StartMeshChild () |
| | Start ESP-MESH as child node.
|
| |
| hf_wifi_err_t | StopMesh () |
| | Stop ESP-MESH networking.
|
| |
| hf_wifi_err_t | GetStatistics (wifi_pkt_rx_ctrl_t &stats) const |
| | Get WiFi statistics.
|
| |
| hf_wifi_err_t | SetTxPower (uint8_t power) |
| | Set WiFi TX power.
|
| |
| int8_t | GetTxPower () const |
| | Get WiFi TX power.
|
| |
| hf_wifi_err_t | SetBandwidth (wifi_bandwidth_t bandwidth) |
| | Set WiFi channel bandwidth.
|
| |
| wifi_bandwidth_t | GetBandwidth () const |
| | Get WiFi channel bandwidth.
|
| |
| hf_wifi_err_t | PerformCalibration () |
| | Perform WiFi calibration.
|
| |
| hf_wifi_err_t | GetConnectionInfo (wifi_ap_record_t &info) const |
| | Get detailed connection information.
|
| |
| virtual | ~BaseWifi () noexcept=default |
| | Virtual destructor for proper cleanup of derived classes.
|
| |
Advanced ESP32 implementation of unified BaseWifi with ESP-IDF v5.5+ features.
This class provides a comprehensive implementation of BaseWifi for ESP32 microcontrollers with support for both basic and advanced features including:
Basic Features:
- Station and Access Point modes
- Network scanning and connection management
- WPA/WPA2/WPA3 security support
- Power management and optimization
- Thread-safe state management
Advanced Features (ESP-IDF v5.5+):
- WPA3 Personal and Enterprise security
- 802.11k/r/v roaming standards
- Protected Management Frames (PMF)
- A-MPDU aggregation for performance
- ESP-MESH networking
- SmartConfig and WPS provisioning
- Enterprise authentication (EAP-TLS, PEAP, etc.)
- Advanced power save modes
- Fast BSS transition and roaming
Performance Optimizations:
- Hardware-accelerated cryptography
- DMA-based data transfers
- Optimized buffer management
- Low-latency event handling
- Memory pool management
Thread Safety:
- All public methods are thread-safe
- Internal state protection with mutexes
- Atomic operations for status flags
- Event queue synchronization