Wi-Fi#

Functions#

int8_t
rsi_wlan_cb_init(rsi_wlan_cb_t *wlan_cb)

Initialize the WLAN control block structure.

int32_t
rsi_driver_wlan_send_cmd(rsi_wlan_cmd_request_t cmd, rsi_pkt_t *pkt)

Fill the command information and place it in the WLAN TX queue.

uint8_t *
rsi_extract_filename(uint8_t *json, uint8_t *buffer)

Extract file name from the received JSON data.

int32_t

Process received WLAN commands.

uint32_t

Get WLAN status.

void
rsi_wlan_set_status(int32_t status)

Set the WLAN status.

int32_t

Post on a waiting semaphore.

int32_t

Check if any socket command is in waiting state.

int32_t

Check if any WLAN command is in waiting state.

void

Receive raw data packet from module.

void

Handle packet transfer completion.

void

Clear TX packet, if TX buffer is full.

void

Check if the common buffer is full.

rsi_error_t
rsi_wait_on_wlan_semaphore(rsi_semaphore_handle_t *semaphore, uint32_t timeout_ms)

Wait for WLAN semaphore.

void

Update the WLAN command state to free state.

void

Update the WLAN command state to progress state.

void

Posts all waiting WLAN semaphores. This API is typically used to reset the semaphore states.

void
sort_index_based_on_rssi(struct wpa_scan_results_arr *scan_results_array)

Sort the scan list based on rssi value.

unsigned int
get_akm_suites_info(const uint16_t akmcnt, const uint8_t *ie_data)
int
process_scan_results(uint8_t *buf, uint16_t len, int8_t rssi, uint8_t channel, uint16_t freq)

Process received beacons and probe responses.

Function Documentation#

rsi_wlan_cb_init#

int8_t rsi_wlan_cb_init (rsi_wlan_cb_t *wlan_cb)

Initialize the WLAN control block structure.

Parameters
[in]wlan_cb

- Pointer to WLAN cb structure

Returns

  • 0 - Success

  • Non Zero Value - Failure


Definition at line 47 of file driver/rsi_wlan.c

rsi_driver_wlan_send_cmd#

int32_t rsi_driver_wlan_send_cmd (rsi_wlan_cmd_request_t cmd, rsi_pkt_t *pkt)

Fill the command information and place it in the WLAN TX queue.

Parameters
[in]cmd

- Type of the command to send

[in]pkt

- Pointer of the packet to send

Returns

  • 0 - Success

  • Non Zero Value - Failure


Definition at line 109 of file driver/rsi_wlan.c

rsi_extract_filename#

uint8_t * rsi_extract_filename (uint8_t *json, uint8_t *buffer)

Extract file name from the received JSON data.

Parameters
[in]json

- json object data string

[in]buffer

- contains file name

Returns

  • File name extracted


Definition at line 785 of file driver/rsi_wlan.c

rsi_driver_process_wlan_recv_cmd#

int32_t rsi_driver_process_wlan_recv_cmd (rsi_pkt_t *pkt)

Process received WLAN commands.

Parameters
[in]pkt

- Pointer to received RX packet

Returns

  • 0 - Success

  • Non-Zero Value - Failure

Note

  • Memory allocation for the pointer is from receive handler, after processing, it will be freed.


Definition at line 820 of file driver/rsi_wlan.c

rsi_check_wlan_state#

uint32_t rsi_check_wlan_state (void)

Get WLAN status.

Parameters
[in]

Returns

  • Wlan block status

  • 0 - RSI_WLAN_STATE_NONE

  • 1 - RSI_WLAN_STATE_OPERMODE_DONE

  • 2 - RSI_WLAN_STATE_BAND_DONE

  • 3 - RSI_WLAN_STATE_INIT_DONE

  • 4 - RSI_WLAN_STATE_SCAN_DONE

  • 5 - RSI_WLAN_STATE_CONNECTED

  • 6 - RSI_WLAN_STATE_IP_CONFIG_DONE

  • 7 - RSI_WLAN_STATE_IPV6_CONFIG_DONE

  • 8 - RSI_WLAN_STATE_AUTO_CONFIG_GOING_ON

  • 9 - RSI_WLAN_STATE_AUTO_CONFIG_DONE

  • 10- RSI_WLAN_STATE_AUTO_CONFIG_FAILED


Definition at line 2763 of file driver/rsi_wlan.c

rsi_wlan_set_status#

void rsi_wlan_set_status (int32_t status)

Set the WLAN status.

Parameters
[in]status

- Status value to be set

Returns

  • void


Definition at line 2778 of file driver/rsi_wlan.c

rsi_post_waiting_semaphore#

int32_t rsi_post_waiting_semaphore (void)

Post on a waiting semaphore.

Parameters
[in]

Returns

  • 0 - Success

  • Non-Zero Value - Failure


Definition at line 2792 of file driver/rsi_wlan.c

rsi_wlan_check_waiting_socket_cmd#

int32_t rsi_wlan_check_waiting_socket_cmd (void)

Check if any socket command is in waiting state.

Parameters
[in]

Returns

  • 0 - No socket command is in waiting state

  • 1 - Socket command is in waiting state


Definition at line 2877 of file driver/rsi_wlan.c

rsi_wlan_check_waiting_wlan_cmd#

int32_t rsi_wlan_check_waiting_wlan_cmd (void)

Check if any WLAN command is in waiting state.

Parameters
[in]

Returns

  • 0 - Success

  • Non-Zero Value - Failure


Definition at line 2906 of file driver/rsi_wlan.c

rsi_wlan_process_raw_data#

void rsi_wlan_process_raw_data (rsi_pkt_t *pkt)

Receive raw data packet from module.

Parameters
[in]pkt

- pointer to RX pkt

Returns

  • Void

Note

  • Memory allocation for the pointer is from receive handler ,after processing, it will be freed.


Definition at line 2935 of file driver/rsi_wlan.c

rsi_wlan_packet_transfer_done#

void rsi_wlan_packet_transfer_done (rsi_pkt_t *pkt)

Handle packet transfer completion.

Parameters
[in]pkt

- pointer to packet

Returns

  • void


Definition at line 2968 of file driver/rsi_wlan.c

rsi_check_wlan_buffer_full#

void rsi_check_wlan_buffer_full (rsi_pkt_t *pkt)

Clear TX packet, if TX buffer is full.

Parameters
[in]pkt

- Buffer pointer

Note

  • BUFFER_FULL_HANDLING macro should be enabled.

Returns

  • Void


Definition at line 3029 of file driver/rsi_wlan.c

rsi_check_common_buffer_full#

void rsi_check_common_buffer_full (rsi_pkt_t *pkt)

Check if the common buffer is full.

Parameters
[in]pkt

- Buffer pointer

Returns

  • void


Definition at line 3077 of file driver/rsi_wlan.c

rsi_wait_on_wlan_semaphore#

rsi_error_t rsi_wait_on_wlan_semaphore (rsi_semaphore_handle_t *semaphore, uint32_t timeout_ms)

Wait for WLAN semaphore.

Parameters
[in]semaphore

- Semaphore handle pointer

[in]timeout_ms

- Maximum time to wait to acquire semaphore. If timeout_ms is 0, then wait till semaphore is acquired

Returns

  • 0 - Success

  • Non-Zero Value - Failure


Definition at line 3100 of file driver/rsi_wlan.c

rsi_update_wlan_cmd_state_to_free_state#

void rsi_update_wlan_cmd_state_to_free_state (void)

Update the WLAN command state to free state.

Parameters
[in]

Returns

  • Void


Definition at line 3124 of file driver/rsi_wlan.c

rsi_update_wlan_cmd_state_to_progress_state#

void rsi_update_wlan_cmd_state_to_progress_state (void)

Update the WLAN command state to progress state.

Parameters
[in]

Returns

  • Void


Definition at line 3137 of file driver/rsi_wlan.c

rsi_post_waiting_wlan_semaphore#

int32_t rsi_post_waiting_wlan_semaphore (void)

Posts all waiting WLAN semaphores. This API is typically used to reset the semaphore states.

Parameters
[in]

Returns

  • 0 - Success

  • Non-Zero Value - Failure


Definition at line 3153 of file driver/rsi_wlan.c

sort_index_based_on_rssi#

void sort_index_based_on_rssi (struct wpa_scan_results_arr *scan_results_array)

Sort the scan list based on rssi value.

Parameters
[in]scan_results_array

- Pointer to scan results array

Returns

  • void


Definition at line 3205 of file driver/rsi_wlan.c

get_akm_suites_info#

static unsigned int get_akm_suites_info (const uint16_t akmcnt, const uint8_t *ie_data)
Parameters
N/Aakmcnt
N/Aie_data

Definition at line 3241 of file driver/rsi_wlan.c

process_scan_results#

int process_scan_results (uint8_t *buf, uint16_t len, int8_t rssi, uint8_t channel, uint16_t freq)

Process received beacons and probe responses.

Parameters
[in]buf

- Received frame.

[in]len

- Length of the buffer.

[in]rssi

- RSSI value

[in]channel

- Channel in which the frame is received

[in]freq

- Frequency of the channel

Returns

  • 0 - Success

  • Non-Zero Value - failure


Definition at line 3291 of file driver/rsi_wlan.c