CPC
Description
Data Structures | |
struct | sl_cpc_endpoint_handle_t |
Struct representing an CPC endpoint handle. | |
struct | sl_cpc_endpoint_debug_counters_t |
Struct representing CPC Core debug stats. | |
struct | sl_cpc_core_debug_counters_t |
Struct representing CPC Core debug counters. | |
struct | sl_cpc_mem_pool_handle_t |
Struct representing a memory pool handle. | |
struct | sl_cpc_debug_memory_t |
Struct representing a memory pool debug. | |
Functions | |
sl_status_t | sl_cpc_init (void) |
Global variable that contains the core debug information. | |
sl_status_t | sl_cpc_open_user_endpoint (sl_cpc_endpoint_handle_t *endpoint_handle, sl_cpc_user_endpoint_id_t id, uint8_t flags, uint8_t tx_window_size) |
The bare metal process action function. | |
sl_status_t | sl_cpc_set_endpoint_option (sl_cpc_endpoint_handle_t *endpoint_handle, sl_cpc_endpoint_option_t option, void *value) |
Set endpoint option. | |
sl_status_t | sl_cpc_close_endpoint (sl_cpc_endpoint_handle_t *endpoint_handle) |
Close endpoint. | |
sl_status_t | sl_cpc_abort_read (sl_cpc_endpoint_handle_t *endpoint_handle) |
Abort read; Allow unblockling task in blocked by a read. | |
sl_status_t | sl_cpc_read (sl_cpc_endpoint_handle_t *endpoint_handle, void **data, uint16_t *data_length, uint32_t timeout, uint8_t flags) |
Read data. | |
sl_status_t | sl_cpc_write (sl_cpc_endpoint_handle_t *endpoint_handle, void *data, uint16_t data_length, uint8_t flag, void *on_write_completed_arg) |
Write data. | |
sl_cpc_endpoint_state_t | sl_cpc_get_endpoint_state (sl_cpc_endpoint_handle_t *endpoint_handle) |
Get endpoint state. | |
bool | sl_cpc_get_endpoint_encryption (sl_cpc_endpoint_handle_t *endpoint_handle) |
Get endpoint encryption state. | |
sl_status_t | sl_cpc_free_rx_buffer (void *data) |
Free buffer returned by sl_cpc_read(). | |
Macros | |
#define | SL_CPC_OPEN_ENDPOINT_FLAG_NONE 0 |
#define | SL_CPC_OPEN_ENDPOINT_FLAG_DISABLE_ENCRYPTION (0x01 << 3) |
#define | SL_CPC_USER_ENDPOINT_ID_START ((uint8_t)SL_CPC_ENDPOINT_USER_ID_0) |
Struct representing a core debug. | |
#define | SL_CPC_USER_ENDPOINT_ID_END ((uint8_t)(SL_CPC_ENDPOINT_USER_ID_0 + SL_CPC_USER_ENDPOINT_MAX_COUNT - 1)) |
#define | SL_CPC_FLAG_NO_BLOCK 0x01 |
#define | SL_CPC_APP_DATA_MAX_LENGTH (4087) |
#define | SL_CPC_TRANSMIT_WINDOW_MIN_SIZE 1 |
#define | SL_CPC_TRANSMIT_WINDOW_MAX_SIZE 1 |
Typedefs | |
typedef void(* | sl_cpc_on_write_completed_t) (sl_cpc_user_endpoint_id_t endpoint_id, void *buffer, void *arg, sl_status_t status) |
Typedef for the user - supplied callback function which is called when CPC is done with the provided buffer. | |
typedef void(* | sl_cpc_on_data_reception_t) (uint8_t endpoint_id, void *arg) |
Typedef for the user - supplied callback function which is called when CPC receive data on an endpoint. | |
typedef void(* | sl_cpc_on_error_callback_t) (uint8_t endpoint_id, void *arg) |
Typedef for the user-supplied callback function which is called when CPC detects a fatal error on an endpoint. | |
Function Documentation
◆ sl_cpc_init()
sl_status_t sl_cpc_init | ( | void |
| ) |
Global variable that contains the core debug information.
Initialize CPC module.
- Returns
- Status code.
◆ sl_cpc_open_user_endpoint()
sl_status_t sl_cpc_open_user_endpoint | ( | sl_cpc_endpoint_handle_t * | endpoint_handle, |
sl_cpc_user_endpoint_id_t | id, |
||
uint8_t | flags, |
||
uint8_t | tx_window_size |
||
) |
The bare metal process action function.
Open user endpoint.
- Parameters
-
[in] endpoint_handle
Endpoint handle. [in] id
Endpoint ID [90 to 99]. [in] flags
Endpoint type flags. SL_CPC_OPEN_ENDPOINT_FLAG_NONE Default behaviors SL_CPC_OPEN_ENDPOINT_FLAG_DISABLE_ENCRYPTION Disable encryption on the endpoint [in] tx_window_size
Transmit window size.
- Returns
- Status code.
◆ sl_cpc_set_endpoint_option()
sl_status_t sl_cpc_set_endpoint_option | ( | sl_cpc_endpoint_handle_t * | endpoint_handle, |
sl_cpc_endpoint_option_t | option, |
||
void * | value |
||
) |
Set endpoint option.
- Parameters
-
[in] endpoint_handle
Endpoint handle. [in] option
Endpoint Option. [in] value
Pointer to the option value.
- Returns
- Status code.
- Note
- Public options are:
SL_CPC_ENDPOINT_ON_IFRAME_RECEIVE: Set an on iframe receive callback. value is a sl_cpc_on_data_reception_t type.
SL_CPC_ENDPOINT_ON_IFRAME_RECEIVE_ARG: Set an on iframe receive argument.
SL_CPC_ENDPOINT_ON_IFRAME_WRITE_COMPLETED: Set an on iframe write completed callback. value is a sl_cpc_on_write_completed_t type.
SL_CPC_ENDPOINT_ON_ERROR: Set an on error callback. value is a sl_cpc_on_error_callback_t type.
SL_CPC_ENDPOINT_ON_ERROR_ARG: Set an on error callback argument.
◆ sl_cpc_close_endpoint()
sl_status_t sl_cpc_close_endpoint | ( | sl_cpc_endpoint_handle_t * | endpoint_handle | ) |
Close endpoint.
- Parameters
-
[in] endpoint_handle
Endpoint handle.
- Returns
- Status code.
◆ sl_cpc_abort_read()
sl_status_t sl_cpc_abort_read | ( | sl_cpc_endpoint_handle_t * | endpoint_handle | ) |
Abort read; Allow unblockling task in blocked by a read.
- Parameters
-
[in] endpoint_handle
Endpoint handle.
- Returns
- Status code.
- Note
- This function can be called from an ISR.
◆ sl_cpc_read()
sl_status_t sl_cpc_read | ( | sl_cpc_endpoint_handle_t * | endpoint_handle, |
void ** | data, |
||
uint16_t * | data_length, |
||
uint32_t | timeout, |
||
uint8_t | flags |
||
) |
Read data.
- Parameters
-
[in] endpoint_handle
Endpoint handle. [out] data
Address of the variable that will receive the data pointer. [out] data_length
Length of the data contained in the buffer. [in] timeout
Timeout in ticks for the read operation. (Requires RTOS). Note: No effect if SL_CPC_FLAG_NO_BLOCK is provided as a flag [in] flags
Optional flags. i.g. SL_CPC_FLAG_NO_BLOCK. Note: SL_CPC_FLAG_NO_BLOCK will cause the function to return SL_STATUS_EMPTY on kernel applications
- Returns
- Status code.
◆ sl_cpc_write()
sl_status_t sl_cpc_write | ( | sl_cpc_endpoint_handle_t * | endpoint_handle, |
void * | data, |
||
uint16_t | data_length, |
||
uint8_t | flag, |
||
void * | on_write_completed_arg |
||
) |
Write data.
- Parameters
-
[in] endpoint_handle
Endpoint handle. [in] data
Pointer to data buffer. [in] data_length
Length of the data contained in the buffer. [in] flags
Optional flags. [in] on_write_completed_arg
Argument that will be passed to on_write_completed().
- Returns
- Status code.
- Note
- This function cannot be called from an ISR.
◆ sl_cpc_get_endpoint_state()
sl_cpc_endpoint_state_t sl_cpc_get_endpoint_state | ( | sl_cpc_endpoint_handle_t * | endpoint_handle | ) |
Get endpoint state.
- Parameters
-
[in] endpoint_handle
Endpoint handle.
- Returns
- Endpoint state.
◆ sl_cpc_get_endpoint_encryption()
bool sl_cpc_get_endpoint_encryption | ( | sl_cpc_endpoint_handle_t * | endpoint_handle | ) |
Get endpoint encryption state.
- Parameters
-
[in] endpoint_handle
Endpoint handle.
- Returns
- Endpoint encryption state.
◆ sl_cpc_free_rx_buffer()
sl_status_t sl_cpc_free_rx_buffer | ( | void * | data | ) |
Free buffer returned by sl_cpc_read().
- Parameters
-
[in] data
Pointer to data buffer to free.
- Returns
- Status code.
Macro Definition Documentation
◆ SL_CPC_USER_ENDPOINT_ID_START
#define SL_CPC_USER_ENDPOINT_ID_START ((uint8_t)SL_CPC_ENDPOINT_USER_ID_0) |
Struct representing a core debug.
Typedef Documentation
◆ sl_cpc_on_write_completed_t
typedef void(* sl_cpc_on_write_completed_t) (sl_cpc_user_endpoint_id_t endpoint_id, void *buffer, void *arg, sl_status_t status) |
Typedef for the user - supplied callback function which is called when CPC is done with the provided buffer.
- Parameters
-
endpoint_id
Endpoint ID buffer
Pointer to data buffer. arg
Transaction user's argument. status
Status indicating the transaction result: SL_STATUS_OK Remote should have receive the frame SL_STATUS_TRANSMIT_INCOMPLETE Remote has not received the frame.
◆ sl_cpc_on_data_reception_t
typedef void(* sl_cpc_on_data_reception_t) (uint8_t endpoint_id, void *arg) |
Typedef for the user - supplied callback function which is called when CPC receive data on an endpoint.
- Parameters
-
endpoint_id
Endpoint ID arg
User-specific argument .
◆ sl_cpc_on_error_callback_t
typedef void(* sl_cpc_on_error_callback_t) (uint8_t endpoint_id, void *arg) |
Typedef for the user-supplied callback function which is called when CPC detects a fatal error on an endpoint.
- Parameters
-
endpoint_id
Endpoint ID arg
User-specific argument .
Enumeration Type Documentation
◆ sl_cpc_user_endpoint_id_t
Enumeration representing user endpoint.
◆ sl_cpc_endpoint_state_t
Enumeration representing the possible endpoint state.
◆ sl_cpc_endpoint_option_t
Enumeration representing the possible configurable options for an endpoint.