Synergy Software Package User's Manual

RTOS-integrated WiFi Framework example. Implementation of Silex ULPGN WiFi Driver. It implements the following interfaces: More...

Data Structures

struct  sf_wifi_qca4010_instance_cfg_t
 

Macros

#define SF_WIFI_QCA4010_CODE_VERSION_MAJOR   (2U)
 
#define SF_WIFI_QCA4010_CODE_VERSION_MINOR   (0U)
 

Functions

ssp_err_t SF_WiFi_QCA4010_Open (sf_wifi_qca4010_ctrl_t *p_ctrl, sf_wifi_qca4010_cfg_t const *const p_cfg)
 Initialize WiFi module. More...
 
ssp_err_t SF_WiFi_QCA4010_Close (sf_wifi_qca4010_ctrl_t *const p_ctrl)
 Stop Wifi QCA4010 driver functionality. More...
 
ssp_err_t SF_WiFi_QCA4010_ProvisioningSet (sf_wifi_qca4010_ctrl_t *const p_ctrl, sf_wifi_qca4010_provisioning_t const *const p_wifi_provisioning)
 Sets the provisioning information. More...
 
ssp_err_t SF_WiFi_QCA4010_WifiStatusGet (sf_wifi_qca4010_ctrl_t *const p_ctrl, sf_wifi_qca4010_status_t *const p_wifi_status)
 Get the network information. More...
 
ssp_err_t SF_WiFi_QCA4010_Scan (sf_wifi_qca4010_ctrl_t *p_ctrl, sf_wifi_qca4010_scan_t *const p_scan, uint8_t count)
 Scans for available APs. More...
 
ssp_err_t SF_Wifi_QCA4010_CommandSend (sf_wifi_qca4010_ctrl_t *const p_ctrl, sf_wifi_qca4010_cmd_resp_t *const p_input_at_command, sf_wifi_qca4010_cmd_resp_t *const p_output, uint32_t const timeout)
 Send custom AT command to SX-ULPGN module. More...
 
ssp_err_t SF_WiFi_QCA4010_VersionGet (ssp_version_t *const p_version)
 Set driver version based on compile time macros. Implements sf_wifi_qca4010_api_t::versionGet. More...
 

Detailed Description

RTOS-integrated WiFi Framework example. Implementation of Silex ULPGN WiFi Driver. It implements the following interfaces:

Macro Definition Documentation

◆ SF_WIFI_QCA4010_CODE_VERSION_MAJOR

#define SF_WIFI_QCA4010_CODE_VERSION_MAJOR   (2U)

WiFi Interface. Major Version of code that implements the API defined in this file

◆ SF_WIFI_QCA4010_CODE_VERSION_MINOR

#define SF_WIFI_QCA4010_CODE_VERSION_MINOR   (0U)

Minor Version of code that implements the API defined in this file

Function Documentation

◆ SF_WiFi_QCA4010_Close()

ssp_err_t SF_WiFi_QCA4010_Close ( sf_wifi_qca4010_ctrl_t *const  p_ctrl)

Stop Wifi QCA4010 driver functionality.

Implements sf_wifi_qca4010_api_t::close De-initializes the lower level interface

Parameters
[in]p_ctrlWifi control block
Return values
SSP_SUCCESSWifi Driver stop successfully.
SSP_ERR_NOT_OPENDevice is not opened.
SSP_ERR_ASSERTIONArgument NULL is passed
SSP_ERR_WIFI_FAILEDDriver De-initialization failed
SSP_ERR_IN_USEDevice already in use
SSP_ERR_INTERNALInternal Error occurred

Get Mutex

Disconnect from the access point

close module

Set module open flag to false and delete mutex

Release the mutex

Delete the mutex

◆ SF_Wifi_QCA4010_CommandSend()

ssp_err_t SF_Wifi_QCA4010_CommandSend ( sf_wifi_qca4010_ctrl_t *const  p_ctrl,
sf_wifi_qca4010_cmd_resp_t *const  p_input_at_command,
sf_wifi_qca4010_cmd_resp_t *const  p_output,
uint32_t const  timeout 
)

Send custom AT command to SX-ULPGN module.

This API will send AT command provided by user to the SX-ULPGN and will collect the response from the modem and will send it back to the user. If silex is in Data Mode when this API is called then Framework will first switch Modem to Command Mode, then send the AT command and collect the response and then switches the Modem back to Data Mode.

Parameters
[in]p_ctrlPointer to the wifi control block
[in]p_input_at_commandPointer to structure which contains command to send
[in,out]p_outputPointer to buffer in which response will be sent to user, Also user will pass the size of the buffer which is pointed by p_output
[in]timeoutTimeout for which framework will wait for response in milliseconds
Return values
SSP_SUCCESSSuccessfully sent AT command and collected response
SSP_ERR_WIFI_FAILEDFailed to either send AT command or collect response
SSP_ERR_NOT_OPENDevice is not opened
SSP_ERR_ASSERTIONArgument NULL is passed
SSP_ERR_IN_USEDevice already in use

Get Mutex

Send AT command

Release the mutex

◆ SF_WiFi_QCA4010_Open()

ssp_err_t SF_WiFi_QCA4010_Open ( sf_wifi_qca4010_ctrl_t p_ctrl,
sf_wifi_qca4010_cfg_t const *const  p_cfg 
)

Initialize WiFi module.

Implements sf_wifi_qca4010_api_t::open This function performs the following tasks: Initializes WiFi module and Configure the parameters as per the p_cfg Update global variables for future use.

Parameters
[out]p_ctrlWifi control block
[in]p_cfgWifi configuration structure
Return values
SSP_SUCCESSModule initialization successful
SSP_ERR_ALREADY_OPENWiFi module is already opened
SSP_ERR_WIFI_INIT_FAILEDWiFi module initialization failed
SSP_ERR_ASSERTIONArgument NULL is passed
SSP_ERR_IN_USEModule in use
SSP_ERR_WIFI_FAILEDModule initialization failed
SSP_ERR_INTERNALInternal Error occurred

Create Mutex for Synchronization

Get Mutex Lock

Open and configure the wifi module

Release Mutex

◆ SF_WiFi_QCA4010_ProvisioningSet()

ssp_err_t SF_WiFi_QCA4010_ProvisioningSet ( sf_wifi_qca4010_ctrl_t *const  p_ctrl,
sf_wifi_qca4010_provisioning_t const *const  p_wifi_provisioning 
)

Sets the provisioning information.

Implements sf_wifi_qca4010_api_t::provisioningSet Sets Wifi's provisioning information

Parameters
[in]p_ctrlWifi control block
[in]p_wifi_provisioningWifi provisioning structure
Return values
SSP_SUCCESSSuccessfully set the provisioning information.
SSP_ERR_NOT_OPENDevice not opened
SSP_ERR_ASSERTIONArgument NULL is passed
SSP_ERR_WIFI_FAILEDProvisioning failed
SSP_ERR_IN_USEDevice already in use
SSP_ERR_INTERNALInternal Error occurred
SSP_ERR_INVALID_ARGUMENTInvalid input value or No commas are accepted in the SSID or key.

Get Mutex

Provision in AP or client mode

Release the mutex

◆ SF_WiFi_QCA4010_Scan()

ssp_err_t SF_WiFi_QCA4010_Scan ( sf_wifi_qca4010_ctrl_t p_ctrl,
sf_wifi_qca4010_scan_t *const  p_scan,
uint8_t  count 
)

Scans for available APs.

Implements sf_wifi_qca4010_api_t::scan Scan for available AP's SSID and return the list to caller.

Parameters
[in]p_ctrlWifi control block
[out]p_scanWifi scan structure
[in]countNumber of access points to be scanned
Return values
SSP_SUCCESSSuccessfully scan the network for available APs
SSP_ERR_NOT_OPENDriver not opened
SSP_ERR_WIFI_FAILEDFailed to scan
SSP_ERR_ASSERTIONArgument NULL is passed
SSP_ERR_IN_USEModule in use
SSP_ERR_INTERNALInternal Error occurred

Get Mutex

Scan for available access points

Release the mutex

◆ SF_WiFi_QCA4010_VersionGet()

ssp_err_t SF_WiFi_QCA4010_VersionGet ( ssp_version_t *const  p_version)

Set driver version based on compile time macros. Implements sf_wifi_qca4010_api_t::versionGet.

Parameters
[in]p_versionWifi version
Return values
SSP_SUCCESSVersion information retrieved successfully.
SSP_ERR_ASSERTIONThe parameter p_version is NULL.

◆ SF_WiFi_QCA4010_WifiStatusGet()

ssp_err_t SF_WiFi_QCA4010_WifiStatusGet ( sf_wifi_qca4010_ctrl_t *const  p_ctrl,
sf_wifi_qca4010_status_t *const  p_wifi_status 
)

Get the network information.

Implements sf_wifi_qca4010_api_t::statisticsGet Collect the statistics information of WiFi interface

Parameters
[in]p_ctrlWifi control block
[out]p_wifi_statusWifi status structure
Return values
SSP_SUCCESSSuccessfully get the Statistics information.
SSP_ERR_NOT_OPENDevice not opened
SSP_ERR_ASSERTIONArgument NULL is passed
SSP_ERR_IN_USEModule in use
SSP_ERR_WIFI_FAILEDFailed reading WiFi statistics information
SSP_ERR_INTERNALInternal Error occurred

Get Mutex

Get Wifi Network information

Release the mutex