RA Flexible Software Package Documentation  Release v5.2.0

 
WiFi Interface

Functions

WIFIReturnCode_t WIFI_On (void)
 Turns on Wi-Fi. More...
 
WIFIReturnCode_t WIFI_Off (void)
 Turns off Wi-Fi. More...
 
WIFIReturnCode_t WIFI_ConnectAP (const WIFINetworkParams_t *const pxNetworkParams)
 Connects to the Wi-Fi Access Point (AP) specified in the input. More...
 
WIFIReturnCode_t WIFI_Disconnect (void)
 Disconnects from the currently connected Access Point. More...
 
WIFIReturnCode_t WIFI_Reset (void)
 Resets the Wi-Fi Module. More...
 
WIFIReturnCode_t WIFI_SetMode (WIFIDeviceMode_t xDeviceMode)
 Sets the Wi-Fi mode. More...
 
WIFIReturnCode_t WIFI_GetMode (WIFIDeviceMode_t *pxDeviceMode)
 Gets the Wi-Fi mode. More...
 
WIFIReturnCode_t WIFI_NetworkAdd (const WIFINetworkProfile_t *const pxNetworkProfile, uint16_t *pusIndex)
 Add a Wi-Fi Network profile. More...
 
WIFIReturnCode_t WIFI_NetworkGet (WIFINetworkProfile_t *pxNetworkProfile, uint16_t usIndex)
 Get a Wi-Fi network profile. More...
 
WIFIReturnCode_t WIFI_NetworkDelete (uint16_t usIndex)
 Delete a Wi-Fi Network profile. More...
 
WIFIReturnCode_t WIFI_Ping (uint8_t *pucIPAddr, uint16_t usCount, uint32_t ulIntervalMS)
 Ping an IP address in the network. More...
 
WIFIReturnCode_t WIFI_GetIPInfo (WIFIIPConfiguration_t *pxIPInfo)
 Get IP configuration (IP address, NetworkMask, Gateway and DNS server addresses). More...
 
WIFIReturnCode_t WIFI_GetMAC (uint8_t *pucMac)
 Retrieves the Wi-Fi interface's MAC address. More...
 
WIFIReturnCode_t WIFI_GetHostIP (char *pcHost, uint8_t *pucIPAddr)
 Retrieves the host IP address from a host name using DNS. More...
 
WIFIReturnCode_t WIFI_Scan (WIFIScanResult_t *pxBuffer, uint8_t ucNumNetworks)
 Perform a Wi-Fi network Scan. More...
 
WIFIReturnCode_t WIFI_StartAP (void)
 Start SoftAP mode. More...
 
WIFIReturnCode_t WIFI_StopAP (void)
 Stop SoftAP mode. More...
 
WIFIReturnCode_t WIFI_ConfigureAP (const WIFINetworkParams_t *const pxNetworkParams)
 Configure SoftAP. More...
 
WIFIReturnCode_t WIFI_SetPMMode (WIFIPMMode_t xPMModeType, const void *pvOptionValue)
 Set the Wi-Fi power management mode. More...
 
WIFIReturnCode_t WIFI_GetPMMode (WIFIPMMode_t *pxPMModeType, void *pvOptionValue)
 Get the Wi-Fi power management mode. More...
 
WIFIReturnCode_t WIFI_RegisterEvent (WIFIEventType_t xEventType, WIFIEventHandler_t xHandler)
 Register a Wi-Fi event Handler. More...
 
BaseType_t WIFI_IsConnected (const WIFINetworkParams_t *pxNetworkParams)
 Check if the Wi-Fi is connected and the AP configuration matches the query. More...
 
WIFIReturnCode_t WIFI_StartScan (WIFIScanConfig_t *pxScanConfig)
 Start a Wi-Fi scan. More...
 
WIFIReturnCode_t WIFI_GetScanResults (const WIFIScanResult_t **pxBuffer, uint16_t *ucNumNetworks)
 Get Wi-Fi scan results. It should be called only after scan is completed. Scan results are sorted in decreasing rssi order. More...
 
WIFIReturnCode_t WIFI_StartConnectAP (const WIFINetworkParams_t *pxNetworkParams)
 Connect to the Wi-Fi Access Point (AP) specified in the input. More...
 
WIFIReturnCode_t WIFI_StartDisconnect (void)
 Wi-Fi station disconnects from AP. More...
 
WIFIReturnCode_t WIFI_GetConnectionInfo (WIFIConnectionInfo_t *pxConnectionInfo)
 Get Wi-Fi info of the connected AP. More...
 
WIFIReturnCode_t WIFI_GetRSSI (int8_t *pcRSSI)
 Get the RSSI of the connected AP. More...
 
WIFIReturnCode_t WIFI_GetStationList (WIFIStationInfo_t *pxStationList, uint8_t *pcStationListSize)
 SoftAP mode get connected station list. More...
 
WIFIReturnCode_t WIFI_StartDisconnectStation (uint8_t *pucMac)
 AP mode disconnecting a station. More...
 
WIFIReturnCode_t WIFI_SetMAC (uint8_t *pucMac)
 Set Wi-Fi MAC addresses. More...
 
WIFIReturnCode_t WIFI_SetCountryCode (const char *pcCountryCode)
 Set country based configuration (including channel list, power table) More...
 
WIFIReturnCode_t WIFI_GetCountryCode (char *pcCountryCode)
 Get the currently configured country code. More...
 
WIFIReturnCode_t WIFI_GetStatistic (WIFIStatisticInfo_t *pxStats)
 Get the Wi-Fi statistics. More...
 
WIFIReturnCode_t WIFI_GetCapability (WIFICapabilityInfo_t *pxCaps)
 Get the Wi-Fi capability. More...
 

Detailed Description

Interface for common WiFi APIs.

Note
This API has been moved over from the deprecated AWS iot_wifi API. It may not fully conform to FSP standards.

Data Structures

struct  WIFIWEPKey_t
 
struct  WIFIWPAPassphrase_t
 
struct  WIFINetworkParams_t
 
struct  WIFIScanConfig_t
 
struct  WIFIScanResult_t
 
struct  WIFIStationInfo_t
 
struct  WIFINetworkProfile_t
 
struct  WIFIIPAddress_t
 
struct  WIFIIPConfiguration_t
 
struct  WIFIConnectionInfo_t
 
struct  WiFiEventInfoReady_t
 
struct  WiFiEventInfoScanDone_t
 
struct  WiFiEventInfoConnected_t
 
struct  WiFiEventInfoDisconnected_t
 
struct  WiFiEventInfoConnectionFailed_t
 
struct  WiFiEventInfoIPReady_t
 
struct  WiFiEventInfoAPStateChanged_t
 
struct  WiFiEventInfoAPStationConnected_t
 
struct  WiFiEventInfoAPStationDisconnected_t
 
struct  WiFiEventInfoRxDone_t
 
struct  WiFiEventInfoTxDone_t
 
struct  WIFIEvent_t
 
struct  WIFIStatisticInfo_t
 
struct  WIFICapabilityInfo_t
 

Macros

#define WIFI_WPS_SUPPORTED
 Wi-Fi lower level supported feature mask. More...
 

Typedefs

typedef void(* WIFIEventHandler_t) (WIFIEvent_t *xEvent)
 Wi-Fi event handler definition. More...
 

Enumerations

enum  WIFIReturnCode_t
 
enum  WIFISecurity_t
 
enum  WIFIDeviceMode_t
 
enum  WIFIPMMode_t
 
enum  WIFIIPAddressType_t
 
enum  WIFIReason_t
 
enum  WIFIEventType_t
 
enum  WIFIBand_t
 
enum  WIFIPhyMode_t
 
enum  WIFIBandwidth_t
 

Data Structure Documentation

◆ WIFIWEPKey_t

struct WIFIWEPKey_t

Wi-Fi WEP keys (64- and 128-bit keys only)

Data Fields
char cKey[wificonfigMAX_WEPKEY_LEN] WEP key (binary array, not C-string)
uint8_t ucLength Key length.

◆ WIFIWPAPassphrase_t

struct WIFIWPAPassphrase_t

Wi-Fi WPA/WPA2 passphrase

Data Fields
char cPassphrase[wificonfigMAX_PASSPHRASE_LEN] WPA passphrase (binary array, not C-string)
uint8_t ucLength Passphrase length (must be between 8 and 64 inclusive)

◆ WIFINetworkParams_t

struct WIFINetworkParams_t

Parameters passed to the WIFI_ConnectAP API for connection

Data Fields
uint8_t ucSSID[wificonfigMAX_SSID_LEN] SSID of the Wi-Fi network (binary array, not C-string)
uint8_t ucSSIDLength SSID length.
WIFISecurity_t xSecurity Wi-Fi Security.
union WIFINetworkParams_t xPassword
uint8_t ucDefaultWEPKeyIndex Default WEP key index.
uint8_t ucChannel Channel number.

◆ WIFIScanConfig_t

struct WIFIScanConfig_t

Wi-Fi scan configuration

Data Fields
uint8_t ucSSID[wificonfigMAX_SSID_LEN] SSID for targeted scan (binary array, not C-string)
uint8_t ucSSIDLength SSID length, 0 if broadcast scan.
uint8_t ucChannel Channel to scan (0 means all channels)

◆ WIFIScanResult_t

struct WIFIScanResult_t

Wi-Fi scan results

Data Fields
uint8_t ucSSID[wificonfigMAX_SSID_LEN] SSID of the Wi-Fi network (binary array, not C-string)
uint8_t ucSSIDLength SSID length.
uint8_t ucBSSID[wificonfigMAX_BSSID_LEN] BSSID of the Wi-Fi network (binary array, not C-string)
WIFISecurity_t xSecurity Security type of the Wi-Fi network.
int8_t cRSSI Signal strength of the Wi-Fi network.
uint8_t ucChannel Channel of the Wi-Fi network.

◆ WIFIStationInfo_t

struct WIFIStationInfo_t

Wi-Fi SoftAP connected station info

Data Fields
uint8_t ucMAC[wificonfigMAX_BSSID_LEN] MAC address of Wi-Fi station.

◆ WIFINetworkProfile_t

struct WIFINetworkProfile_t

Wi-Fi network parameters passed to the WIFI_NetworkAdd API

Data Fields
uint8_t ucSSID[wificonfigMAX_SSID_LEN] SSID of the Wi-Fi network to join with a NULL termination.
uint8_t ucSSIDLength SSID length not including NULL termination.
uint8_t ucBSSID[wificonfigMAX_BSSID_LEN] BSSID of the Wi-Fi network.
char cPassword[wificonfigMAX_PASSPHRASE_LEN] Password needed to join the AP.
uint8_t ucPasswordLength Password length not including null termination.
WIFISecurity_t xSecurity Wi-Fi Security.
See also
WIFISecurity_t

◆ WIFIIPAddress_t

struct WIFIIPAddress_t

Wi-Fi station IP address format

Data Fields
WIFIIPAddressType_t xType IP address type (only eWiFiIPAddressTypeV4 is currently supported)
uint32_t ulAddress[IPV6_LENGTH] IP address in binary form, use inet_ntop/inet_pton for conversion.

◆ WIFIIPConfiguration_t

struct WIFIIPConfiguration_t

IP address configuration

Data Fields
WIFIIPAddress_t xIPAddress IP address.
WIFIIPAddress_t xNetMask Network mask.
WIFIIPAddress_t xGateway Gateway IP address.
WIFIIPAddress_t xDns1 First DNS server IP address.
WIFIIPAddress_t xDns2 Second DNS server IP address.

◆ WIFIConnectionInfo_t

struct WIFIConnectionInfo_t

Wi-Fi info of the connected AP

Data Fields
uint8_t ucSSID[wificonfigMAX_SSID_LEN] SSID of the Wi-Fi network (binary array, not C-string)
uint8_t ucSSIDLength SSID length.
uint8_t ucBSSID[wificonfigMAX_BSSID_LEN] BSSID of the Wi-Fi network (binary array, not C-string)
WIFISecurity_t xSecurity Wi-Fi Security.
uint8_t ucChannel Channel info.

◆ WiFiEventInfoReady_t

struct WiFiEventInfoReady_t

Wi-Fi event info for WI-FI ready

◆ WiFiEventInfoScanDone_t

struct WiFiEventInfoScanDone_t

Wi-Fi event info for scan done

◆ WiFiEventInfoConnected_t

struct WiFiEventInfoConnected_t

Wi-Fi event info for station connected to AP

◆ WiFiEventInfoDisconnected_t

struct WiFiEventInfoDisconnected_t

Wi-Fi event info for station disconnected from AP

Data Fields
WIFIReason_t xReason Reason code for station disconnection.

◆ WiFiEventInfoConnectionFailed_t

struct WiFiEventInfoConnectionFailed_t

Wi-Fi event info for station connection failure

Data Fields
WIFIReason_t xReason Reason code for connection failure.

◆ WiFiEventInfoIPReady_t

struct WiFiEventInfoIPReady_t

Wi-Fi event info for IP ready

Data Fields
WIFIIPAddress_t xIPAddress Station IP address from DHCP.

◆ WiFiEventInfoAPStateChanged_t

struct WiFiEventInfoAPStateChanged_t

Wi-Fi event info for AP state change

Data Fields
uint8_t ucState AP state: 0 = DOWN, 1 = UP.

◆ WiFiEventInfoAPStationConnected_t

struct WiFiEventInfoAPStationConnected_t

Wi-Fi event info for AP got a connected station

Data Fields
uint8_t ucMac[wificonfigMAX_BSSID_LEN] MAC address of connected station.

◆ WiFiEventInfoAPStationDisconnected_t

struct WiFiEventInfoAPStationDisconnected_t

Wi-Fi event info for AP got a disconnected station

Data Fields
uint8_t ucMac[wificonfigMAX_BSSID_LEN] MAC address of disconnected station.
WIFIReason_t xReason Reason code for the disconnection.

◆ WiFiEventInfoRxDone_t

struct WiFiEventInfoRxDone_t

Wi-Fi event info for receiving a frame in monitor mode (or normal mode with RX filter)

Data Fields
uint8_t * pucData Data buffer of received raw frame.
uint32_t ulLength Length of the raw frame.

◆ WiFiEventInfoTxDone_t

struct WiFiEventInfoTxDone_t

Wi-Fi event info for finishing transmitting an injection frame

◆ WIFIEvent_t

struct WIFIEvent_t

Wi-Fi combined event data structure

◆ WIFIStatisticInfo_t

struct WIFIStatisticInfo_t

Wi-Fi Statistic info

Data Fields
uint32_t ulTxSuccessCount Number of TX successes, 0 if unavailable.
uint32_t ulTxRetryCount Number of TX retries, 0 if unavailable.
uint32_t ulTxFailCount Number of TX failures, 0 if unavailable.
uint32_t ulRxSuccessCount Number of RX successes, 0 if unavailable.
uint32_t ulRxCRCErrorCount Number of RX FCS errors, 0 if unavailable.
uint32_t ulMICErrorCount Number of MIC errors, 0 if unavailable.
int8_t cNoise Average noise level in dBm, -128 if unavailable.
uint16_t usPhyRate Maximum used PHY rate, 0 if unavailable.
uint16_t usTxRate Average used TX rate, 0 if unavailable.
uint16_t usRxRate Average used RX rate, 0 if unavailable.
int8_t cRssi Average beacon RSSI in dBm, -128 if unavailable.
uint8_t ucBandwidth Average used bandwidth, 0 if unavailable.
uint8_t ucIdleTimePer Percent of idle time, 0 if unavailable.

◆ WIFICapabilityInfo_t

struct WIFICapabilityInfo_t

Wi-Fi capabilities

Data Fields
WIFIBand_t xBand Supported band.
WIFIPhyMode_t xPhyMode Supported PHY mode.
WIFIBandwidth_t xBandwidth Supported bandwidth.
uint32_t ulMaxAggr Max aggregation length, 0 if no aggregation support.
uint16_t usSupportedFeatures Supported features bitmap, e.g., WIFI_WPS_SUPPORTED.

Macro Definition Documentation

◆ WIFI_WPS_SUPPORTED

#define WIFI_WPS_SUPPORTED

Wi-Fi lower level supported feature mask.

See also
WIFICapabilityInfo_t.

Typedef Documentation

◆ WIFIEventHandler_t

typedef void(* WIFIEventHandler_t) (WIFIEvent_t *xEvent)

Wi-Fi event handler definition.

Parameters
[in]xEvent- Wi-Fi event data structure.
Returns
None.

Enumeration Type Documentation

◆ WIFIReturnCode_t

Return code denoting API status.

Enumerator
eWiFiSuccess 

Success.

eWiFiFailure 

Failure.

eWiFiTimeout 

Timeout.

eWiFiNotSupported 

Not supported.

◆ WIFISecurity_t

Wi-Fi Security types

Enumerator
eWiFiSecurityOpen 

Open - No Security.

eWiFiSecurityWEP 

WEP Security.

eWiFiSecurityWPA 

WPA Security.

eWiFiSecurityWPA2 

WPA2 Security.

eWiFiSecurityWPA2_ent 

WPA2 Enterprise Security.

eWiFiSecurityWPA3 

WPA3 Security.

eWiFiSecurityNotSupported 

Unknown Security.

◆ WIFIDeviceMode_t

Wi-Fi device modes

Enumerator
eWiFiModeStation 

Station mode.

eWiFiModeAP 

Access point mode.

eWiFiModeP2P 

P2P mode.

eWiFiModeAPStation 

AP+Station (repeater) mode.

eWiFiModeNotSupported 

Unsupported mode.

◆ WIFIPMMode_t

Wi-Fi device power management modes

Enumerator
eWiFiPMNormal 

Normal mode.

eWiFiPMLowPower 

Low Power mode.

eWiFiPMAlwaysOn 

Always On mode.

eWiFiPMNotSupported 

Unsupported PM mode.

◆ WIFIIPAddressType_t

Wi-Fi station IP address type

◆ WIFIReason_t

Wi-Fi protocol reason codes

Enumerator
eWiFiReasonUnspecified 

Unspecified error.

eWiFiReasonAPNotFound 

Cannot find the target AP.

eWiFiReasonAuthExpired 

Previous auth invalid.

eWiFiReasonAuthLeaveBSS 

Deauth leaving BSS.

eWiFiReasonAuthFailed 

All other AUTH errors.

eWiFiReasonAssocExpired 

Disassoc due to inactivity.

eWiFiReasonAssocTooMany 

AP is overloaded.

eWiFiReasonAssocPowerCapBad 

Power capability unacceptable.

eWiFiReasonAssocSupChanBad 

Supported channel unacceptable.

eWiFiReasonAssocFailed 

All other ASSOC errors.

eWiFiReasonIEInvalid 

Management frame IE invalid.

eWiFiReasonMICFailure 

MIC failure detected.

eWiFiReason4WayTimeout 

4WAY handshake timeout

eWiFiReason4WayIEDiffer 

4WAY handshake IE error

eWiFiReason4WayFailed 

All other 4WAY errors.

eWiFiReasonAKMPInvalid 

AKMP invalid.

eWiFiReasonPairwiseCipherInvalid 

Pairwise cipher invalid.

eWiFiReasonGroupCipherInvalid 

Group cipher invalid.

eWiFiReasonRSNVersionInvalid 

RSN version invalid.

eWiFiReasonRSNCapInvalid 

RSN capability invalid.

eWiFiReasonGroupKeyUpdateTimeout 

Group key update timeout.

eWiFiReasonCipherSuiteRejected 

Cipher violates security policy.

eWiFiReason8021XAuthFailed 

802.1X auth errors

eWiFiReasonBeaconTimeout 

Beacon timeout.

eWiFiReasonLinkFailed 

All other link errors.

eWiFiReasonDHCPExpired 

DHCP license expired.

eWiFiReasonDHCPFailed 

All other DHCP errors.

◆ WIFIEventType_t

Wi-Fi event types

Enumerator
eWiFiEventReady 

Wi-Fi is initialized or was reset in the lower layer.

eWiFiEventScanDone 

Scan is finished.

eWiFiEventConnected 

Station is connected to the AP.

eWiFiEventDisconnected 

Station is disconnected from the AP.

eWiFiEventConnectionFailed 

Station connection has failed.

eWiFiEventIPReady 

DHCP is successful.

eWiFiEventAPStateChanged 

SoftAP state changed.

eWiFiEventAPStationConnected 

SoftAP got a new station.

eWiFiEventAPStationDisconnected 

SoftAP lost a new station.

eWiFiEventWPSSuccess 

WPS is completed successfully.

eWiFiEventWPSFailed 

WPS has failed.

eWiFiEventWPSTimeout 

WPS has timeout.

◆ WIFIBand_t

enum WIFIBand_t

Wi-Fi band

Enumerator
eWiFiBand2G 

2.4G band

eWiFiBand5G 

5G band

eWiFiBandDual 

Dual band.

eWiFiBandMax 

Unsupported.

◆ WIFIPhyMode_t

Wi-Fi PHY mode

Enumerator
eWiFiPhy11b 

11B

eWiFiPhy11g 

11G

eWiFiPhy11n 

11N

eWiFiPhy11ac 

11AC

eWiFiPhy11ax 

11AX

eWiFiPhyMax 

Unsupported.

◆ WIFIBandwidth_t

Wi-Fi bandwidth

Enumerator
eWiFiBW20 

20MHz only

eWiFiBW40 

Max 40MHz.

eWiFiBW80 

Max 80MHz.

eWiFiBW160 

Max 80+80 or 160MHz.

eWiFiBWMax 

Unsupported.

Function Documentation

◆ WIFI_On()

WIFIReturnCode_t WIFI_On ( void  )

Turns on Wi-Fi.

This function turns on Wi-Fi module,initializes the drivers and must be called before calling any other Wi-Fi API

Returns
eWiFiSuccess if Wi-Fi module was successfully turned on, failure code otherwise.

Turns on Wi-Fi.

This function turns on Wi-Fi module,initializes the drivers and must be called before calling any other Wi-Fi API

Returns
eWiFiSuccess if Wi-Fi module was successfully turned on, failure code otherwise.

◆ WIFI_Off()

WIFIReturnCode_t WIFI_Off ( void  )

Turns off Wi-Fi.

This function turns off the Wi-Fi module. The Wi-Fi peripheral should be put in a low power or off state in this routine.

Returns
eWiFiSuccess if Wi-Fi module was successfully turned off, failure code otherwise.

Turns off Wi-Fi.

This function turns off the Wi-Fi module. The Wi-Fi peripheral should be put in a low power or off state in this routine.

Returns
eWiFiSuccess if Wi-Fi module was successfully turned off, failure code otherwise.

◆ WIFI_ConnectAP()

WIFIReturnCode_t WIFI_ConnectAP ( const WIFINetworkParams_t *const  pxNetworkParams)

Connects to the Wi-Fi Access Point (AP) specified in the input.

The Wi-Fi should stay connected when the same Access Point it is currently connected to is specified. Otherwise, the Wi-Fi should disconnect and connect to the new Access Point specified. If the new Access Point specifed has invalid parameters, then the Wi-Fi should be disconnected.

Parameters
[in]pxNetworkParamsConfiguration to join AP.
Returns
eWiFiSuccess if connection is successful, failure code otherwise.

Example

WIFINetworkParams_t xNetworkParams;
WIFIReturnCode_t xWifiStatus;
xNetworkParams.pcSSID = "SSID String";
xNetworkParams.ucSSIDLength = SSIDLen;
xNetworkParams.pcPassword = "Password String";
xNetworkParams.ucPasswordLength = PassLength;
xNetworkParams.xSecurity = eWiFiSecurityWPA2;
xWifiStatus = WIFI_ConnectAP( &( xNetworkParams ) );
if(xWifiStatus == eWiFiSuccess)
{
//Connected to AP.
}
See also
WIFINetworkParams_t

Connects to the Wi-Fi Access Point (AP) specified in the input.

The Wi-Fi should stay connected when the same Access Point it is currently connected to is specified. Otherwise, the Wi-Fi should disconnect and connect to the new Access Point specified. If the new Access Point specifed has invalid parameters, then the Wi-Fi should be disconnected.

Parameters
[in]pxNetworkParamsConfiguration to join AP.
Returns
eWiFiSuccess if connection is successful, failure code otherwise.
WIFINetworkParams_t xNetworkParams;
WIFIReturnCode_t xWifiStatus;
xNetworkParams.pcSSID = "SSID String";
xNetworkParams.ucSSIDLength = SSIDLen;
xNetworkParams.pcPassword = "Password String";
xNetworkParams.ucPasswordLength = PassLength;
xNetworkParams.xSecurity = eWiFiSecurityWPA2;
xWifiStatus = WIFI_ConnectAP( &( xNetworkParams ) );
if(xWifiStatus == eWiFiSuccess)
{
//Connected to AP.
}
See also
WIFINetworkParams_t

◆ WIFI_Disconnect()

WIFIReturnCode_t WIFI_Disconnect ( void  )

Disconnects from the currently connected Access Point.

Returns
eWiFiSuccess if disconnection was successful or if the device is already disconnected, failure code otherwise.

Disconnects from the currently connected Access Point.

Returns
eWiFiSuccess if disconnection was successful or if the device is already disconnected, failure code otherwise.

◆ WIFI_Reset()

WIFIReturnCode_t WIFI_Reset ( void  )

Resets the Wi-Fi Module.

Returns
eWiFiSuccess if Wi-Fi module was successfully reset, failure code otherwise.

Resets the Wi-Fi Module.

Returns
eWiFiSuccess if Wi-Fi module was successfully reset, failure code otherwise.

◆ WIFI_SetMode()

WIFIReturnCode_t WIFI_SetMode ( WIFIDeviceMode_t  xDeviceMode)

Sets the Wi-Fi mode.

Parameters
[in]xDeviceMode- Mode of the device Station / Access Point /P2P.

Example

WIFIReturnCode_t xWifiStatus;
if(xWifiStatus == eWiFiSuccess)
{
//device Set to station mode
}
Returns
eWiFiSuccess if Wi-Fi mode was set successfully, failure code otherwise.

◆ WIFI_GetMode()

WIFIReturnCode_t WIFI_GetMode ( WIFIDeviceMode_t pxDeviceMode)

Gets the Wi-Fi mode.

Parameters
[out]pxDeviceMode- return mode Station / Access Point /P2P

Example

WIFIReturnCode_t xWifiStatus;
WIFIDeviceMode_t xDeviceMode;
xWifiStatus = WIFI_GetMode(&xDeviceMode);
if(xWifiStatus == eWiFiSuccess)
{
//device mode is xDeviceMode
}
Returns
eWiFiSuccess if Wi-Fi mode was successfully retrieved, failure code otherwise.

◆ WIFI_NetworkAdd()

WIFIReturnCode_t WIFI_NetworkAdd ( const WIFINetworkProfile_t *const  pxNetworkProfile,
uint16_t *  pusIndex 
)

Add a Wi-Fi Network profile.

Adds a Wi-fi network to the network list in Non Volatile memory.

Parameters
[in]pxNetworkProfile- Network profile parameters
[out]pusIndex- Network profile index in storage
Returns
Index of the profile storage on success, or failure return code on failure.

Example

WIFINetworkProfile_t xNetworkProfile = {0};
WIFIReturnCode_t xWiFiStatus;
uint16_t usIndex;
strncpy( xNetworkProfile.cSSID, "SSID_Name", SSIDLen));
xNetworkProfile.ucSSIDLength = SSIDLen;
strncpy( xNetworkProfile.cPassword, "PASSWORD",PASSLen );
xNetworkProfile.ucPasswordLength = PASSLen;
xNetworkProfile.xSecurity = eWiFiSecurityWPA2;
WIFI_NetworkAdd( &xNetworkProfile, &usIndex );

◆ WIFI_NetworkGet()

WIFIReturnCode_t WIFI_NetworkGet ( WIFINetworkProfile_t pxNetworkProfile,
uint16_t  usIndex 
)

Get a Wi-Fi network profile.

Gets the Wi-Fi network parameters at the given index from network list in non-volatile memory.

Note
The WIFINetworkProfile_t data returned must have the the SSID and Password lengths specified as the length without a null terminator.
Parameters
[out]pxNetworkProfile- pointer to return network profile parameters
[in]usIndex- Index of the network profile, must be between 0 to wificonfigMAX_NETWORK_PROFILES
Returns
eWiFiSuccess if the network profile was successfully retrieved, failure code otherwise.
See also
WIFINetworkProfile_t

Example

WIFINetworkProfile_t xNetworkProfile = {0};
uint16_t usIndex = 3; //Get profile stored at index 3.
WIFI_NetworkGet( &xNetworkProfile, usIndex );

◆ WIFI_NetworkDelete()

WIFIReturnCode_t WIFI_NetworkDelete ( uint16_t  usIndex)

Delete a Wi-Fi Network profile.

Deletes the Wi-Fi network profile from the network profile list at given index in non-volatile memory

Parameters
[in]usIndex- Index of the network profile, must be between 0 to wificonfigMAX_NETWORK_PROFILES.

If wificonfigMAX_NETWORK_PROFILES is the index, then all network profiles will be deleted.

Returns
eWiFiSuccess if successful, failure code otherwise. If successful, the interface IP address is copied into the IP address buffer.

Example

uint16_t usIndex = 2; //Delete profile at index 2
WIFI_NetworkDelete( usIndex );

◆ WIFI_Ping()

WIFIReturnCode_t WIFI_Ping ( uint8_t *  pucIPAddr,
uint16_t  usCount,
uint32_t  ulIntervalMS 
)

Ping an IP address in the network.

Parameters
[in]pucIPAddrIP Address array to ping.
[in]usCountNumber of times to ping
[in]ulIntervalMSInterval in mili-seconds for ping operation
Returns
eWiFiSuccess if ping was successful, other failure code otherwise.

Ping an IP address in the network.

Parameters
[in]pucIPAddrIP Address array to ping.
[in]usCountNumber of times to ping
[in]ulIntervalMSInterval in milliseconds for ping operation
Returns
eWiFiSuccess if ping was successful, other failure code otherwise.

◆ WIFI_GetIPInfo()

WIFIReturnCode_t WIFI_GetIPInfo ( WIFIIPConfiguration_t pxIPInfo)

Get IP configuration (IP address, NetworkMask, Gateway and DNS server addresses).

Parameters
[out]pxIPInfo- Current IP configuration.
Returns
eWiFiSuccess if successful and IP Address buffer has the interface's IP address, failure code otherwise.

Example

This is a synchronous call.

Parameters
[out]pxIPInfo- Current IP configuration.
Returns
eWiFiSuccess if connection info was got successfully, failure code otherwise.
Parameters
[out]pxIPInfo- Current IP configuration.
Returns
eWiFiSuccess if successful and IP Address buffer has the interface's IP address, failure code otherwise.

Example

This is a synchronous call.

Parameters
[out]pxIPInfo- Current IP configuration.
Returns
eWiFiSuccess if connection info was got successfully, failure code otherwise.
Parameters
[out]pxIPInfo- Current IP configuration.
Returns
eWiFiSuccess if successful and IP Address buffer has the interface's IP address, failure code otherwise.

Example

◆ WIFI_GetMAC()

WIFIReturnCode_t WIFI_GetMAC ( uint8_t *  pucMac)

Retrieves the Wi-Fi interface's MAC address.

Parameters
[out]pucMacMAC Address buffer sized 6 bytes.

Example

uint8_t ucMacAddressVal[ wificonfigMAX_BSSID_LEN ];
WIFI_GetMAC( &ucMacAddressVal[0] );
Returns
eWiFiSuccess if the MAC address was successfully retrieved, failure code otherwise. The returned MAC address must be 6 consecutive bytes with no delimitters.

Retrieves the Wi-Fi interface's MAC address.

Parameters
[out]pucMacMAC Address buffer sized 6 bytes.
uint8_t ucMacAddressVal[ wificonfigMAX_BSSID_LEN ];
WIFI_GetMAC( &ucMacAddressVal[0] );
Returns
eWiFiSuccess if the MAC address was successfully retrieved, failure code otherwise. The returned MAC address must be 6 consecutive bytes with no delimitters.

◆ WIFI_GetHostIP()

WIFIReturnCode_t WIFI_GetHostIP ( char *  pcHost,
uint8_t *  pucIPAddr 
)

Retrieves the host IP address from a host name using DNS.

Parameters
[in]pcHost- Host (node) name.
[in]pucIPAddr- IP Address buffer.
Returns
eWiFiSuccess if the host IP address was successfully retrieved, failure code otherwise.

Example

uint8_t ucIPAddr[ 4 ];
WIFI_GetHostIP( "amazon.com", &ucIPAddr[0] );

Retrieves the host IP address from a host name using DNS.

Parameters
[in]pcHost- Host (node) name.
[in]pucIPAddr- IP Address buffer.
Returns
eWiFiSuccess if the host IP address was successfully retrieved, failure code otherwise.
uint8_t ucIPAddr[ 4 ];
WIFI_GetHostIP( "amazon.com", &ucIPAddr[0] );

◆ WIFI_Scan()

WIFIReturnCode_t WIFI_Scan ( WIFIScanResult_t pxBuffer,
uint8_t  ucNumNetworks 
)

Perform a Wi-Fi network Scan.

Parameters
[in]pxBuffer- Buffer for scan results.
[in]ucNumNetworks- Number of networks to retrieve in scan result.
Returns
eWiFiSuccess if the Wi-Fi network scan was successful, failure code otherwise.
Note
The input buffer will have the results of the scan.

Example

const uint8_t ucNumNetworks = 10; //Get 10 scan results
WIFIScanResult_t xScanResults[ ucNumNetworks ];
WIFI_Scan( xScanResults, ucNumNetworks );

Perform a Wi-Fi network Scan.

Parameters
[in]pxBuffer- Buffer for scan results.
[in]ucNumNetworks- Number of networks to retrieve in scan result.
Returns
eWiFiSuccess if the Wi-Fi network scan was successful, failure code otherwise.
Note
The input buffer will have the results of the scan.
const uint8_t ucNumNetworks = 10; //Get 10 scan results
WIFIScanResult_t xScanResults[ ucNumNetworks ];
WIFI_Scan( xScanResults, ucNumNetworks );

◆ WIFI_StartAP()

WIFIReturnCode_t WIFI_StartAP ( void  )

Start SoftAP mode.

Returns
eWiFiSuccess if SoftAP was successfully started, failure code otherwise.

◆ WIFI_StopAP()

WIFIReturnCode_t WIFI_StopAP ( void  )

Stop SoftAP mode.

Returns
eWiFiSuccess if the SoftAP was successfully stopped, failure code otherwise.

◆ WIFI_ConfigureAP()

WIFIReturnCode_t WIFI_ConfigureAP ( const WIFINetworkParams_t *const  pxNetworkParams)

Configure SoftAP.

Parameters
[in]pxNetworkParams- Network parameters to configure AP.
Returns
eWiFiSuccess if SoftAP was successfully configured, failure code otherwise.

Example

WIFINetworkParams_t xNetworkParams;
xNetworkParams.pcSSID = "SSID_Name";
xNetworkParams.pcPassword = "PASSWORD";
xNetworkParams.xSecurity = eWiFiSecurityWPA2;
xNetworkParams.cChannel = ChannelNum;
WIFI_ConfigureAP( &xNetworkParams );

◆ WIFI_SetPMMode()

WIFIReturnCode_t WIFI_SetPMMode ( WIFIPMMode_t  xPMModeType,
const void *  pvOptionValue 
)

Set the Wi-Fi power management mode.

Parameters
[in]xPMModeType- Power mode type.
[in]pvOptionValue- A buffer containing the value of the option to set depends on the mode type example - beacon interval in sec
Returns
eWiFiSuccess if the power mode was successfully configured, failure code otherwise.

◆ WIFI_GetPMMode()

WIFIReturnCode_t WIFI_GetPMMode ( WIFIPMMode_t pxPMModeType,
void *  pvOptionValue 
)

Get the Wi-Fi power management mode.

Parameters
[out]pxPMModeType- pointer to get current power mode set.
[out]pvOptionValue- optional value
Returns
eWiFiSuccess if the power mode was successfully retrieved, failure code otherwise.

◆ WIFI_RegisterEvent()

WIFIReturnCode_t WIFI_RegisterEvent ( WIFIEventType_t  xEventType,
WIFIEventHandler_t  xHandler 
)

Register a Wi-Fi event Handler.

Parameters
[in]xEventType- Wi-Fi event type.
[in]xHandler- Wi-Fi event handler.
Returns
eWiFiSuccess if registration is successful, failure code otherwise.

◆ WIFI_IsConnected()

BaseType_t WIFI_IsConnected ( const WIFINetworkParams_t pxNetworkParams)

Check if the Wi-Fi is connected and the AP configuration matches the query.

param[in] pxNetworkParams - Network parameters to query, if NULL then just check the Wi-Fi link status.

◆ WIFI_StartScan()

WIFIReturnCode_t WIFI_StartScan ( WIFIScanConfig_t pxScanConfig)

Start a Wi-Fi scan.

This is an asynchronous call, the result will be notified by an event.

See also
WiFiEventInfoScanDone_t.
Parameters
[in]pxScanConfig- Parameters for scan, NULL if default scan (i.e. broadcast scan on all channels).
Returns
eWiFiSuccess if scan was started successfully, failure code otherwise.

◆ WIFI_GetScanResults()

WIFIReturnCode_t WIFI_GetScanResults ( const WIFIScanResult_t **  pxBuffer,
uint16_t *  ucNumNetworks 
)

Get Wi-Fi scan results. It should be called only after scan is completed. Scan results are sorted in decreasing rssi order.

Parameters
[out]pxBuffer- Handle to the READ ONLY scan results buffer.
[out]ucNumNetworks- Actual number of networks in the scan results.
Returns
eWiFiSuccess if the scan results were got successfully, failure code otherwise.

◆ WIFI_StartConnectAP()

WIFIReturnCode_t WIFI_StartConnectAP ( const WIFINetworkParams_t pxNetworkParams)

Connect to the Wi-Fi Access Point (AP) specified in the input.

This is an asynchronous call, the result will be notified by an event.

See also
WiFiEventInfoConnected_t.

The Wi-Fi should stay connected when the specified AP is the same as the currently connected AP. Otherwise, the Wi-Fi should disconnect and connect to the specified AP. If the specified AP has invalid parameters, the Wi-Fi should be disconnected.

Parameters
[in]pxNetworkParams- Configuration of the targeted AP.
Returns
eWiFiSuccess if connection was started successfully, failure code otherwise.

◆ WIFI_StartDisconnect()

WIFIReturnCode_t WIFI_StartDisconnect ( void  )

Wi-Fi station disconnects from AP.

This is an asynchronous call. The result will be notified by an event.

See also
WiFiEventInfoDisconnected_t.
Returns
eWiFiSuccess if disconnection was started successfully, failure code otherwise.

◆ WIFI_GetConnectionInfo()

WIFIReturnCode_t WIFI_GetConnectionInfo ( WIFIConnectionInfo_t pxConnectionInfo)

Get Wi-Fi info of the connected AP.

This is a synchronous call.

Parameters
[out]pxConnectionInfo- Wi-Fi info of the connected AP.
Returns
eWiFiSuccess if connection info was got successfully, failure code otherwise.

◆ WIFI_GetRSSI()

WIFIReturnCode_t WIFI_GetRSSI ( int8_t *  pcRSSI)

Get the RSSI of the connected AP.

This only works when the station is connected.

Parameters
[out]pcRSSI- RSSI of the connected AP.
Returns
eWiFiSuccess if RSSI was got successfully, failure code otherwise.

◆ WIFI_GetStationList()

WIFIReturnCode_t WIFI_GetStationList ( WIFIStationInfo_t pxStationList,
uint8_t *  pcStationListSize 
)

SoftAP mode get connected station list.

Parameters
[out]pxStationList- Buffer for station list, supplied by the caller.
[in,out]pcStationListSize- Input size of the list, output number of connected stations.
Returns
eWiFiSuccess if stations were got successfully (manybe none), failure code otherwise.

◆ WIFI_StartDisconnectStation()

WIFIReturnCode_t WIFI_StartDisconnectStation ( uint8_t *  pucMac)

AP mode disconnecting a station.

This is an asynchronous call, the result will be notified by an event.

See also
WiFiEventInfoAPStationDisconnected_t.
Parameters
[in]pucMac- MAC Address of the station to be disconnected.
Returns
eWiFiSuccess if disconnection was started successfully, failure code otherwise.

◆ WIFI_SetMAC()

WIFIReturnCode_t WIFI_SetMAC ( uint8_t *  pucMac)

Set Wi-Fi MAC addresses.

The given MAC address will become the station MAC address. The AP MAC address (i.e. BSSID) will be the same MAC address but with the local bit set.

Parameters
[in]pucMac- Station MAC address.
Returns
eWiFiSuccess if MAC address was set successfully, failure code otherwise.
Note
On some platforms the change of MAC address can only take effect after reboot.

◆ WIFI_SetCountryCode()

WIFIReturnCode_t WIFI_SetCountryCode ( const char *  pcCountryCode)

Set country based configuration (including channel list, power table)

Parameters
[in]pcCountryCode- Country code (null-terminated string, e.g. "US", "CN". See ISO-3166).
Returns
eWiFiSuccess if Country Code is set successfully, failure code otherwise.

◆ WIFI_GetCountryCode()

WIFIReturnCode_t WIFI_GetCountryCode ( char *  pcCountryCode)

Get the currently configured country code.

Parameters
[out]pcCountryCode- Null-terminated string to hold the country code (see ISO-3166). Must be at least 4 bytes.
Returns
eWiFiSuccess if Country Code is retrieved successfully, failure code otherwise.

◆ WIFI_GetStatistic()

WIFIReturnCode_t WIFI_GetStatistic ( WIFIStatisticInfo_t pxStats)

Get the Wi-Fi statistics.

Parameters
[out]pxStats- Structure to hold the WiFi statistics.
Returns
eWiFiSuccess if statistics are retrieved successfully, failure code otherwise.

◆ WIFI_GetCapability()

WIFIReturnCode_t WIFI_GetCapability ( WIFICapabilityInfo_t pxCaps)

Get the Wi-Fi capability.

Parameters
[out]pxCaps- Structure to hold the Wi-Fi capabilities.
Returns
eWiFiSuccess if capabilities are retrieved successfully, failure code otherwise.