Multi Channel encapsulation and decapsulation module.
More...
|
| static void | on_multi_channel_send_complete (uint8_t status, const zwapi_tx_report_t *tx_info, void *user) |
| | Callback function registered to Z-Wave TX zwave_tx_send_data. More...
|
| |
| static sl_status_t | zwave_command_class_multi_channel_send_data (const zwave_controller_connection_info_t *connection, uint16_t data_length, const uint8_t *data, const zwave_tx_options_t *tx_options, const on_zwave_tx_send_data_complete_t on_multi_channel_complete, void *user, zwave_tx_session_id_t parent_session_id) |
| | Encapsulates with Multi Channel and send a frame to the Z-Wave TX queue. More...
|
| |
| static sl_status_t | zwave_command_class_multi_channel_decapsulate (const zwave_controller_connection_info_t *connection_info, const zwave_rx_receive_options_t *rx_options, const uint8_t *frame_data, uint16_t frame_length) |
| | Decapsulate Multi Channel encapsulation and inject the frame back to the Z-Wave Controller. More...
|
| |
| static sl_status_t | zwave_command_class_multi_channel_abort_send_data (zwave_tx_session_id_t session_id) |
| |
Multi Channel encapsulation and decapsulation module.
This module allows to send and receive Multi Channel encapsulated frames.
◆ on_multi_channel_send_complete()
| static void on_multi_channel_send_complete |
( |
uint8_t |
status, |
|
|
const zwapi_tx_report_t * |
tx_info, |
|
|
void * |
user |
|
) |
| |
|
static |
◆ zwave_command_class_multi_channel_abort_send_data()
◆ zwave_command_class_multi_channel_decapsulate()
Decapsulate Multi Channel encapsulation and inject the frame back to the Z-Wave Controller.
The provided payload will be Multi Channel decapsulated and the endpoint data will be copied in connection->remote.endpoint_id and connection->local.endpoint_id and passed to the zwave_controller_on_frame_received() function.
Bit addressing can be used by setting the endpoint value directly (1 bit bit addressing and 7 bits endpoint identifier)
- Parameters
-
| connection_info | Connection object describing the source and destination. |
| rx_options | Connection object describing the source and destination. |
| frame_data | Length of the frame to send |
| frame_length | Points to the payload to send |
- Returns
- SL_STATUS_NOT_SUPPORTED if the frame data is not multi channel encapsulated properly to generate a decapsulated frame
- SL_STATUS_NOT_FOUND if the frame is not encapsulated but should not be discarded.
- SL_STATUS_WOULD_OVERFLOW If the decapsulated frame is too large to fit in our local buffer
- SL_STATUS_OK If the frame was decapsulated and should be discarded because its decapsulated version has been passed to the Z-Wave Controller.
◆ zwave_command_class_multi_channel_send_data()
Encapsulates with Multi Channel and send a frame to the Z-Wave TX queue.
The provided payload will be Multi Channel encapsulated using the endpoint data provided in connection->remote.endpoint_id and connection->local.endpoint_id.
Bit addressing can be used by setting the endpoint value directly (1 bit bit addressing and 7 bits endpoint identifier)
- Parameters
-
| connection | Connection object describing the source and destination. If either the source or destination endpoints ID are not null, the frame will be Multi Channel encapsulated. |
| data_length | Length of the frame to send |
| data | Points to the payload to send |
| tx_options | Transmit options to use. |
| on_multi_channel_complete | Callback function that will be called when the send operation has completed |
| user | User pointer passed in argument of the on_send_complete callback function |
| parent_session_id | Value of the frame in the TX Queue that is the parent of this frame. Frames MUST have a valid parent |
- Returns
- SL_STATUS_OK The transmission request has been accepted and callback will be triggered when the operation is completed.
- SL_STATUS_NOT_SUPPORTED If no endpoint encapsulation is to be applied
- SL_STATUS_BUSY If the transmission cannot be done at the moment.