Z-Wave Protocol Controller Reference
zwave_s0_transport.h
Go to the documentation of this file.
1/******************************************************************************
2 * # License
3 * <b>Copyright 2021 Silicon Laboratories Inc. www.silabs.com</b>
4 ******************************************************************************
5 * The licensor of this software is Silicon Laboratories Inc. Your use of this
6 * software is governed by the terms of Silicon Labs Master Software License
7 * Agreement (MSLA) available at
8 * www.silabs.com/about-us/legal/master-software-license-agreement. This
9 * software is distributed to you in Source Code format and is governed by the
10 * sections of the MSLA applicable to Source Code.
11 *
12 *****************************************************************************/
13
22#ifndef ZWAVE_S0_TRANSPORT_H
23#define ZWAVE_S0_TRANSPORT_H
24
25#include "sl_status.h"
27#include "zwave_rx.h"
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32#define COMMAND_CLASS_SECURITY 0x98
33#define COMMAND_CLASS_SECURITY_VERSION 1
56 uint16_t data_length,
57 const uint8_t *cmd_data,
58 const zwave_tx_options_t *tx_options,
59 const on_zwave_tx_send_data_complete_t on_send_complete,
60 void *user,
61 zwave_tx_session_id_t parent_session_id);
62
82 const zwave_controller_connection_info_t *connection_info,
83 const zwave_rx_receive_options_t *rx_options,
84 const uint8_t *frame_data,
85 uint16_t frame_length);
86
97
102void s0_set_key(const uint8_t *network_key);
103
113
114#ifdef __cplusplus
115}
116#endif
117
118#endif //ZWAVE_S0_TRANSPORT_H
uint32_t sl_status_t
Definition: sl_status.h:139
void s0_set_key(const uint8_t *network_key)
Set the S0 network key.
Definition: zwave_s0_transport.c:398
sl_status_t zwave_s0_on_frame_received(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)
Entry point of S0 frames received from the PHY/radio stack.
Definition: zwave_s0_transport.c:1284
sl_status_t zwave_s0_on_abort_send_data(zwave_tx_session_id_t session_id)
Z-Wave controller transport callback function which will be triggered when S0 frame tranmission is ab...
Definition: zwave_s0_transport.c:1320
sl_status_t zwave_s0_transport_init(void)
Initialize the S0 Transport Also calls zwave_s0_network_init() which aborts all tx sessions and frees...
Definition: zwave_s0_transport.c:1349
sl_status_t zwave_s0_send_data(const zwave_controller_connection_info_t *connection, uint16_t data_length, const uint8_t *cmd_data, const zwave_tx_options_t *tx_options, const on_zwave_tx_send_data_complete_t on_send_complete, void *user, zwave_tx_session_id_t parent_session_id)
Sending an S0 encapsulated frame.
Definition: zwave_s0_transport.c:772
void * zwave_tx_session_id_t
Handle that can be used for aborting ongoing transmissions or identifying TX Queue elements.
Definition: zwave_tx_definitions.h:77
void(* on_zwave_tx_send_data_complete_t)(uint8_t status, const zwapi_tx_report_t *tx_info, void *user)
Function signature for callbacks invoked when send data has completed.
Definition: zwave_tx.h:168
SL Status Codes.
Structure holding information about the source and destination when transmitting and receiving Z-Wave...
Definition: zwave_controller_connection_info.h:87
Describing receive parameters of a frame.
Definition: zwave_rx_definitions.h:35
Definition: zwave_tx_definitions.h:131