HF Interface Wrapper 0.1.0-dev
Embedded C++ hardware abstraction layer
Loading...
Searching...
No Matches
BaseWifi Class Referenceabstract

Abstract base class for WiFi functionality. More...

#include <BaseWifi.h>

Inheritance diagram for BaseWifi:
[legend]

Public Member Functions

virtual ~BaseWifi () noexcept=default
 Virtual destructor for proper cleanup of derived classes.
 
virtual hf_wifi_err_t Initialize (hf_wifi_mode_t mode) noexcept=0
 Initialize the WiFi subsystem.
 
virtual hf_wifi_err_t Deinitialize () noexcept=0
 Deinitialize the WiFi subsystem.
 
virtual bool IsInitialized () const noexcept=0
 Check if WiFi is initialized.
 
virtual hf_wifi_err_t SetMode (hf_wifi_mode_t mode) noexcept=0
 Set WiFi operating mode.
 
virtual hf_wifi_mode_t GetMode () const noexcept=0
 Get current WiFi operating mode.
 
virtual hf_wifi_err_t ConfigureStation (const hf_wifi_station_config_t &config) noexcept=0
 Configure station parameters.
 
virtual hf_wifi_err_t Connect (uint32_t timeout_ms=0) noexcept=0
 Connect to a WiFi network (station mode)
 
virtual hf_wifi_err_t Disconnect () noexcept=0
 Disconnect from WiFi network.
 
virtual bool IsConnected () const noexcept=0
 Check if connected to a network.
 
virtual int8_t GetRssi () const noexcept=0
 Get signal strength (RSSI)
 
virtual hf_wifi_err_t GetIpInfo (hf_wifi_ip_info_t &ip_info) const noexcept=0
 Get current IP information.
 
virtual hf_wifi_err_t ConfigureAccessPoint (const hf_wifi_ap_config_t &config) noexcept=0
 Configure Access Point parameters.
 
virtual hf_wifi_err_t StartAccessPoint () noexcept=0
 Start Access Point.
 
virtual hf_wifi_err_t StopAccessPoint () noexcept=0
 Stop Access Point.
 
virtual bool IsAccessPointActive () const noexcept=0
 Check if Access Point is running.
 
virtual int GetConnectedStationCount () const noexcept=0
 Get number of connected stations.
 
virtual hf_wifi_err_t StartScan (bool show_hidden=false, bool passive=false, uint32_t max_scan_time_ms=0) noexcept=0
 Start network scan.
 
virtual hf_wifi_err_t GetScanResults (std::vector< hf_wifi_network_info_t > &networks, uint16_t max_networks=0) noexcept=0
 Get scan results.
 
virtual bool IsScanning () const noexcept=0
 Check if scan is in progress.
 
virtual hf_wifi_state_t GetState () const noexcept=0
 Get current WiFi state.
 
virtual std::string GetConnectedSsid () const noexcept=0
 Get connected network SSID.
 
virtual hf_wifi_err_t GetConnectedBssid (uint8_t bssid[6]) const noexcept=0
 Get connected network BSSID.
 
virtual hf_wifi_err_t SetPowerSave (hf_wifi_power_save_t mode) noexcept=0
 Set power save mode.
 
virtual hf_wifi_power_save_t GetPowerSave () const noexcept=0
 Get current power save mode.
 
virtual hf_wifi_err_t RegisterEventCallback (hf_wifi_event_callback_t callback) noexcept=0
 Register event callback.
 
virtual hf_wifi_err_t UnregisterEventCallback () noexcept=0
 Unregister event callback.
 
virtual hf_wifi_err_t GetMacAddress (uint8_t mac[6], uint8_t interface=0) const noexcept=0
 Get MAC address.
 
virtual hf_wifi_err_t SetMacAddress (const uint8_t mac[6], uint8_t interface=0) noexcept=0
 Set MAC address.
 
virtual uint8_t GetChannel () const noexcept=0
 Get WiFi channel.
 
virtual hf_wifi_err_t SetChannel (uint8_t channel) noexcept=0
 Set WiFi channel.
 

Static Public Member Functions

static std::string_view GetErrorString (hf_wifi_err_t error)
 Get error description string.
 

Protected Member Functions

 BaseWifi ()=default
 Protected constructor - only derived classes can instantiate.
 
 BaseWifi (const BaseWifi &)=delete
 Copy constructor - deleted to prevent copying.
 
BaseWifioperator= (const BaseWifi &)=delete
 Assignment operator - deleted to prevent copying.
 

Detailed Description

Abstract base class for WiFi functionality.

This class provides the interface for WiFi operations including:

  • Station mode operations (connecting to networks)
  • Access Point mode operations (creating hotspots)
  • Network scanning and discovery
  • Security configuration
  • Event handling and callbacks
  • Power management

Constructor & Destructor Documentation

◆ ~BaseWifi()

virtual BaseWifi::~BaseWifi ( )
virtualdefaultnoexcept

Virtual destructor for proper cleanup of derived classes.

◆ BaseWifi() [1/2]

BaseWifi::BaseWifi ( )
protecteddefault

Protected constructor - only derived classes can instantiate.

◆ BaseWifi() [2/2]

BaseWifi::BaseWifi ( const BaseWifi & )
protecteddelete

Copy constructor - deleted to prevent copying.

Member Function Documentation

◆ ConfigureAccessPoint()

virtual hf_wifi_err_t BaseWifi::ConfigureAccessPoint ( const hf_wifi_ap_config_t & config)
pure virtualnoexcept

Configure Access Point parameters.

Parameters
configAP configuration
Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ ConfigureStation()

virtual hf_wifi_err_t BaseWifi::ConfigureStation ( const hf_wifi_station_config_t & config)
pure virtualnoexcept

Configure station parameters.

Parameters
configStation configuration
Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ Connect()

virtual hf_wifi_err_t BaseWifi::Connect ( uint32_t timeout_ms = 0)
pure virtualnoexcept

Connect to a WiFi network (station mode)

Parameters
timeout_msConnection timeout in milliseconds (0 for default)
Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ Deinitialize()

virtual hf_wifi_err_t BaseWifi::Deinitialize ( )
pure virtualnoexcept

Deinitialize the WiFi subsystem.

Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ Disconnect()

virtual hf_wifi_err_t BaseWifi::Disconnect ( )
pure virtualnoexcept

Disconnect from WiFi network.

Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ GetChannel()

virtual uint8_t BaseWifi::GetChannel ( ) const
pure virtualnoexcept

Get WiFi channel.

Returns
Current channel, or 0 on error

Implemented in EspWifi.

◆ GetConnectedBssid()

virtual hf_wifi_err_t BaseWifi::GetConnectedBssid ( uint8_t bssid[6]) const
pure virtualnoexcept

Get connected network BSSID.

Parameters
bssidBuffer to store BSSID (6 bytes)
Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ GetConnectedSsid()

virtual std::string BaseWifi::GetConnectedSsid ( ) const
pure virtualnoexcept

Get connected network SSID.

Returns
SSID string, empty if not connected

Implemented in EspWifi.

◆ GetConnectedStationCount()

virtual int BaseWifi::GetConnectedStationCount ( ) const
pure virtualnoexcept

Get number of connected stations.

Returns
Number of connected stations, or -1 on error

Implemented in EspWifi.

◆ GetIpInfo()

virtual hf_wifi_err_t BaseWifi::GetIpInfo ( hf_wifi_ip_info_t & ip_info) const
pure virtualnoexcept

Get current IP information.

Parameters
ip_infoReference to store IP information
Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ GetMacAddress()

virtual hf_wifi_err_t BaseWifi::GetMacAddress ( uint8_t mac[6],
uint8_t interface = 0 ) const
pure virtualnoexcept

Get MAC address.

Parameters
macBuffer to store MAC address (6 bytes)
interfaceWiFi interface (0 for station, 1 for AP)
Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ GetMode()

virtual hf_wifi_mode_t BaseWifi::GetMode ( ) const
pure virtualnoexcept

Get current WiFi operating mode.

Returns
Current WiFi mode

Implemented in EspWifi.

◆ GetPowerSave()

virtual hf_wifi_power_save_t BaseWifi::GetPowerSave ( ) const
pure virtualnoexcept

Get current power save mode.

Returns
Current power save mode

Implemented in EspWifi.

◆ GetRssi()

virtual int8_t BaseWifi::GetRssi ( ) const
pure virtualnoexcept

Get signal strength (RSSI)

Returns
Signal strength in dBm, or INT8_MIN on error

Implemented in EspWifi.

◆ GetScanResults()

virtual hf_wifi_err_t BaseWifi::GetScanResults ( std::vector< hf_wifi_network_info_t > & networks,
uint16_t max_networks = 0 )
pure virtualnoexcept

Get scan results.

Parameters
networksVector to store found networks
max_networksMaximum number of networks to return (0 for all)
Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ GetState()

virtual hf_wifi_state_t BaseWifi::GetState ( ) const
pure virtualnoexcept

Get current WiFi state.

Returns
Current WiFi state

Implemented in EspWifi.

◆ Initialize()

virtual hf_wifi_err_t BaseWifi::Initialize ( hf_wifi_mode_t mode)
pure virtualnoexcept

Initialize the WiFi subsystem.

Parameters
modeWiFi operating mode
Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ IsAccessPointActive()

virtual bool BaseWifi::IsAccessPointActive ( ) const
pure virtualnoexcept

Check if Access Point is running.

Returns
true if AP is active, false otherwise

Implemented in EspWifi.

◆ IsConnected()

virtual bool BaseWifi::IsConnected ( ) const
pure virtualnoexcept

Check if connected to a network.

Returns
true if connected, false otherwise

Implemented in EspWifi.

◆ IsInitialized()

virtual bool BaseWifi::IsInitialized ( ) const
pure virtualnoexcept

Check if WiFi is initialized.

Returns
true if initialized, false otherwise

Implemented in EspWifi.

◆ IsScanning()

virtual bool BaseWifi::IsScanning ( ) const
pure virtualnoexcept

Check if scan is in progress.

Returns
true if scanning, false otherwise

Implemented in EspWifi.

◆ operator=()

BaseWifi & BaseWifi::operator= ( const BaseWifi & )
protecteddelete

Assignment operator - deleted to prevent copying.

◆ RegisterEventCallback()

virtual hf_wifi_err_t BaseWifi::RegisterEventCallback ( hf_wifi_event_callback_t callback)
pure virtualnoexcept

Register event callback.

Parameters
callbackEvent callback function
Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ SetChannel()

virtual hf_wifi_err_t BaseWifi::SetChannel ( uint8_t channel)
pure virtualnoexcept

Set WiFi channel.

Parameters
channelChannel number (1-14)
Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ SetMacAddress()

virtual hf_wifi_err_t BaseWifi::SetMacAddress ( const uint8_t mac[6],
uint8_t interface = 0 )
pure virtualnoexcept

Set MAC address.

Parameters
macMAC address to set (6 bytes)
interfaceWiFi interface (0 for station, 1 for AP)
Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ SetMode()

virtual hf_wifi_err_t BaseWifi::SetMode ( hf_wifi_mode_t mode)
pure virtualnoexcept

Set WiFi operating mode.

Parameters
modeWiFi operating mode
Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ SetPowerSave()

virtual hf_wifi_err_t BaseWifi::SetPowerSave ( hf_wifi_power_save_t mode)
pure virtualnoexcept

Set power save mode.

Parameters
modePower save mode
Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ StartAccessPoint()

virtual hf_wifi_err_t BaseWifi::StartAccessPoint ( )
pure virtualnoexcept

Start Access Point.

Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ StartScan()

virtual hf_wifi_err_t BaseWifi::StartScan ( bool show_hidden = false,
bool passive = false,
uint32_t max_scan_time_ms = 0 )
pure virtualnoexcept

Start network scan.

Parameters
show_hiddenInclude hidden networks in scan
passiveUse passive scanning
max_scan_time_msMaximum scan time per channel
Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ StopAccessPoint()

virtual hf_wifi_err_t BaseWifi::StopAccessPoint ( )
pure virtualnoexcept

Stop Access Point.

Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.

◆ UnregisterEventCallback()

virtual hf_wifi_err_t BaseWifi::UnregisterEventCallback ( )
pure virtualnoexcept

Unregister event callback.

Returns
hf_wifi_err_t::WIFI_SUCCESS on success, error code otherwise

Implemented in EspWifi.


The documentation for this class was generated from the following file: