Driver#

Functions#

int8_t
rsi_common_cb_init(rsi_common_cb_t *common_cb)

Initialize common control block structure.

int32_t
rsi_driver_common_send_cmd(rsi_common_cmd_request_t cmd, rsi_pkt_t *pkt)

Fill commands and places into wlan TX queue.

int32_t

Process commands related to common block.

void
rsi_handle_slp_wkp(uint8_t frame_type)

Handle sleep and wakeup.

int8_t

Set wakeup GPIO high and wait for wakeup confirmation pin to get set.

int8_t

Set wakeup GPIO high and waits for wakeup confirmation pin to get set.

void

Set wakeup GPIO low .

void

Initialize GPIOs used in power save .

void

Handle packet transfer completion which has an asyncronous response.

int32_t
rsi_sleep_mode_decision(rsi_common_cb_t *rsi_common_cb)

A handler which decides the power mode to program and change.

int32_t
rsi_send_ps_mode_to_module(uint8_t selected_ps_mode, uint8_t selected_ps_type)

Send the power save command to module

rsi_error_t
rsi_wait_on_common_semaphore(rsi_semaphore_handle_t *semaphore, uint32_t timeout_ms)

Wireless library to acquire or wait for common semaphore.

int32_t
rsi_check_and_update_cmd_state(uint8_t cmd_type, uint8_t cmd_state)

This API is used by wireless library to check and update the command state to progress state.

void

releases all the common semaphores which are on semaphore wait

void

Releases the all bt ,prop_protocol ,ble semaphores.

int32_t

Releases all common ,wlan and nwk semaphores which are on waiting.

void

Check the packet queues and dequeues the packet.

void
rsi_free_queue_pkt(uint8_t pkt_dequeued, rsi_pkt_t *pkt)

free the queued packet.

void
rsi_error_timeout_and_clear_events(int32_t error, uint32_t cmd_type)

Clear the event and gives timeout error.

int32_t
rsi_check_waiting_cmds(rsi_rsp_waiting_cmds_t *response)

Check the commands which are waiting for the response and sets the flag.

int16_t
rsi_secure_ping_pong_wr(uint32_t ping_pong, uint8_t *src_addr, uint16_t size_param)

Write the given data to the specified register address in the Module. This API writes the given data in ping or pong buffer.

int16_t

This API checks for the readiness of the bootloader to receive the commands from the host.

int16_t

Send firmware load request to module or update default configurations.

int32_t

Fast setting of fw_up.

int16_t
rsi_bootloader_instructions(uint8_t type, uint16_t *data)

Send boot instructions to module.

void

Handle the interrupt coming from the module.

void

Mask the TA interrupt.

void

Unmask the TA interrupt.

void

Read the packet from module and process RX packet.

void
rsi_set_event(uint32_t event_num)

Set an event.

void
rsi_clear_event(uint32_t event_num)

Clear an event.

void
rsi_mask_event(uint32_t event_num)

Mask an event specified using the event number.

uint32_t
rsi_find_event(uint32_t event_map)

Find the event which is set from the event map.

uint16_t
rsi_register_event(uint32_t event_id, void(*event_handler_ptr)(void))

Register the event handler for the given event.

void
rsi_set_event_from_isr(uint32_t event_num)

Set the event from isr context.

void

Initialize the events.

void
ROM_WL_rsi_set_event(global_cb_t *global_cb_p, uint32_t event_num)

Set an event.

void
ROM_WL_rsi_clear_event(global_cb_t *global_cb_p, uint32_t event_num)

Clear an event.

void
ROM_WL_rsi_mask_event(global_cb_t *global_cb_p, uint32_t event_num)

Mask an event.

void
ROM_WL_rsi_unmask_event(global_cb_t *global_cb_p, uint32_t event_num)

Unmask an event.

uint32_t
ROM_WL_rsi_find_event(global_cb_t *global_cb_p, uint32_t event_map)

Find the event which is set from the map.

uint16_t
ROM_WL_rsi_register_event(global_cb_t *global_cb_p, uint32_t event_id, void(*event_handler_ptr)(void))

Register the event.

void
ROM_WL_rsi_set_event_from_isr(global_cb_t *global_cb_p, uint32_t event_num)

Set an event from ISR.

void
ROM_WL_rsi_unmask_event_from_isr(global_cb_t *global_cb_p, uint32_t event_num)

Unmask an event from ISR.

int32_t
rsi_pkt_pool_init(rsi_pkt_pool_t *pool_cb, uint8_t *buffer, uint32_t total_size, uint32_t pkt_size)

Initialize/create packet pool from the provided buffer.

rsi_pkt_alloc(rsi_pkt_pool_t *pool_cb)

Allocate packet from a given packet pool.

int32_t
rsi_pkt_free(rsi_pkt_pool_t *pool_cb, rsi_pkt_t *pkt)

Free the packet.

uint32_t
rsi_is_pkt_available(rsi_pkt_pool_t *pool_cb)

Return number of available packets in pool.

int32_t
ROM_WL_rsi_pkt_pool_init(global_cb_t *global_cb_p, rsi_pkt_pool_t *pool_cb, uint8_t *buffer, uint32_t total_size, uint32_t pkt_size)

Initialize/create packet pool from the provided buffer.

ROM_WL_rsi_pkt_alloc_non_blocking(global_cb_t *global_cb_p, rsi_pkt_pool_t *pool_cb)

Allocate packet from a given packet pool.

int32_t
ROM_WL_rsi_pkt_free_non_blocking(global_cb_t *global_cb_p, rsi_pkt_pool_t *pool_cb, rsi_pkt_t *pkt)

Free the packet.

ROM_WL_rsi_pkt_alloc(global_cb_t *global_cb_p, rsi_pkt_pool_t *pool_cb)

Allocate packet from a given packet pool.

int32_t
ROM_WL_rsi_pkt_free(global_cb_t *global_cb_p, rsi_pkt_pool_t *pool_cb, rsi_pkt_t *pkt)

Free the packet.

uint32_t
ROM_WL_rsi_is_pkt_available(global_cb_t *global_cb_p, rsi_pkt_pool_t *pool_cb)

Return number of avaiable packets in pool.

Function Documentation#

rsi_common_cb_init#

int8_t rsi_common_cb_init (rsi_common_cb_t * common_cb)

Initialize common control block structure.

Parameters
[in]common_cb

- pointer to common cb structure

Returns

  • 0 - Success Non-Zero Value - Failure


Definition at line 45 of file driver/rsi_common.c

rsi_driver_common_send_cmd#

int32_t rsi_driver_common_send_cmd (rsi_common_cmd_request_t cmd, rsi_pkt_t * pkt)

Fill commands and places into wlan TX queue.

Parameters
[in]cmd

- type of the command to send

[in]pkt

- pointer of packet to send

Returns

  • 0 - Success Non-Zero Value - Failure


Definition at line 113 of file driver/rsi_common.c

rsi_driver_process_common_recv_cmd#

int32_t rsi_driver_process_common_recv_cmd (rsi_pkt_t * pkt)

Process commands related to common block.

Parameters
[in]pkt

- pointer to common block packet

Returns

  • 0 - Success Non-Zero Value - Failure


Definition at line 430 of file driver/rsi_common.c

rsi_handle_slp_wkp#

void rsi_handle_slp_wkp (uint8_t frame_type)

Handle sleep and wakeup.

Parameters
[in]frame_type

- Frame type

Returns

  • void


Definition at line 891 of file driver/rsi_common.c

rsi_req_wakeup#

int8_t rsi_req_wakeup (void )

Set wakeup GPIO high and wait for wakeup confirmation pin to get set.

Parameters
[in]

Returns

  • 0 - Success Non-Zero Value - Failure


Definition at line 954 of file driver/rsi_common.c

rsi_wait4wakeup#

int8_t rsi_wait4wakeup (void )

Set wakeup GPIO high and waits for wakeup confirmation pin to get set.

Parameters
[in]

Returns

  • 0 - Success Non-Zero Value - Failure


Definition at line 1010 of file driver/rsi_common.c

rsi_allow_sleep#

void rsi_allow_sleep (void )

Set wakeup GPIO low .

Parameters
[in]

Returns

  • void


Definition at line 1067 of file driver/rsi_common.c

rsi_powersave_gpio_init#

void rsi_powersave_gpio_init (void )

Initialize GPIOs used in power save .

Parameters
[in]

Returns

  • void


Definition at line 1089 of file driver/rsi_common.c

rsi_common_packet_transfer_done#

void rsi_common_packet_transfer_done (rsi_pkt_t * pkt)

Handle packet transfer completion which has an asyncronous response.

Parameters
[in]pkt

- pointer to packet

Returns

  • void


Definition at line 1112 of file driver/rsi_common.c

rsi_sleep_mode_decision#

int32_t rsi_sleep_mode_decision (rsi_common_cb_t * rsi_common_cb)

A handler which decides the power mode to program and change.

Parameters
[in]rsi_common_cb

- pointer to the common control block

Returns

  • 0 - Success Non-Zero Value - Failure


Definition at line 1130 of file driver/rsi_common.c

rsi_send_ps_mode_to_module#

int32_t rsi_send_ps_mode_to_module (uint8_t selected_ps_mode, uint8_t selected_ps_type)

Send the power save command to module

Parameters
[in]selected_ps_mode

- Select power save mode

[in]selected_ps_type

- Select power save type

Returns

  • 0 - Success Non-Zero Value - Failure


Definition at line 1229 of file driver/rsi_common.c

rsi_wait_on_common_semaphore#

rsi_error_t rsi_wait_on_common_semaphore (rsi_semaphore_handle_t * semaphore, uint32_t timeout_ms)

Wireless library to acquire or wait for common 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 acquire semaphore.

Returns

  • 0 - Success Non-Zero Value - Failure


Definition at line 1353 of file driver/rsi_common.c

rsi_check_and_update_cmd_state#

int32_t rsi_check_and_update_cmd_state (uint8_t cmd_type, uint8_t cmd_state)

This API is used by wireless library to check and update the command state to progress state.

Parameters
[in]cmd_type

- Command type 1 - COMMON_CMD 2 - WLAN_CMD 3 - NWK_CMD

[in]cmd_state

- command state 1 - IN_USE 2 - ALLOW

Returns

  • 0 - Success Non-Zero Value - Failure


Definition at line 1382 of file driver/rsi_common.c

Referenced by rsi_wireless_init , rsi_cmd_uart_flow_ctrl , rsi_cmd_to_wr_comm_flash , rsi_cmd_m4_ta_secure_handshake , rsi_wireless_deinit , rsi_wireless_antenna , rsi_send_feature_frame_dyn , rsi_send_feature_frame , rsi_get_fw_version , rsi_common_debug_log , rsi_switch_proto , rsi_set_rtc_timer , rsi_get_ram_log , rsi_get_rtc_timer , rsi_set_config , rsi_assert , rsi_gpio_pininit , rsi_gpio_writepin , rsi_gpio_readpin , rsi_sha_pen , rsi_hmac_sha_pen , rsi_exponentiation , rsi_ecdh_point_multiplication , rsi_ecdh_point_addition , rsi_ecdh_point_subtraction , rsi_ecdh_point_double , rsi_ecdh_point_affine , rsi_dhcp_user_class , rsi_dns_req , rsi_dns_update , rsi_emb_mqtt_client_init , rsi_emb_mqtt_connect , rsi_emb_mqtt_publish , rsi_emb_mqtt_subscribe , rsi_emb_mqtt_unsubscribe , rsi_emb_mqtt_disconnect , rsi_emb_mqtt_destroy , rsi_ftp_connect , rsi_ftp_disconnect , rsi_ftp_file_write , rsi_ftp_file_write_content , rsi_ftp_file_read_aysnc , rsi_ftp_file_delete , rsi_ftp_file_rename , rsi_ftp_directory_create , rsi_ftp_directory_delete , rsi_ftp_directory_set , rsi_ftp_directory_list_async , rsi_ftp_mode_set , rsi_ftp_file_size_set , rsi_http_client_async , rsi_http_client_abort , rsi_http_client_put_create , rsi_http_client_put_delete , rsi_http_client_put_start , rsi_http_client_put_pkt , rsi_http_client_post_data , rsi_http_otaf_async , rsi_webpage_load , rsi_json_object_create , rsi_webpage_erase , rsi_json_object_delete , rsi_webpage_send , rsi_http_credentials , rsi_mdnsd_init , rsi_mdnsd_register_service , rsi_mdnsd_deinit , rsi_ota_firmware_upgradation , rsi_pop3_session_create_async , rsi_pop3_session_delete , rsi_pop3_get_mail_stats , rsi_pop3_get_mail_list , rsi_pop3_retrive_mail , rsi_pop3_mark_mail , rsi_pop3_unmark_mail , rsi_pop3_get_server_status , rsi_smtp_client_create , rsi_smtp_client_mail_send_async , rsi_smtp_client_delete_async , rsi_sntp_client_create_async , rsi_sntp_client_gettime , rsi_sntp_client_gettime_date , rsi_sntp_client_server_info , rsi_sntp_client_delete_async , rsi_wlan_radio_init , rsi_wlan_filter_broadcast , rsi_wlan_scan_with_bitmap_options , rsi_wlan_scan_async_with_bitmap_options , rsi_wlan_scan , rsi_wlan_scan_async , rsi_wlan_connect , rsi_wlan_connect_async , rsi_wlan_bgscan_profile , rsi_wlan_execute_post_connect_cmds , rsi_wlan_wps_push_button_event , rsi_send_freq_offset , rsi_calib_write , rsi_wlan_wps_generate_pin , rsi_wlan_wps_enter_pin , rsi_get_random_bytes , rsi_wlan_disconnect , rsi_wlan_disconnect_stations , rsi_config_ipaddress , rsi_wlan_set_certificate_index , rsi_wlan_get , rsi_wlan_set , rsi_wlan_buffer_config , rsi_wlan_ap_start , rsi_transmit_test_start , rsi_transmit_test_stop , rsi_wlan_receive_stats_start , rsi_wlan_receive_stats_stop , rsi_wlan_wfd_start_discovery , rsi_wlan_wfd_connect , rsi_wlan_ping_async , rsi_wlan_add_profile , rsi_wlan_get_profile , rsi_wlan_delete_profile , rsi_wlan_enable_auto_config , rsi_wlan_pmk_generate , rsi_wlan_set_sleep_timer , rsi_socket_config , and rsi_wlan_update_gain_table

rsi_post_waiting_common_semaphore#

void rsi_post_waiting_common_semaphore (void )

releases all the common semaphores which are on semaphore wait

Parameters
[in]

Returns

  • void


Definition at line 1466 of file driver/rsi_common.c

rsi_post_waiting_bt_semaphore#

void rsi_post_waiting_bt_semaphore (void )

Releases the all bt ,prop_protocol ,ble semaphores.

Parameters
[in]

Returns

  • void


Definition at line 1501 of file driver/rsi_common.c

rsi_release_waiting_semaphore#

int32_t rsi_release_waiting_semaphore (void )

Releases all common ,wlan and nwk semaphores which are on waiting.

Parameters
[in]

Returns

  • 0 - Success


Definition at line 1560 of file driver/rsi_common.c

rsi_check_pkt_queue_and_dequeue#

void rsi_check_pkt_queue_and_dequeue (void )

Check the packet queues and dequeues the packet.

Parameters
[in]

Returns

  • void


Definition at line 1599 of file driver/rsi_common.c

rsi_free_queue_pkt#

void rsi_free_queue_pkt (uint8_t pkt_dequeued, rsi_pkt_t * pkt)

free the queued packet.

Parameters
[in]pkt_dequeued

- pkt to be free

[in]pkt

- pointer of the packet to be free

Returns

  • void


Definition at line 1673 of file driver/rsi_common.c

rsi_error_timeout_and_clear_events#

void rsi_error_timeout_and_clear_events (int32_t error, uint32_t cmd_type)

Clear the event and gives timeout error.

Parameters
[in]error

- Error

[in]cmd_type

- command type

Returns

  • void


Definition at line 1711 of file driver/rsi_common.c

rsi_check_waiting_cmds#

void rsi_check_waiting_cmds (rsi_rsp_waiting_cmds_t * reponse)

Check the commands which are waiting for the response and sets the flag.

Parameters
[in]reponse

- Buffer

Returns

  • void


Definition at line 1747 of file driver/rsi_common.c

rsi_secure_ping_pong_wr#

int16_t rsi_secure_ping_pong_wr (uint32_t ping_pong, uint8_t * src_addr, uint16_t size_param)

Write the given data to the specified register address in the Module. This API writes the given data in ping or pong buffer.

Parameters
[in]ping_pong

- ping or pong buffer write

[in]src_addr

- Number of bytes to read. (def: 2 since we have 16 bit regs)

[in]size_param

- pointer contain the buffer of content to be written

Returns

  • 0 - Success Non-Zero Value - Failure


Definition at line 52 of file driver/rsi_device_init.c

rsi_bl_waitfor_boardready#

int16_t rsi_bl_waitfor_boardready (void )

This API checks for the readiness of the bootloader to receive the commands from the host.

Parameters
[in]

Returns

  • 0 - Success Negative Value - Failure -3 - Board ready not received -4 - Bootup options last configuration not saved -5 - Bootup options checksum failed -6 - Bootloader version mismatch


Definition at line 138 of file driver/rsi_device_init.c

rsi_bl_select_option#

int16_t rsi_bl_select_option (uint8_t cmd)

Send firmware load request to module or update default configurations.

Parameters
[in]cmd

- type of configuration to be saved BURN_NWP_FW - 0x42 LOAD_NWP_FW - 0x31 LOAD_DEFAULT_NWP_FW_ACTIVE_LOW - 0x71

Returns

  • 0 - Success Non-Zero Value - Failure -28 - Firmware Load or Upgrade timeout error -14 - Valid Firmware not present -15 - Invalid Option


Definition at line 189 of file driver/rsi_device_init.c

rsi_set_fast_fw_up#

int32_t rsi_set_fast_fw_up (void )

Fast setting of fw_up.

Parameters
[in]

Returns

  • 0 - Success Non-Zero Value - Failure


Definition at line 401 of file driver/rsi_device_init.c

rsi_bootloader_instructions#

int16_t rsi_bootloader_instructions (uint8_t type, uint16_t * data)

Send boot instructions to module.

Parameters
[in]type

- type of the insruction to perform 0xD1 - RSI_REG_READ 0xD2 - RSI_REG_WRITE 0xD5 - RSI_PING_WRITE 0xD4 - RSI_PONG_WRITE 0x42 - BURN_NWP_FW 0x31 - LOAD_NWP_FW 0x71 - LOAD_DEFAULT_NWP_FW_ACTIVE_LOW

[in]data

- pointer to data which is to be read/write

Returns

  • 0 - Success Non-Zero Value - Failure -28 - Firmware Load or Upgrade timeout error -2 - Invalid Parameter -1 or -2 - SPI Failure

Note

  • This is a proprietry API and it is not recommended to be used by the user directly.


Definition at line 466 of file driver/rsi_device_init.c

rsi_interrupt_handler#

void rsi_interrupt_handler (void )

Handle the interrupt coming from the module.

Parameters
[in]

Returns

  • void


Definition at line 34 of file driver/rsi_driver.c

rsi_mask_ta_interrupt#

void rsi_mask_ta_interrupt (void )

Mask the TA interrupt.

Parameters
[in]

Returns

  • void


Definition at line 57 of file driver/rsi_driver.c

rsi_unmask_ta_interrupt#

void rsi_unmask_ta_interrupt (void )

Unmask the TA interrupt.

Parameters
[in]

Returns

  • void


Definition at line 74 of file driver/rsi_driver.c

rsi_rx_event_handler#

void rsi_rx_event_handler (void )

Read the packet from module and process RX packet.

Parameters
[in]

Returns

  • void


Definition at line 617 of file driver/rsi_driver_event_handlers.c

rsi_set_event#

void rsi_set_event (uint32_t event_num)

Set an event.

Parameters
[in]event_num

- Event number to be set

Returns

  • void


Definition at line 137 of file driver/rsi_events.c

rsi_clear_event#

void rsi_clear_event (uint32_t event_num)

Clear an event.

Parameters
[in]event_num

- Event number to clear

Returns

  • void


Definition at line 155 of file driver/rsi_events.c

rsi_mask_event#

void rsi_mask_event (uint32_t event_num)

Mask an event specified using the event number.

Parameters
[in]event_num

- Event number to mask

Returns

  • void


Definition at line 172 of file driver/rsi_events.c

rsi_find_event#

uint32_t rsi_find_event (uint32_t event_map)

Find the event which is set from the event map.

Parameters
[in]event_map

- Event map

Returns

  • 0 - Success Non-Zero Value - Failure


Definition at line 236 of file driver/rsi_events.c

rsi_register_event#

uint16_t rsi_register_event (uint32_t event_id, void(*)(void) event_handler_ptr)

Register the event handler for the given event.

Parameters
[in]event_id

- event number which needs to be registered

[in]event_handler_ptr

- event handler which needs to be registered for a given event

Returns

  • 0 - Success 1 - Error


Definition at line 256 of file driver/rsi_events.c

rsi_set_event_from_isr#

void rsi_set_event_from_isr (uint32_t event_num)

Set the event from isr context.

Parameters
[in]event_num

- Event number to mask

Returns

  • void


Definition at line 274 of file driver/rsi_events.c

rsi_events_init#

void rsi_events_init (void )

Initialize the events.

Parameters
[in]

Returns

  • void


Definition at line 293 of file driver/rsi_events.c

ROM_WL_rsi_set_event#

void ROM_WL_rsi_set_event (global_cb_t * global_cb_p, uint32_t event_num)

Set an event.

Parameters
[in]global_cb_p

- pointer to the common buffer

[in]event_num

- event number to be set

Returns

  • void


Definition at line 41 of file driver/rsi_events_rom.c

ROM_WL_rsi_clear_event#

void ROM_WL_rsi_clear_event (global_cb_t * global_cb_p, uint32_t event_num)

Clear an event.

Parameters
[in]global_cb_p

- pointer to the common buffer

[in]event_num

- event number to clear

Returns

  • void


Definition at line 81 of file driver/rsi_events_rom.c

ROM_WL_rsi_mask_event#

void ROM_WL_rsi_mask_event (global_cb_t * global_cb_p, uint32_t event_num)

Mask an event.

Parameters
[in]global_cb_p

- pointer to the common buffer

[in]event_num

- event number to mask

Returns

  • void


Definition at line 107 of file driver/rsi_events_rom.c

ROM_WL_rsi_unmask_event#

void ROM_WL_rsi_unmask_event (global_cb_t * global_cb_p, uint32_t event_num)

Unmask an event.

Parameters
[in]global_cb_p

- pointer to the common buffer

[in]event_num

- event number to unmask

Returns

  • void


Definition at line 132 of file driver/rsi_events_rom.c

ROM_WL_rsi_find_event#

uint32_t ROM_WL_rsi_find_event (global_cb_t * global_cb_p, uint32_t event_map)

Find the event which is set from the map.

Parameters
[in]global_cb_p

- pointer to the common buffer

[in]event_map

- event map

Returns

  • Event number


Definition at line 162 of file driver/rsi_events_rom.c

ROM_WL_rsi_register_event#

uint16_t ROM_WL_rsi_register_event (global_cb_t * global_cb_p, uint32_t event_id, void(*)(void) event_handler_ptr)

Register the event.

Parameters
[in]global_cb_p

- pointer to the common buffer

[in]event_id

- event number which needs to be registered

[in]event_handler_ptr

- event handler which needs to be registered for a given event

Returns

  • 0 - Success 1 - Error


Definition at line 185 of file driver/rsi_events_rom.c

ROM_WL_rsi_set_event_from_isr#

void ROM_WL_rsi_set_event_from_isr (global_cb_t * global_cb_p, uint32_t event_num)

Set an event from ISR.

Parameters
[in]global_cb_p

- pointer to the common buffer

[in]event_num

- event number to be set

Returns

  • void


Definition at line 212 of file driver/rsi_events_rom.c

ROM_WL_rsi_unmask_event_from_isr#

void ROM_WL_rsi_unmask_event_from_isr (global_cb_t * global_cb_p, uint32_t event_num)

Unmask an event from ISR.

Parameters
[in]global_cb_p

- pointer to the common buffer

[in]event_num

- event number to unmask

Returns

  • void


Definition at line 237 of file driver/rsi_events_rom.c

rsi_pkt_pool_init#

int32_t rsi_pkt_pool_init (rsi_pkt_pool_t * pool_cb, uint8_t * buffer, uint32_t total_size, uint32_t pkt_size)

Initialize/create packet pool from the provided buffer.

Parameters
[in]pool_cb

- packet pool pointer which needs to be initialized

[in]buffer

- buffer pointer to create pool

[in]total_size

- size of pool to create

[in]pkt_size

- size of each packet in pool

Returns

  • 0 - Success Negative Value - Failure


Definition at line 38 of file driver/rsi_pkt_mgmt.c

rsi_pkt_alloc#

rsi_pkt_t * rsi_pkt_alloc (rsi_pkt_pool_t * pool_cb)

Allocate packet from a given packet pool.

Parameters
[in]pool_cb

- packet pool pointer from which packet needs to be allocated

Returns

  • 0 - Success Positive Value - Failure


Definition at line 57 of file driver/rsi_pkt_mgmt.c

rsi_pkt_free#

int32_t rsi_pkt_free (rsi_pkt_pool_t * pool_cb, rsi_pkt_t * pkt)

Free the packet.

Parameters
[in]pool_cb

- packet pool to which packet needs to be freed

[in]pkt

- packet pointer which needs to be freed

Returns

  • 0 - Success Non-Zero Value - Failure


Definition at line 77 of file driver/rsi_pkt_mgmt.c

rsi_is_pkt_available#

uint32_t rsi_is_pkt_available (rsi_pkt_pool_t * pool_cb)

Return number of available packets in pool.

Parameters
[in]pool_cb

- pool pointer to check available packet count

Returns

  • >=0 - Number of packets in pool


Definition at line 95 of file driver/rsi_pkt_mgmt.c

ROM_WL_rsi_pkt_pool_init#

int32_t ROM_WL_rsi_pkt_pool_init (global_cb_t * global_cb_p, rsi_pkt_pool_t * pool_cb, uint8_t * buffer, uint32_t total_size, uint32_t pkt_size)

Initialize/create packet pool from the provided buffer.

Parameters
[in]global_cb_p

- pointer to the global control block

[in]pool_cb

- packet pool pointer which needs to be initialized

[in]buffer

- buffer pointer to create pool

[in]total_size

- size of pool to create

[in]pkt_size

- size of each packet in pool

Returns

  • 0 - Success Negative value - Failure


Definition at line 41 of file driver/rsi_pkt_mgmt_rom.c

ROM_WL_rsi_pkt_alloc_non_blocking#

rsi_pkt_t * ROM_WL_rsi_pkt_alloc_non_blocking (global_cb_t * global_cb_p, rsi_pkt_pool_t * pool_cb)

Allocate packet from a given packet pool.

Parameters
[in]global_cb_p

- pointer to the global control block

[in]pool_cb

- packet pool pointer from which packet needs to be allocated

Returns

  • Allocated packet pointer if Success NULL - If allocation fails


Definition at line 116 of file driver/rsi_pkt_mgmt_rom.c

ROM_WL_rsi_pkt_free_non_blocking#

int32_t ROM_WL_rsi_pkt_free_non_blocking (global_cb_t * global_cb_p, rsi_pkt_pool_t * pool_cb, rsi_pkt_t * pkt)

Free the packet.

Parameters
[in]global_cb_p

- pointer to the global control block

[in]pool_cb

- packet pool pointer from which packet needs to be allocated

[in]pkt

- packet pointer which needs to be freed

Returns

  • 0 - Success Negative Value - Failure


Definition at line 167 of file driver/rsi_pkt_mgmt_rom.c

ROM_WL_rsi_pkt_alloc#

rsi_pkt_t * ROM_WL_rsi_pkt_alloc (global_cb_t * global_cb_p, rsi_pkt_pool_t * pool_cb)

Allocate packet from a given packet pool.

Parameters
[in]global_cb_p

- pointer to the global control block

[in]pool_cb

- packet pool pointer from which packet needs to be allocated

Returns

  • Allocated packet pointer if Success NULL - If allocation fails


Definition at line 210 of file driver/rsi_pkt_mgmt_rom.c

ROM_WL_rsi_pkt_free#

int32_t ROM_WL_rsi_pkt_free (global_cb_t * global_cb_p, rsi_pkt_pool_t * pool_cb, rsi_pkt_t * pkt)

Free the packet.

Parameters
[in]global_cb_p

- pointer to the global control block

[in]pool_cb

- packet pool to which packet needs to be freed

[in]pkt

- packet pointer which needs to be freed

Returns

  • 0 - Success Negative Value - Failure


Definition at line 260 of file driver/rsi_pkt_mgmt_rom.c

ROM_WL_rsi_is_pkt_available#

uint32_t ROM_WL_rsi_is_pkt_available (global_cb_t * global_cb_p, rsi_pkt_pool_t * pool_cb)

Return number of avaiable packets in pool.

Parameters
[in]global_cb_p

- pointer to the global control block

[in]pool_cb

- pool pointer to check available pakcets count

Returns

  • Number of packet in pool


Definition at line 301 of file driver/rsi_pkt_mgmt_rom.c