OTA Firmware Client#
Functions#
Create an OTAF client. Initialize the client with a given configuration. This is a non-blocking API.
Create POP3 client session. This is a non-blocking API.
Delete POP3 client session. This is a non-blocking API.
Get POP3 client mail stats. This is a non-blocking API.
Get the size of the mail for the passed mail index of the POP2 client. This is a blocking API.
Retrieve mail content for the passed mail index of POP3 client. This is a non-blocking API.
Mark a mail as deleted for the passed mail index of POP3 client.This is a non-blocking API.
Unmark all the marked (deleted) mails of POP3 client in the current session. This is a non-blocking API.
Get the POP3 server status. This is a non-blocking API.
Function Documentation#
rsi_ota_firmware_upgradation#
int32_t rsi_ota_firmware_upgradation (uint8_t flags, uint8_t * server_ip, uint32_t server_port, uint16_t chunk_number, uint16_t timeout, uint16_t tcp_retry_count, void(*)(uint16_t status, uint16_t chunk_number) ota_fw_up_response_handler, status, chunk_number)
Create an OTAF client. Initialize the client with a given configuration. This is a non-blocking API.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| uint8_t | [in] | flags | - Select the IP version. BIT(0) – RSI_IPV6: Set this bit to enable IPv6 , by default it is configured to IPv4 | 
| uint8_t * | [in] | server_ip | - OTAF server IP address | 
| uint32_t | [in] | server_port | - OTAF server port number | 
| uint16_t | [in] | chunk_number | - Firmware content request chunk number | 
| uint16_t | [in] | timeout | - TCP receive packet timeout | 
| uint16_t | [in] | tcp_retry_count | - TCP retransmissions count | 
| void(*)(uint16_t status, uint16_t chunk_number) | [in] | ota_fw_up_response_handler | - Callback when asynchronous response is received from module for firmware update request. Callback parameters: status and chunk_number | 
| [out] | status | - Status code | |
| [out] | chunk_number | - Chunk number of the firmware content | 
Returns
- 0 - Success 
- Negative Value - Failure (Possible Error Codes - 0xfffffffd,0xfffffffa) 
Note
- Precondition - rsi_config_ipaddress() API needs to be called before this API. 
- For safe firmware upgrade via TCP server, it will take approx. 65 sec duration for upgrading the firmware of 1.5 MB file. 
- Refer to Error Codes for the description of above error codes. 
rsi_pop3_session_create_async#
int32_t rsi_pop3_session_create_async (uint8_t flags, uint8_t * server_ip_address, uint16_t server_port_number, uint8_t auth_type, uint8_t * username, uint8_t * password, void(*)(uint16_t status, uint8_t type, const uint8_t *buffer) rsi_pop3_client_mail_response_handler, status, type, buffer)
Create POP3 client session. This is a non-blocking API.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| uint8_t | [in] | flags | - Select the IP version. BIT(0) – RSI_IPV6: Set this bit to enable IPv6, by default it is configured to IPv4 | 
| uint8_t * | [in] | server_ip_address | - POP3 server IP address | 
| uint16_t | [in] | server_port_number | - POP3 server TCP port | 
| uint8_t | [in] | auth_type | - Client authentication type | 
| uint8_t * | [in] | username | - Username for authentication. It must be a NULL terminated string | 
| uint8_t * | [in] | password | - Password for authentication. It must be a NULL terminated string | 
| void(*)(uint16_t status, uint8_t type, const uint8_t *buffer) | [in] | rsi_pop3_client_mail_response_handler | - Callback when asynchronous response comes for the session create. The callback parameters are: status,type, and buffer | 
| [out] | status | - Status code | |
| [out] | type | - Sub-command type | |
| [out] | buffer | - Buffer pointer | 
Returns
- 0 - Success 
- Non-Zero Value - Failure (Possible Error Codes - 0xfffffffd,0xfffffffa,0x0021,0x0015,0xBB87,0xFF74) 
Note
- This API is not supported currently 
- Precondition - rsi_config_ipaddress() API needs to be called before this API. 
- Refer to Error Codes for the description of above error codes. 
rsi_pop3_session_delete#
int32_t rsi_pop3_session_delete (void )
Delete POP3 client session. This is a non-blocking API.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| void | [in] | 
Returns
- 0 - Success 
- Non-Zero Value - Failure (Possible Error Codes - 0xfffffffd,0xfffffffa,0x0021,0xBB87,0xFF74) 
Note
- This API is not supported currently 
- Precondition - rsi_config_ipaddress() API needs to be called before this API. 
- Refer to Error Codes for the description of above error codes. 
rsi_pop3_get_mail_stats#
int32_t rsi_pop3_get_mail_stats (void )
Get POP3 client mail stats. This is a non-blocking API.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| void | [in] | 
Returns
- 0 - Success 
- Non-Zero Value - Failure (Possible Error Codes - 0xfffffffd,0xfffffffa,0x0021,0xBB87,0xFF74) 
Note
- This API is not supported currently 
- Precondition - rsi_config_ipaddress() API needs to be called before this API. 
- Refer to Error Codes for the description of above error codes. 
rsi_pop3_get_mail_list#
int32_t rsi_pop3_get_mail_list (uint16_t mail_index)
Get the size of the mail for the passed mail index of the POP2 client. This is a blocking API.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| uint16_t | [in] | mail_index | - Mail index to get the size of the mail | 
Returns
- 0 - Success 
- Non-Zero Value - Failure (Possible Error Codes - 0xfffffffd,0xfffffffa,0x0021,0xBB87,0xBBFF,0xFF74) 
Note
- This API is not supported currently 
- Precondition - rsi_config_ipaddress() API needs to be called before this API. 
- Refer to Error Codes for the description of above error codes. 
rsi_pop3_retrive_mail#
int32_t rsi_pop3_retrive_mail (uint16_t mail_index)
Retrieve mail content for the passed mail index of POP3 client. This is a non-blocking API.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| uint16_t | [in] | mail_index | - Mail index to get the mail content for the passed index | 
Returns
- 0 - Success 
- Non-Zero Value - Failure (Possible Error Codes - 0xfffffffd,0xfffffffa,0x0021,0xBB87,0xBBFF,0xBBC5,0xFF74) 
Note
- This API is not supported currently 
- Precondition - rsi_config_ipaddress() API needs to be called before this API. 
- Refer to Error Codes for the description of above error codes. 
rsi_pop3_mark_mail#
int32_t rsi_pop3_mark_mail (uint16_t mail_index)
Mark a mail as deleted for the passed mail index of POP3 client.This is a non-blocking API.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| uint16_t | [in] | mail_index | - Mail index to mark the mail as deleted | 
Returns
- 0 - Success 
- Non-Zero Value - Failure (Possible Error Codes - 0xfffffffd,0xfffffffa,0x0021,0xBB87,0xBBFF,0xFF74) 
Note
- This API is not supported currently 
- Precondition - rsi_config_ipaddress() API needs to be called before this API. 
- Refer to Error Codes for the description of above error codes. 
rsi_pop3_unmark_mail#
int32_t rsi_pop3_unmark_mail (void )
Unmark all the marked (deleted) mails of POP3 client in the current session. This is a non-blocking API.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| void | [in] | 
Returns
- 0 - Success 
- Non-Zero Value - Failure (Possible Error Codes - 0xfffffffd,0xfffffffa,0x0021,0xBB87,0xFF74) 
Note
- This API is not supported currently 
- Precondition - rsi_config_ipaddress() API needs to be called before this API. 
- Refer to Error Codes for the description of above error codes. 
rsi_pop3_get_server_status#
int32_t rsi_pop3_get_server_status (void )
Get the POP3 server status. This is a non-blocking API.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| void | [in] | 
Returns
- 0 - Success 
- Non-Zero Value - Failure (Possible Error Codes - 0xfffffffd,0xfffffffa,0x0021,0xBB87,0xFF74) 
Note
- This API is not supported currently 
- Precondition - rsi_config_ipaddress() API needs to be called before this API. 
- Refer to Error Codes for the description of above error codes.