Zigbee Protocol Controller 1.6.0
Attribute Poll Engine

The Attribute Polling Engine supplies the functionality of polling attribute reported values with a supplied interval. More...

Macros

#define attribute_poll_register_default(node)   attribute_poll_register(node, 0)
 

Functions

sl_status_t attribute_poll_register (attribute_store_node_t node, uint32_t interval)
 Register a node for polling. More...
 
sl_status_t attribute_poll_deregister (attribute_store_node_t node)
 Deregister polling of an attribute. More...
 
sl_status_t attribute_poll_schedule (attribute_store_node_t node)
 Schedule a poll as soon as possible. More...
 
sl_status_t attribute_poll_init (uint32_t backoff, uint32_t default_interval, attribute_store_type_t poll_mark_attribute_type)
 Initialize the attribute poll engine. More...
 
sl_status_t attribute_poll_disable ()
 Disable the Poll Engine. More...
 
sl_status_t attribute_poll_enable ()
 Enable the Poll Engine. More...
 
void attribute_poll_print ()
 print the entries present in the attribute poll list More...
 

Detailed Description

The Attribute Polling Engine supplies the functionality of polling attribute reported values with a supplied interval.

With APE it is possible to register attributes, that shall be polled together with an interval with which the attribute is desired to be polled. APE has following features:

Macro Definition Documentation

◆ attribute_poll_register_default

#define attribute_poll_register_default (   node)    attribute_poll_register(node, 0)

attribute_poll_register with default polling interval

Function Documentation

◆ attribute_poll_deregister()

sl_status_t attribute_poll_deregister ( attribute_store_node_t  node)

Deregister polling of an attribute.

Parameters
nodeNode to deregister polling for
Returns
sl_status_t

◆ attribute_poll_disable()

sl_status_t attribute_poll_disable ( )

Disable the Poll Engine.

Stop the Poll Engine from triggering any new polls

Returns
sl_status_t

◆ attribute_poll_enable()

sl_status_t attribute_poll_enable ( )

Enable the Poll Engine.

Start the Poll Engine, the engine is default started, so this only makes sense to call after calling attribute_poll_disable.

Returns
sl_status_t

◆ attribute_poll_init()

sl_status_t attribute_poll_init ( uint32_t  backoff,
uint32_t  default_interval,
attribute_store_type_t  poll_mark_attribute_type 
)

Initialize the attribute poll engine.

Parameters
backoffThe minimum time in seconds between 2 polls.
default_intervalDefault interval in secoƩnd, at which attributes will be polled, if no value is provided for a specific attribute type
poll_mark_attribute_typeThe Attribute Store type to use to mark attributes as pollable. Note that this attribute must not be registered with a fixed parent (use ATTRIBUTE_STORE_INVALID_ATTRIBUTE_TYPE) or storage data type (use UNKNOWN_STORAGE_TYPE).
Returns
sl_status_t SL_STATUS_OK on success

◆ attribute_poll_print()

void attribute_poll_print ( )

print the entries present in the attribute poll list

◆ attribute_poll_register()

sl_status_t attribute_poll_register ( attribute_store_node_t  node,
uint32_t  interval 
)

Register a node for polling.

Parameters
nodeAttribute store node id to poll
intervaldesired polling interval in seconds
Returns
sl_status_t

◆ attribute_poll_schedule()

sl_status_t attribute_poll_schedule ( attribute_store_node_t  node)

Schedule a poll as soon as possible.

Parameters
nodeAttribute store Node to add to the poll list.
Returns
sl_status_t