Z-Wave Protocol Controller Reference
Z-Wave Controller Transport Framework

Z-Wave Controller Transport Framework. More...

Collaboration diagram for Z-Wave Controller Transport Framework:

Modules

 Z-Wave Controller Transport internals.
 Internal Z-Wave Controller transport related functions.
 

Classes

struct  zwave_controller_transport
 Hold information about a transport plugin. More...
 

Macros

#define NUMBER_OF_TRANSPORTS   7
 

Typedefs

typedef struct zwave_controller_transport zwave_controller_transport_t
 Hold information about a transport plugin. More...
 

Functions

sl_status_t zwave_controller_transport_init ()
 Initialize the Z-Wave Controller transport component. More...
 
sl_status_t zwave_controller_transport_register (const zwave_controller_transport_t *transport)
 Must be called to register a transport. More...
 
zwave_cc_version_t zwave_controller_transport_is_encapsulation_cc (zwave_command_class_t command_class)
 check if a command class is registered as an encapsulation cc in Z-Wave controller transport framework. If it does, the module will retrun the version of the encapsulation command class. More...
 

Detailed Description

Z-Wave Controller Transport Framework.

The purpose of the Z-Wave Controller Transport Framework, is to have a simple API witch handles integration of all Z-Wave transport command classes. Each encapsulation command class will register its command handlers and send data function to the controller. The controller module will make sure that the right handler will be executed when appropriate.

Each transport can be single session when sending.

All transport must use the zwave_tx_send_data function when sending frames. It is important the the transport handlers use the zwave_tx_parent_session_id parameter in zwave_tx_options_t when sending frames.

When a frame is de-encapsulated it must be forwarded using the zwave_controller_on_frame_received function.

Interactions of the Z-Wave transport framework
Transport plugin interactions

Macro Definition Documentation

◆ NUMBER_OF_TRANSPORTS

#define NUMBER_OF_TRANSPORTS   7

Typedef Documentation

◆ zwave_controller_transport_t

Hold information about a transport plugin.

Function Documentation

◆ zwave_controller_transport_init()

sl_status_t zwave_controller_transport_init ( )

Initialize the Z-Wave Controller transport component.

Returns
sl_status_t

◆ zwave_controller_transport_is_encapsulation_cc()

zwave_cc_version_t zwave_controller_transport_is_encapsulation_cc ( zwave_command_class_t  command_class)

check if a command class is registered as an encapsulation cc in Z-Wave controller transport framework. If it does, the module will retrun the version of the encapsulation command class.

Parameters
command_classZ-Wave Command Class
Returns
zero if the command class is not registered as an encapsulation cc in the Z-Wave transport plugin framework.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_controller_transport_register()

sl_status_t zwave_controller_transport_register ( const zwave_controller_transport_t transport)

Must be called to register a transport.

There can only be one transport pr command class and only one pr. priority.

Parameters
transport
Returns
sl_status_t
Here is the caller graph for this function: