Digi XBee(R) ANSI C Host Library
|
ZigBee Device Objects (ZDO) and ZigBee Device Profile (ZDP). More...
Go to the source code of this file.
Data Structures | |
struct | zdo_nwk_addr_req_t |
frame format for ZDO NKW_addr request More... | |
struct | zdo_nwk_addr_rsp_header_t |
struct | zdo_ieee_addr_req_t |
frame format for ZDO IEEE_addr request More... | |
struct | zdo_node_desc_req_t |
frame format for ZDO Node_Desc request More... | |
struct | zdo_node_desc_t |
frame format for ZDO Node_Desc response More... | |
struct | zdo_node_desc_resp_t |
< see ZDO_STATUS_* macros More... | |
struct | zdo_power_desc_req_t |
frame format for ZDO Power_Desc request More... | |
struct | zdo_power_desc_t |
format for ZDO PowerDescriptor More... | |
struct | zdo_power_desc_rsp_t |
frame format for ZDO Power_Desc response More... | |
struct | zdo_simple_desc_req_t |
frame format for ZDO Simple_Desc request More... | |
struct | zdo_simple_desc_resp_header_t |
header for ZDO Simple_Desc response, followed by a SimpleDescriptor More... | |
struct | zdo_simple_desc_header_t |
header for ZDO SimpleDescriptor (part of a Simple_Desc response), followed by uint8_t input cluster count, multiple uint16_t input cluster IDs, uint8_t output cluster count, multiple uint16_t output cluster IDs More... | |
struct | zdo_active_ep_req_t |
frame format for ZDO Active_EP request More... | |
struct | zdo_active_ep_rsp_header_t |
header for ZDO Active_EP response, followed by .ep_count uint8_t endpoints More... | |
struct | zdo_match_desc_req_t |
header for ZDO Match_Desc request More... | |
struct | zdo_match_desc_out_clust_t |
Second half of Match_Desc request. More... | |
struct | zdo_match_desc_rsp_header_t |
header for ZDO Match_Desc response, followed by .match_length uint8_t endpoints More... | |
struct | zdo_complex_desc_req_t |
frame format for ZDO Complex_Desc request More... | |
struct | zdo_user_desc_req_t |
frame format for ZDO Complex_Desc request More... | |
struct | zdo_device_annce_t |
frame format for a ZDO Device_annce announcement More... | |
struct | zdo_bind_req_header_t |
struct | zdo_bind_group_req_t |
frame format for a ZDO Bind Request with a group address as the destination (header.dst_addr_mode == ZDO_BIND_DST_MODE_GROUP) More... | |
struct | zdo_bind_address_req_t |
frame format for a ZDO Bind Request with an IEEE address and endpoint as the destination (header.dst_addr_mode == ZDO_BIND_DST_MODE_ADDR) More... | |
union | zdo_bind_req_t |
struct | zdo_mgmt_leave_req_t |
frame format for a ZDO Management Leave Request More... | |
struct | zdo_mgmt_leave_rsp_t |
Macros | |
#define | ZDO_CONVERSATION_TIMEOUT 15 |
number of seconds to wait for ZDO responses before timing out | |
#define | ZDO_ENDPOINT(state) |
Macro for ZDO endpoint table entry. More... | |
#define | ZDO_CLUST_RESPONSE_MASK 0x8000 |
Cluster IDs with the high bit set are responses. | |
#define | ZDO_CLUST_IS_RESPONSE(c) (c & ZDO_CLUST_RESPONSE_MASK) |
#define | ZDO_NWK_ADDR_REQ 0x0000 |
cluster ID for ZDO NWK_addr request | |
#define | ZDO_NWK_ADDR_RSP 0x8000 |
cluster ID for ZDO NWK_addr response | |
#define | ZDO_NET_ADDR_PENDING 0xFFFE |
#define | ZDO_NET_ADDR_TIMEOUT 0xFFFF |
#define | ZDO_NET_ADDR_ERROR 0xFFFD |
#define | ZDO_IEEE_ADDR_REQ 0x0001 |
cluster ID for ZDO IEEE_addr request | |
#define | ZDO_IEEE_ADDR_RSP 0x8001 |
cluster ID for ZDO IEEE_addr response | |
#define | ZDO_IEEE_ADDR_PENDING WPAN_IEEE_ADDR_UNDEFINED |
#define | ZDO_IEEE_ADDR_TIMEOUT WPAN_IEEE_ADDR_BROADCAST |
#define | ZDO_IEEE_ADDR_ERROR WPAN_IEEE_ADDR_ALL_ZEROS |
#define | ZDO_NODE_DESC_REQ 0x0002 |
cluster ID for ZDO Node_Desc request | |
#define | ZDO_NODE_DESC_RSP 0x8002 |
cluster ID for ZDO Node_Desc response | |
#define | ZDO_NODE_DESC_FLAGS0_TYPE_MASK 0x07 |
#define | ZDO_NODE_DESC_FLAGS0_TYPE_COORD 0x00 |
#define | ZDO_NODE_DESC_FLAGS0_TYPE_ROUTER 0x01 |
#define | ZDO_NODE_DESC_FLAGS0_TYPE_ENDDEV 0x02 |
#define | ZDO_NODE_DESC_FLAGS0_COMPLEX_DESC_AVAIL 0x08 |
#define | ZDO_NODE_DESC_FLAGS0_USER_DESC_AVAIL 0x10 |
#define | ZDO_NODE_DESC_FLAGS0_RESERVED 0xE0 |
#define | ZDO_NODE_DESC_FLAGS1_APS_FIELD 0x07 |
#define | ZDO_NODE_DESC_FLAGS1_FREQUENCY_MASK 0xF8 |
#define | ZDO_NODE_DESC_FLAGS1_FREQ_868 (1<<0) |
#define | ZDO_NODE_DESC_FLAGS1_FREQ_RESERVED_1 (1<<1) |
#define | ZDO_NODE_DESC_FLAGS1_FREQ_900 (1<<2) |
#define | ZDO_NODE_DESC_FLAGS1_FREQ_2400 (1<<3) |
#define | ZDO_NODE_DESC_FLAGS1_FREQ_RESERVED_4 (1<<4) |
#define | ZDO_POWER_DESC_REQ 0x0003 |
cluster ID for ZDO Power_Desc request | |
#define | ZDO_POWER_DESC_RSP 0x8003 |
cluster ID for ZDO Power_Desc response | |
#define | ZDO_SIMPLE_DESC_REQ 0x0004 |
cluster ID for ZDO Simple_Desc request | |
#define | ZDO_SIMPLE_DESC_RSP 0x8004 |
cluster ID for ZDO Simple_Desc response | |
#define | ZDO_ACTIVE_EP_REQ 0x0005 |
cluster ID for ZDO Active_EP request | |
#define | ZDO_ACTIVE_EP_RSP 0x8005 |
cluster ID for ZDO Active_EP response | |
#define | ZDO_MATCH_DESC_REQ 0x0006 |
cluster ID for ZDO Match_Desc request | |
#define | ZDO_MATCH_DESC_RSP 0x8006 |
cluster ID for ZDO Match_Desc response | |
#define | ZDO_COMPLEX_DESC_REQ 0x0007 |
cluster ID for ZDO Complex_Desc request | |
#define | ZDO_COMPLEX_DESC_RSP 0x8007 |
cluster ID for ZDO Complex_Desc response | |
#define | ZDO_USER_DESC_REQ 0x0011 |
cluster ID for ZDO User_Desc request | |
#define | ZDO_USER_DESC_RSP 0x8011 |
cluster ID for ZDO User_Desc response | |
#define | ZDO_DEVICE_ANNCE 0x0013 |
cluster ID for ZDO Device_annce announcement | |
#define | ZDO_DEVICE_ANNCE_CLUSTER(handler, context) |
Entry for Device Annce handler in cluster table of ZDO endpoint. More... | |
#define | ZDO_BIND_REQ 0x0021 |
cluster ID for ZDO Bind request | |
#define | ZDO_BIND_RSP 0x8021 |
cluster ID for ZDO Bind response | |
#define | ZDO_UNBIND_REQ 0x0022 |
cluster ID for ZDO Unbind request | |
#define | ZDO_UNBIND_RSP 0x8022 |
cluster ID for ZDO Unbind response | |
#define | ZDO_BIND_DST_MODE_GROUP 0x01 |
zdo_bind_req_t contains 16-bit group address | |
#define | ZDO_BIND_DST_MODE_ADDR 0x03 |
zdo_bind_req_t contains 64-bit destination address and endpoint | |
#define | ZDO_MGMT_LEAVE_REQ 0x0034 |
cluster ID for ZDO Management Leave Request | |
#define | ZDO_MGMT_LEAVE_RSP 0x8034 |
cluster ID for ZDO Management Leave Response | |
#define | ZDO_MGMT_LEAVE_REQ_ENCRYPTED 0x0100 |
extra sending option for zdo_mgmt_leave_req | |
Typedefs | |
typedef zdo_nwk_addr_rsp_header_t | zdo_ieee_addr_rsp_header_t |
Functions | |
wpan_ep_state_t FAR * | zdo_endpoint_state (wpan_dev_t *dev) |
Returns the ZDO endpoint's state if a device has a ZDO endpoint. More... | |
int | zdo_handler (const wpan_envelope_t FAR *envelope, wpan_ep_state_t FAR *ep_state) |
Process ZDO frames (received on endpoint 0 with Profile ID 0). More... | |
int | zdo_send_response (const wpan_envelope_t FAR *request, const void FAR *response, uint16_t length) |
Send a response to a ZDO request. More... | |
int | zdo_match_desc_request (void *buffer, int16_t buflen, uint16_t addr_of_interest, uint16_t profile_id, const uint16_t *inClust, const uint16_t *outClust) |
Generate a Match_Desc (Match Descriptor) request (ZigBee spec 2.4.3.1.7) to send on the network. More... | |
int | zdo_send_nwk_addr_req (wpan_dev_t *dev, const addr64 FAR *ieee_be, uint16_t FAR *net) |
Given a device's IEEE (64-bit) address, get its 16-bit network address by unicasting a ZDO NWK_addr request to it. More... | |
int | zdo_send_ieee_addr_req (wpan_dev_t *dev, uint16_t net_addr, addr64 FAR *ieee_be) |
Given a device's 16-bit network address, get its IEEE (64-bit) address by unicasting a ZDO IEEE_addr request to it. More... | |
int | zdo_simple_desc_request (wpan_envelope_t *envelope, uint16_t addr_of_interest, uint_fast8_t endpoint, wpan_response_fn callback, const void FAR *context) |
Send a ZDO Simple Descriptor Request. More... | |
int | zdo_send_bind_req (wpan_envelope_t *envelope, uint16_t type, wpan_response_fn callback, void FAR *context) |
Send a ZDO Bind (or Unbind) Request to the destination address in the envelope. More... | |
int | zdo_mgmt_leave_req (wpan_dev_t *dev, const addr64 *address, uint16_t flags) |
Send a ZDO Management Leave Request. More... | |
int | zdo_send_descriptor_req (wpan_envelope_t *envelope, uint16_t cluster, uint16_t addr_of_interest, wpan_response_fn callback, const void FAR *context) |
Send a ZDO Node, Power, Complex or User Descriptor request, or an Active Endpoint request. More... | |
#define | ZDO_REQUEST_TYPE_SINGLE 0x00 |
#define | ZDO_REQUEST_TYPE_EXTENDED 0x01 |
PowerDescriptor macros | |
macros used in PowerDescriptor (zdo_power_desc_t) | |
#define | ZDO_POWER_SOURCE_MAINS 0x01 |
#define | ZDO_POWER_SOURCE_RECHARGABLE 0x02 |
#define | ZDO_POWER_SOURCE_DISPOSABLE 0x04 |
#define | ZDO_POWER_SOURCE_RESERVED 0x08 |
#define | ZDO_POWER0_SYNC 0x00 |
#define | ZDO_POWER0_PERIODIC 0x01 |
#define | ZDO_POWER0_STIMULATED 0x02 |
#define | ZDO_POWER0_AVAIL_MAINS (ZDO_POWER_SOURCE_MAINS << 4) |
#define | ZDO_POWER0_AVAIL_RECHARGABLE (ZDO_POWER_SOURCE_RECHARGABLE << 4) |
#define | ZDO_POWER0_AVAIL_DISPOSABLE (ZDO_POWER_SOURCE_DISPOSABLE << 4) |
#define | ZDO_POWER0_AVAIL_RESERVED (ZDO_POWER_SOURCE_RESERVED << 4) |
#define | ZDO_POWER1_LEVEL_CRITICAL 0x00 |
#define | ZDO_POWER1_LEVEL_33 0x40 |
#define | ZDO_POWER1_LEVEL_66 0x80 |
#define | ZDO_POWER1_LEVEL_FULL 0xC0 |
#define | ZDO_POWER1_CURRENT_MAINS ZDO_POWER_SOURCE_MAINS |
#define | ZDO_POWER1_CURRENT_RECHARGABLE ZDO_POWER_SOURCE_RECHARGABLE |
#define | ZDO_POWER1_CURRENT_DISPOSABLE ZDO_POWER_SOURCE_DISPOSABLE |
#define | ZDO_POWER1_CURRENT_RESERVED ZDO_POWER_SOURCE_RESERVED |
ZigBee Device Objects (ZDO) and ZigBee Device Profile (ZDP).