Z-Wave Protocol Controller Reference
Multi Channel Command Class

Multi Channel Command Class implementation. More...

Collaboration diagram for Multi Channel Command Class:

Modules

 Multi Channel Transport
 Multi Channel encapsulation and decapsulation module.
 

Macros

#define MULTI_CHANNEL_VERSION   MULTI_CHANNEL_VERSION_V4
 
#define ENDPOINT_MASK   0x7F
 

Functions

sl_status_t zwave_command_class_multi_channel_init (void)
 Initialize the Multi Channel Command Class (handler) *. More...
 
sl_status_t zwave_command_class_multi_channel_capability_get (attribute_store_node_t node, uint8_t *frame, uint16_t *frame_length)
 Resolves a Non-secure NIF for an Endpoint ID > 0. More...
 
bool is_endpoint_aggregated (attribute_store_node_t endpoint_node)
 Checks if an endpoints is aggregated. More...
 
sl_status_t zwave_command_class_multi_channel_handler (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)
 Handles incoming Multi Channel encapsulated commands. More...
 

Detailed Description

Multi Channel Command Class implementation.

This module implements the Multi Channel Command Class handler (control). The Multi Channel Transport is defined in Z-Wave Transports

The control of Multi Channel relies on the following Attribute Store system:

Multi Channel Attributes

Macro Definition Documentation

◆ ENDPOINT_MASK

#define ENDPOINT_MASK   0x7F

◆ MULTI_CHANNEL_VERSION

#define MULTI_CHANNEL_VERSION   MULTI_CHANNEL_VERSION_V4

Function Documentation

◆ is_endpoint_aggregated()

bool is_endpoint_aggregated ( attribute_store_node_t  endpoint_node)

Checks if an endpoints is aggregated.

It verifies if an attribute of type ATTRIBUTE_COMMAND_CLASS_MULTI_CHANNEL_AGGREGATED_MEMBERS exists under the endpoint.

Parameters
endpoint_nodeThe attribute store node that represents the End Point ID
Returns
false for individual endpoints and true for aggregated endpoints
Here is the caller graph for this function:

◆ zwave_command_class_multi_channel_capability_get()

sl_status_t zwave_command_class_multi_channel_capability_get ( attribute_store_node_t  node,
uint8_t *  frame,
uint16_t *  frame_length 
)

Resolves a Non-secure NIF for an Endpoint ID > 0.

Refer to attribute_resolver_function_t for details.

Parameters
nodeThe attribute store node that is being resolved
[out]framePointer where to write the frame data to resolve the attribute
[out]frame_lengthPointer where to write length of the frame data that has been writen to the frame pointer.
Returns
SL_STATUS_OK if the frame was written
Here is the caller graph for this function:

◆ zwave_command_class_multi_channel_handler()

sl_status_t zwave_command_class_multi_channel_handler ( 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 
)

Handles incoming Multi Channel encapsulated commands.

Parameters
connection_infoInfo about the connection properties of this frame.
rx_optionsInfo about the transport properties of this frame.
frame_dataThe data payload of this frame.
frame_lengthThe length of this frame.
Returns
sl_status_t representing the outcome of receiving the frame In case where the command is controlled, it should be set to SL_STATUS_OK, even when encountering some parsing errors In case where the command is supported, it should be set to the sl_status_t corresponding to the correct time Status code. Refer to zwave_command_handler_t

◆ zwave_command_class_multi_channel_init()

sl_status_t zwave_command_class_multi_channel_init ( void  )

Initialize the Multi Channel Command Class (handler) *.

Returns
SL_STATUS_OK if successful
SL_STATUS_FAIL if an error occurred
Here is the call graph for this function:
Here is the caller graph for this function: