XBee Firmware Library
1.6.0
|
Data Structures | |
struct | zcl_array_t |
struct | zcl_attribute_base_t |
struct | zcl_attribute_full_t |
union | zcl_attribute_minmax_t |
struct | zcl_attribute_tree_t |
struct | zcl_attribute_write_rec_t |
struct | zcl_command_t |
union | zcl_rec_report_t |
struct | zcl_struct_element_t |
struct | zcl_struct_t |
Functions | |
const zcl_attribute_base_t FAR * | zcl_attribute_get_next (const zcl_attribute_base_t FAR *entry) |
Return a pointer to the next attribute entry from an attribute table. More... | |
int | zcl_build_header (zcl_header_response_t *rsp, zcl_command_t *cmd) |
Support function to fill in a ZCL response header. More... | |
int | zcl_check_minmax (const zcl_attribute_base_t FAR *entry, const uint8_t FAR *buffer_le) |
Checks whether a new value from a Write Attributes command is within the limits specified for a given attribute. More... | |
int | zcl_command_build (zcl_command_t *cmd, const wpan_envelope_t FAR *envelope, zcl_attribute_tree_t FAR *tree) |
Parse a ZCL request and store in a zcl_command_t structure with fields in fixed locations (therefore easier to use than the variable-length frame header). More... | |
void | zcl_command_dump (const zcl_command_t *cmd) |
Debugging routine that dumps contents of a parsed ZCL command structure to STDOUT. More... | |
uint32_t | zcl_convert_24bit (const void FAR *value_le, bool_t extend_sign) |
Convert a 24-bit (3-byte) little-endian value to a 32-bit value in host byte order. More... | |
int | zcl_decode_attribute (const zcl_attribute_base_t FAR *entry, zcl_attribute_write_rec_t *rec) |
Decode attribute value from a Write Attribute Request or Read Attribute Response record and optionally write to entry . More... | |
int | zcl_default_response (zcl_command_t *request, uint8_t status) |
Send a Default Response (#ZCL_CMD_DEFAULT_RESP) to a given command. More... | |
int | zcl_encode_attribute_value (uint8_t FAR *buffer, int16_t bufsize, const zcl_attribute_base_t FAR *entry) |
Format a ZCL attribute's value for a Read Attributes Response or a Write Attributes Request. More... | |
void | zcl_envelope_payload_dump (const wpan_envelope_t *envelope) |
Debugging routine that parses an envelope payload as a ZCL command and dumps a parsed copy to STDOUT. More... | |
const zcl_attribute_base_t FAR * | zcl_find_attribute (const zcl_attribute_base_t FAR *entry, uint16_t search_id) |
Search the attribute table starting at entry , for attribute ID search_id . More... | |
int | zcl_general_command (const wpan_envelope_t FAR *envelope, void FAR *context) |
Handler for ZCL General Commands. More... | |
int | zcl_invalid_cluster (const wpan_envelope_t FAR *envelope, wpan_ep_state_t FAR *ep_state) |
Called if a request comes in for an invalid endpoint/cluster combination. More... | |
int | zcl_invalid_command (const wpan_envelope_t FAR *envelope) |
Called if a request comes in for an invalid command on a valid endpoint/cluster combination. More... | |
int | zcl_parse_attribute_record (const zcl_attribute_base_t FAR *entry, zcl_attribute_write_rec_t *write_rec) |
Parse an attribute record from a Write Attributes Request or a Read Attributes Response and possibly store the new attribute value. More... | |
int | zcl_send_response (zcl_command_t *request, const void FAR *response, uint16_t length) |
Send a response to a ZCL command. More... | |
const char * | zcl_status_text (uint_fast8_t status) |
Converts a ZCL status byte (one of the ZCL_STATUS_* macros) into a string. More... | |
Variables | |
zcl_rec_attrib_report_t | attrib [1] |
uint16_t | attrib_id_le |
uint8_t | attrib_type |
uint8_t | command |
uint16_t | count_le |
number of elements to follow More... | |
uint8_t | direction |
uint8_t | element_type |
uint8_t | elements [1] |
mult. uint8_t type and variable-length value More... | |
uint16_t | id |
uint16_t | id_le |
uint16_t | index_le [15] |
uint16_t | max_interval_le |
uint8_t | max_return_count |
uint16_t | mfg_code_le |
uint16_t | min_interval_le |
uint8_t | payload [1] |
first byte of variable-length field More... | |
zcl_rec_report_send_t | report_cfg |
zcl_selector_t | selector |
uint8_t | sequence |
uint8_t | status |
uint16_t | timeout_period_le |
union { | |
zcl_header_common_t common | |
mfg | |
manufacturer-specific extension More... | |
PACKED_STRUCT | |
std | |
standard More... | |
} | type |
see zigbee/zcl_types.h More... | |
uint8_t | value [1] |
variable length, depending on type More... | |
const zcl_attribute_tree_t FAR | zcl_attributes_none [1] |
Header for implementation of ZigBee Cluster Library.
Type definitions and frame formats.
Based on document 075123r01ZB, updated for 075123r02ZB
Even though the XBee modules uses big-endian byte order for its API, the payload data should be in the correct format for Rabbit (little-endian). Multi-byte variables and structure members use an "_le" suffix if the value is little-endian, a "_be" suffix if the value is big-endian, and no suffix if the value is in host byte order.
See xbee/byteorder.h for functions to convert between big/little-endian and host byte order.