Z-Wave Protocol Controller Reference
ZPC Attribute Resolver callbacks

Collects send data callbacks from ZPC Attribute Resolver send and ZPC Attribute Resolver Group Send and relays them to the attribute_resolver. More...

Collaboration diagram for ZPC Attribute Resolver callbacks:

Classes

struct  resolution_map
 Struct keeping track of a node resolved as well as the rule type being executed. More...
 

Typedefs

typedef struct resolution_map resolution_map_t
 Struct keeping track of a node resolved as well as the rule type being executed. More...
 

Functions

void attribute_resolver_callbacks_reset ()
 Initializes the resources to keep track of ongoing resolutions and process send_data callbacks. More...
 
void on_resolver_zwave_send_data_complete (uint8_t status, const zwapi_tx_report_t *tx_info, void *user)
 Send_data callback for transmissions that did not use Supervision encapsulation. More...
 
void on_resolver_zwave_supervision_complete (uint8_t supervision_status, const zwapi_tx_report_t *tx_info, void *user)
 Send_data callback for transmissions that used Supervision encapsulation. More...
 
void add_node_in_resolution_list (attribute_store_node_t new_node, resolver_rule_type_t rule_type)
 Functions that adds a new node in the resolution list. More...
 
bool is_node_in_resolution_list (attribute_store_node_t node)
 Helper function verifying if we are currently waiting for a send data callback for a given node resolution. More...
 
void remove_node_from_resolution_list (attribute_store_node_t node)
 Functions that removes a node from the resolution list. More...
 
sl_status_t attribute_resolver_abort_pending_resolution (attribute_store_node_t node)
 Aborts that removes a node from the resolution list. More...
 
sl_status_t attribute_resolver_associate_node_with_tx_sessions_id (attribute_store_node_t node, zwave_tx_session_id_t tx_session_id)
 Links a TX Session ID with a node under resolution. More...
 

Detailed Description

Collects send data callbacks from ZPC Attribute Resolver send and ZPC Attribute Resolver Group Send and relays them to the attribute_resolver.

Typedef Documentation

◆ resolution_map_t

Struct keeping track of a node resolved as well as the rule type being executed.

Function Documentation

◆ add_node_in_resolution_list()

void add_node_in_resolution_list ( attribute_store_node_t  new_node,
resolver_rule_type_t  rule_type 
)

Functions that adds a new node in the resolution list.

Parameters
new_nodeAttribute Store node being resolved, to add in the list
rule_typeRule type being executed.
Here is the caller graph for this function:

◆ attribute_resolver_abort_pending_resolution()

sl_status_t attribute_resolver_abort_pending_resolution ( attribute_store_node_t  node)

Aborts that removes a node from the resolution list.

Parameters
nodeAttribute Store node no longer being resolved.
Here is the caller graph for this function:

◆ attribute_resolver_associate_node_with_tx_sessions_id()

sl_status_t attribute_resolver_associate_node_with_tx_sessions_id ( attribute_store_node_t  node,
zwave_tx_session_id_t  tx_session_id 
)

Links a TX Session ID with a node under resolution.

Parameters
nodeAttribute Store node being resolved.
tx_session_idTX session ID returned by Z-Wave Tx to send a resolving frame.
Returns
SL_STATUS_OK if associated, SL_STATUS_NOT_FOUND if the node is not under resolution
Here is the caller graph for this function:

◆ attribute_resolver_callbacks_reset()

void attribute_resolver_callbacks_reset ( )

Initializes the resources to keep track of ongoing resolutions and process send_data callbacks.

Here is the caller graph for this function:

◆ is_node_in_resolution_list()

bool is_node_in_resolution_list ( attribute_store_node_t  node)

Helper function verifying if we are currently waiting for a send data callback for a given node resolution.

Parameters
nodeAttribute Store node being resolved.
Returns
true if the node is being resolved, false otherwise
Here is the caller graph for this function:

◆ on_resolver_zwave_send_data_complete()

void on_resolver_zwave_send_data_complete ( uint8_t  status,
const zwapi_tx_report_t tx_info,
void *  user 
)

Send_data callback for transmissions that did not use Supervision encapsulation.

Parameters
statusIndicates how the transmission operation was completed. Refer for Z-Wave API send_data return codes for details.
tx_infozwapi_tx_report_t reported by the Z-Wave API. It contains transmission details, refer to zwapi_tx_report_t.
userUser pointer provided in from this component. Must be a resolution_map_t pointer
Here is the caller graph for this function:

◆ on_resolver_zwave_supervision_complete()

void on_resolver_zwave_supervision_complete ( uint8_t  supervision_status,
const zwapi_tx_report_t tx_info,
void *  user 
)

Send_data callback for transmissions that used Supervision encapsulation.

Parameters
supervision_statusSupervision status returned by the node.
tx_infozwapi_tx_report_t reported by the Z-Wave API. It contains transmission details, refer to zwapi_tx_report_t.
userUser pointer provided in from this component. Must be a resolution_map_t pointer
Here is the caller graph for this function:

◆ remove_node_from_resolution_list()

void remove_node_from_resolution_list ( attribute_store_node_t  node)

Functions that removes a node from the resolution list.

Parameters
nodeAttribute Store node no longer being resolved.