The endpoint table is a complex data structure that describes all endpoints, clusters, ZCL attributes and manufacturer-specific command handlers for a given device. The structure of the table is as follows (note that not all members of each object are listed):
Each DEVICE (wpan_dev_t) corresponds to a local, serially-connected XBee module. This DEVICE has multiple ENDPOINTs.
An ENDPOINT ID (0 to 254), PROFILE ID, DEVICE ID and DEVICE VERSION.
Multiple CLUSTERs. The ZDP endpoint handler currently uses a switch to handle frames for each cluster, but could be updated to let the endpoint dispatcher hand frames off to each cluster's handler.
A HANDLER to process frames for CLUSTERs without their own HANDLER, or CLUSTERs that aren't in the table.
A READ function (zcl_attribute_update_fn) to refresh the ATTRIBUTE's VALUE.
A WRITE function (zcl_attribute_write_fn) to process a ZCL Write Attributes request if the attribute requires additional processing over what the standard function, zcl_decode_attribute, does.
Endpoint Dispatching
The endpoint dispatcher searches the endpoint table to find a handler for a given frame, based on its destination endpoint and cluster ID.
Generated on Sat Nov 21 2020 22:08:40 for Digi XBee(R) ANSI C Host Library by 1.8.11