Z-Wave Protocol Controller Reference
Z-Wave TX Scheme Selector

Z-Wave TX Scheme selector. More...

Collaboration diagram for Z-Wave TX Scheme Selector:

Macros

#define ZWAVE_TX_SAFE_LOWEST_MAX_PAYLOAD   22
 Worst case scenario for the max payload (S0 + Z-Wave R1/R2 + Multi Channel) More...
 

Functions

void zwave_tx_scheme_get_zpc_granted_keys (zwave_keyset_t *keys)
 Return a list of security keys which the controller can use. More...
 
void zwave_tx_scheme_get_node_connection_info (zwave_node_id_t node_id, uint8_t endpoint_id, zwave_controller_connection_info_t *connection_info)
 Return a connection info parameters for sending a Z-Wave frame. More...
 
void zwave_tx_scheme_get_node_tx_options (uint32_t expected_qos_priority, uint8_t expected_number_of_response, uint32_t expected_discard_timeout_ms, zwave_tx_options_t *tx_options)
 Define a Z-Wave frame transmission options. More...
 
zwave_controller_encapsulation_scheme_t zwave_tx_scheme_get_node_highest_security_class (zwave_node_id_t node_id)
 Return the Highest security Class of a NodeID. More...
 
uint16_t zwave_tx_scheme_get_max_payload (zwave_node_id_t node_id)
 Computes the maximum number of bytes that can be sent to a given NodeID. (lowest layer) More...
 
uint16_t zwave_tx_scheme_get_max_application_payload (zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id)
 Computes how long of a frame can be sent to a given NodeID / Endpoint when queuing a frame at the application level. More...
 

Detailed Description

Z-Wave TX Scheme selector.

This module selects the right security scheme when sending a Z-Wave frame. This is done by looking up the security scheme from the granted_keys list stored in the attribute system.

Macro Definition Documentation

◆ ZWAVE_TX_SAFE_LOWEST_MAX_PAYLOAD

#define ZWAVE_TX_SAFE_LOWEST_MAX_PAYLOAD   22

Worst case scenario for the max payload (S0 + Z-Wave R1/R2 + Multi Channel)

Function Documentation

◆ zwave_tx_scheme_get_max_application_payload()

uint16_t zwave_tx_scheme_get_max_application_payload ( zwave_node_id_t  node_id,
zwave_endpoint_id_t  endpoint_id 
)

Computes how long of a frame can be sent to a given NodeID / Endpoint when queuing a frame at the application level.

Parameters
node_idThe NodeID of the destination
endpoint_idThe Endpoint ID to send to
Returns
The number of bytes that can be sent to the destination before all additional encapsulations such as Security or Multi Channel encapsulation.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_tx_scheme_get_max_payload()

uint16_t zwave_tx_scheme_get_max_payload ( zwave_node_id_t  node_id)

Computes the maximum number of bytes that can be sent to a given NodeID. (lowest layer)

Parameters
node_idThe NodeID of the destination
Returns
The number of bytes that can be sent to the destination
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_tx_scheme_get_node_connection_info()

void zwave_tx_scheme_get_node_connection_info ( zwave_node_id_t  node_id,
uint8_t  endpoint_id,
zwave_controller_connection_info_t connection_info 
)

Return a connection info parameters for sending a Z-Wave frame.

Parameters
node_idA remote NodeID where the frame is sent to
endpoint_idAn Endpoint ID where the frame is sent to. The function assumes single endpoint addressing
[out]connection_infofor sending a Z-Wave frame
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_tx_scheme_get_node_highest_security_class()

zwave_controller_encapsulation_scheme_t zwave_tx_scheme_get_node_highest_security_class ( zwave_node_id_t  node_id)

Return the Highest security Class of a NodeID.

Parameters
[in]node_idZ-Wave NodeID of the node
Returns
Highest security class of the NodeID.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_tx_scheme_get_node_tx_options()

void zwave_tx_scheme_get_node_tx_options ( uint32_t  expected_qos_priority,
uint8_t  expected_number_of_response,
uint32_t  expected_discard_timeout_ms,
zwave_tx_options_t tx_options 
)

Define a Z-Wave frame transmission options.

Parameters
expected_qos_priorityPriority of transmission frame
expected_number_of_responseA number of the expected responses to a frame before transmitting the next frame
expected_discard_timeout_msA maximum period in ms which a given frame shall stay in a Z-Wave transmission queue before it is dropped.
[out]tx_optionstransmission frame configuration options
Here is the caller graph for this function:

◆ zwave_tx_scheme_get_zpc_granted_keys()

void zwave_tx_scheme_get_zpc_granted_keys ( zwave_keyset_t keys)

Return a list of security keys which the controller can use.

If the controller started was the first S2 controller in the network this will be all supported keys. But if the controller was included by another controller fewer keys may have been granted.

Parameters
[out]keysKey currently granted
Here is the call graph for this function:
Here is the caller graph for this function: