|
|
This page explains why the number of endpoints is different when using the FreeScale Dongle and when using the Texas Instruments one.
|
|
|
|
|
|
TL;DR: Hardware limitations.
|
|
|
|
|
|
The ZigBee Specifications define a concept of cluster, that is a set of functions for a specific purpose.
|
|
|
There is also a concept of Endpoint, that is a logical device over the physical one. Endpoints can be seen as the ports in the TCP protocol.
|
|
|
Each physical device can register any number of Endpoints with a maximum limit of 240 (0xF0). The Endpoint 0 (0x00) is reserved for the ZDO, the Endpoint address 255 (0xFF) is like a broadcast and the endpoints 241(0xF1)-254(0xFE) are reserved for future use.
|
|
|
|
|
|
A device can register one or more clusters to each endpoint. The Application Framework provides an interface to register clusters to endpoints and endpoints to device. The device capability may limit the number of cluster each endpoint can register. In particular the buffer that holds data items to be set or retrieved may be such a limit. This limit was lower for the freescale dongle; so, because the total number of clusters to be registered is fixed, the number of endpoints has to be greater.
|
|
|
|
|
|
It isn't specified which clusters should be registered to each endpoint, but this is not a problem because you can get the clusters registered to each endpoint in the Service Discovery routine, in particular the ZDO Node Simple_Desc_req primitive, defined in the ZigBee specifications, retrieves this information. |
|
|
\ No newline at end of file |