CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
cdc::hal::IWifiController Class Referenceabstract

#include <IWifiController.h>

Inheritance diagram for cdc::hal::IWifiController:
cdc::core::IService cdc::hal::WifiController

Public Member Functions

virtual ~IWifiController ()=default
virtual bool enable (WifiMode mode=WifiMode::STA)=0
virtual void disable ()=0
virtual bool isEnabled () const =0
virtual WifiMode getMode () const =0
virtual WifiState getWifiState () const =0
virtual bool connect (const char *ssid, const char *password, uint32_t timeoutMs=10000)=0
virtual void disconnect ()=0
virtual bool isConnected () const =0
virtual const char * getCurrentSsid () const =0
virtual bool getIpAddress (char *ip, size_t len) const =0
virtual bool getMacAddress (uint8_t *mac) const =0
virtual int8_t getRssi () const =0
virtual bool startScan ()=0
virtual bool isScanComplete () const =0
virtual uint8_t getScanResults (WifiScanResult *results, uint8_t maxResults)=0
virtual bool startAp (const char *ssid, const char *password=nullptr, uint8_t channel=1)=0
virtual uint8_t getConnectedStations () const =0
Public Member Functions inherited from cdc::core::IService
virtual ~IService ()=default
virtual bool init ()=0
virtual bool start ()=0
virtual void stop ()=0
virtual ServiceState getState () const =0
virtual const char * getName () const =0

Static Public Attributes

static constexpr uint8_t MAX_SCAN_RESULTS = 32

Detailed Description

WiFi Controller Interface Handles WiFi stack initialization and connection management

Definition at line 57 of file IWifiController.h.

Constructor & Destructor Documentation

◆ ~IWifiController()

virtual cdc::hal::IWifiController::~IWifiController ( )
virtualdefault

Member Function Documentation

◆ connect()

virtual bool cdc::hal::IWifiController::connect ( const char * ssid,
const char * password,
uint32_t timeoutMs = 10000 )
pure virtual

Connect to an access point (station mode)

Parameters
ssidNetwork SSID
passwordNetwork password (nullptr for open networks)
timeoutMsConnection timeout in milliseconds
Returns
true if connection initiated

Implemented in cdc::hal::WifiController.

◆ disable()

virtual void cdc::hal::IWifiController::disable ( )
pure virtual

Disable WiFi (save power)

Implemented in cdc::hal::WifiController.

◆ disconnect()

virtual void cdc::hal::IWifiController::disconnect ( )
pure virtual

Disconnect from current network

Implemented in cdc::hal::WifiController.

◆ enable()

virtual bool cdc::hal::IWifiController::enable ( WifiMode mode = WifiMode::STA)
pure virtual

Enable WiFi with specified mode

Parameters
modeOperating mode
Returns
true if successfully enabled

Implemented in cdc::hal::WifiController.

References cdc::hal::STA.

◆ getConnectedStations()

virtual uint8_t cdc::hal::IWifiController::getConnectedStations ( ) const
pure virtual

Get number of connected stations (AP mode)

Implemented in cdc::hal::WifiController.

◆ getCurrentSsid()

virtual const char * cdc::hal::IWifiController::getCurrentSsid ( ) const
pure virtual

Get current SSID (when connected)

Implemented in cdc::hal::WifiController.

◆ getIpAddress()

virtual bool cdc::hal::IWifiController::getIpAddress ( char * ip,
size_t len ) const
pure virtual

Get current IP address (when connected)

Parameters
ipOutput buffer for IP string (min 16 bytes)
Returns
true if IP available

Implemented in cdc::hal::WifiController.

◆ getMacAddress()

virtual bool cdc::hal::IWifiController::getMacAddress ( uint8_t * mac) const
pure virtual

Get WiFi MAC address

Parameters
macOutput buffer (6 bytes)
Returns
true if address retrieved

Implemented in cdc::hal::WifiController.

◆ getMode()

virtual WifiMode cdc::hal::IWifiController::getMode ( ) const
pure virtual

Get current operating mode

Implemented in cdc::hal::WifiController.

◆ getRssi()

virtual int8_t cdc::hal::IWifiController::getRssi ( ) const
pure virtual

Get signal strength of current connection

Returns
RSSI in dBm, or 0 if not connected

Implemented in cdc::hal::WifiController.

◆ getScanResults()

virtual uint8_t cdc::hal::IWifiController::getScanResults ( WifiScanResult * results,
uint8_t maxResults )
pure virtual

Get scan results

Parameters
resultsOutput array
maxResultsMaximum entries to return
Returns
Number of results found

Implemented in cdc::hal::WifiController.

◆ getWifiState()

virtual WifiState cdc::hal::IWifiController::getWifiState ( ) const
pure virtual

Get current connection state

Implemented in cdc::hal::WifiController.

◆ isConnected()

virtual bool cdc::hal::IWifiController::isConnected ( ) const
pure virtual

Check if connected to a network

Implemented in cdc::hal::WifiController.

◆ isEnabled()

virtual bool cdc::hal::IWifiController::isEnabled ( ) const
pure virtual

Check if WiFi is currently enabled

Implemented in cdc::hal::WifiController.

◆ isScanComplete()

virtual bool cdc::hal::IWifiController::isScanComplete ( ) const
pure virtual

Check if scan is complete

Implemented in cdc::hal::WifiController.

◆ startAp()

virtual bool cdc::hal::IWifiController::startAp ( const char * ssid,
const char * password = nullptr,
uint8_t channel = 1 )
pure virtual

Start an access point

Parameters
ssidAP name
passwordAP password (nullptr for open)
channelWiFi channel (1-13)
Returns
true if AP started

Implemented in cdc::hal::WifiController.

◆ startScan()

virtual bool cdc::hal::IWifiController::startScan ( )
pure virtual

Start a WiFi scan

Returns
true if scan started

Implemented in cdc::hal::WifiController.

Member Data Documentation

◆ MAX_SCAN_RESULTS

uint8_t cdc::hal::IWifiController::MAX_SCAN_RESULTS = 32
staticconstexpr

Maximum number of scan results retained/returned. Single source of truth for both the controller's result buffer and any caller-side buffers.

Definition at line 137 of file IWifiController.h.

Referenced by host_wifi_scan_results().


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