FMAC API
To interact with the WFx, the host has access to a set of API exposing a FMAC Wi-Fi interface. To find the related driver functions, see the table below or FULL_MAC_API group.
FMAC API Commands
Below is a table listing the FMAC API commands supported by the WFx.
Commands | Command ID | Associated driver function | Description |
---|---|---|---|
SL_WFX_SET_MAC_ADDRESS_REQ_ID | 0x42 | sl_wfx_set_mac_address() | Set a MAC address for one interface |
SL_WFX_CONNECT_REQ_ID | 0x43 | sl_wfx_send_join_command() | Connect to a network |
SL_WFX_DISCONNECT_REQ_ID | 0x44 | sl_wfx_send_disconnect_command() | Disconnect from a network |
SL_WFX_START_AP_REQ_ID | 0x45 | sl_wfx_start_ap_command() | Start AP mode |
SL_WFX_UPDATE_AP_REQ_ID | 0x46 | sl_wfx_update_ap_command() | Update AP mode parameters |
SL_WFX_STOP_AP_REQ_ID | 0x47 | sl_wfx_stop_ap_command() | Stop AP mode |
SL_WFX_SEND_FRAME_REQ_ID | 0x4a | sl_wfx_send_ethernet_frame() | Send a frame |
SL_WFX_START_SCAN_REQ_ID | 0x4b | sl_wfx_send_scan_command() | Perform a scan |
SL_WFX_STOP_SCAN_REQ_ID | 0x4c | sl_wfx_send_stop_scan_command() | Stop an ongoing scan |
SL_WFX_GET_SIGNAL_STRENGTH_REQ_ID | 0x4e | sl_wfx_get_signal_strength() | Get signal strength |
SL_WFX_DISCONNECT_AP_CLIENT_REQ_ID | 0x4f | sl_wfx_disconnect_ap_client_command() | Disconnect AP client |
SL_WFX_SET_PM_MODE_REQ_ID | 0x52 | sl_wfx_set_power_mode() | Set PM mode (Power Management mode) |
SL_WFX_ADD_MULTICAST_ADDR_REQ_ID | 0x53 | sl_wfx_add_multicast_address() | Add multicast address to filter |
SL_WFX_REMOVE_MULTICAST_ADDR_REQ_ID | 0x54 | sl_wfx_remove_multicast_address() | Remove multicast address to filter |
SL_WFX_SET_MAX_AP_CLIENT_COUNT_REQ_ID | 0x55 | sl_wfx_set_max_ap_client() | Set client count limitation |
SL_WFX_SET_MAX_AP_CLIENT_INACTIVITY_REQ_ID | 0x56 | sl_wfx_set_max_ap_client_inactivity() | Set client inactivity limitation |
SL_WFX_SET_ROAM_PARAMETERS_REQ_ID | 0x57 | sl_wfx_set_roam_parameters() | Set roam parameters |
SL_WFX_SET_TX_RATE_PARAMETERS_REQ_ID | 0x58 | sl_wfx_set_tx_rate_parameters() | Set TX rate parameters |
SL_WFX_SET_ARP_IP_ADDRESS_REQ_ID | 0x59 | sl_wfx_set_arp_ip_address() | Active the ARP offloading for the IP address provided |
SL_WFX_SET_NS_IP_ADDRESS_REQ_ID | 0x5A | sl_wfx_set_ns_ip_address() | Active the Neighbor Solicitation offloading for the IP address provided |
SL_WFX_SET_BROADCAST_FILTER_REQ_ID | 0x5B | sl_wfx_set_broadcast_filter() | Active the broadcast filtering |
SL_WFX_SET_SCAN_PARAMETERS_REQ_ID | 0x5C | sl_wfx_set_scan_parameters() | Set scan parameters |
SL_WFX_SET_UNICAST_FILTER_REQ_ID | 0x5D | sl_wfx_set_unicast_filter() | Active the unicast filtering |
SL_WFX_ADD_WHITELIST_ADDR_REQ_ID | 0x5E | sl_wfx_add_whitelist_address() | Add a MAC address to the whitelist |
SL_WFX_ADD_BLACKLIST_ADDR_REQ_ID | 0x5F | sl_wfx_add_blacklist_address() | Add a MAC address to the blacklist |
SL_WFX_SET_MAX_TX_POWER_REQ_ID | 0x60 | sl_wfx_set_max_tx_power() | Set the max TX output power |
SL_WFX_GET_MAX_TX_POWER_REQ_ID | 0x61 | sl_wfx_get_max_tx_power() | Get the max TX output power |
SL_WFX_GET_PMK_REQ_ID | 0x62 | sl_wfx_get_pmk() | Get the PMK used to connect to the current secure network |
SL_WFX_GET_AP_CLIENT_SIGNAL_STRENGTH_REQ_ID | 0x63 | sl_wfx_get_ap_client_signal_strength() | Get signal strength from a connected client in softAP mode |
For each available command, there is an associated confirmation with the same ID value.
FMAC API Indications
Indications | Indication ID | Associated struture | Description |
---|---|---|---|
SL_WFX_CONNECT_IND | 0xc3 | sl_wfx_connect_ind_t | Connection to a network complete |
SL_WFX_DISCONNECT_IND | 0xc4 | sl_wfx_disconnect_ind_t | Disconnection from a network complete |
SL_WFX_START_AP_IND | 0xc5 | sl_wfx_start_ap_ind_t | Started AP mode |
SL_WFX_STOP_AP_IND | 0xc7 | sl_wfx_stop_ap_ind_t | Stopped AP mode |
SL_WFX_RECEIVED_IND | 0xca | sl_wfx_received_ind_t | Frame received |
SL_WFX_SCAN_RESULT_IND | 0xcb | sl_wfx_scan_result_ind_t | Scan result received |
SL_WFX_SCAN_COMPLETE_IND | 0xcc | sl_wfx_scan_complete_ind_t | Scan complete |
SL_WFX_AP_CLIENT_CONNECTED_IND | 0xcd | sl_wfx_ap_client_connected_ind_t | AP Client connected |
SL_WFX_AP_CLIENT_REJECTED_IND | 0xce | sl_wfx_ap_client_rejected_ind_t | AP Client rejected |
SL_WFX_AP_CLIENT_DISCONNECTED_IND | 0xcf | sl_wfx_ap_client_disconnected_ind_t | AP Client disconnected |
These indications have to be managed by the host depending on the application and use case.