Poll Plugin#
APIs for the poll plugin.
The Connect stack supports polling which enables (sleepy) end devices to retrieve pending messages from the parent node (coordinator or range extender).
To use this feature, the Poll plugin must be enabled on the end devices. If polling is enabled, the end device sends a data request to the parent node, which notifies the device whether a message is pending or not using the acknowledge with the pending bit cleared or set. If a message is not pending, the communication ends with the acknowledge. If a message is pending, the parent node sends a data packet containing the pending message which will be acknowledged by the end device.
For convenience, Connect supports two polling intervals, long and short, which behave the same only the polling period differs. For long polling, the period is specified in seconds while for short polling, the period is in quarter seconds. The API provides a function to easily switch between the two. The purpose of long polling is maintaining the connection between the end device and the parent.
The application will receive the polled message via the emberAfIncomingMessageCallback() function.
The poll plugin uses emberPollForData() to retrieve the pending message. If the poll plugin is enabled, using emberPollForData() is strongly not recommended.
See poll.h for source code.
Functions#
Set the short poll interval.
Set the long poll interval.
Enable/disable short polling.
Function Documentation#
emberAfPluginPollSetShortPollInterval#
void emberAfPluginPollSetShortPollInterval (uint8_t intervalQS)
Set the short poll interval.
[in] | intervalQS | The short poll interval in quarter seconds. |
68
of file /mnt/raid/workspaces/ws.S2kiimDMR/overlay/gsdk/protocol/flex/poll/poll.h
emberAfPluginPollSetLongPollInterval#
void emberAfPluginPollSetLongPollInterval (uint16_t intervalS)
Set the long poll interval.
[in] | intervalS | The long poll interval in seconds. |
74
of file /mnt/raid/workspaces/ws.S2kiimDMR/overlay/gsdk/protocol/flex/poll/poll.h
emberAfPluginPollEnableShortPolling#
void emberAfPluginPollEnableShortPolling (bool enable)
Enable/disable short polling.
[in] | enable | If this parameter is true, short polling is enabled. Otherwise, the node switches back to long polling. |
81
of file /mnt/raid/workspaces/ws.S2kiimDMR/overlay/gsdk/protocol/flex/poll/poll.h