Data Structures | |
| struct | zb_zcl_read_attr_req_s |
| ZCL Read Attribute Command frame. More... | |
| struct | zb_zcl_read_attr_res_s |
| ZCL Read Attribute Response Command frame. More... | |
Macros | |
| #define | ZB_ZCL_GENERAL_GET_NEXT_READ_ATTR_RES(data_buf, read_attr_resp) |
| Parses Read attribute response and returns next Read attribute status record or NULL if there is no more data. More... | |
| #define | ZB_ZCL_GENERAL_INIT_READ_ATTR_REQ(buffer, cmd_ptr, def_resp) |
| Initialize Read attribute command. More... | |
| #define | ZB_ZCL_GENERAL_INIT_READ_ATTR_REQ_A(buffer, cmd_ptr, direction, def_resp) |
| Initialize Read Attribute Request command. More... | |
| #define | ZB_ZCL_GENERAL_INIT_READ_ATTR_REQ_MANUF(buffer, cmd_ptr, direction, def_resp, manuf_code) |
| Initialize Read Attribute Request command with manufacturer code. More... | |
| #define | ZB_ZCL_GENERAL_ADD_ID_READ_ATTR_REQ(cmd_ptr, attr_id) |
| Add attribute id to command payload. More... | |
| #define | ZB_ZCL_GENERAL_SEND_READ_ATTR_REQ(buffer, cmd_ptr, addr, dst_addr_mode, dst_ep, ep, profile_id, cluster_id, cb) |
| Sends Read attribute command. More... | |
| #define | ZB_ZCL_GENERAL_GET_READ_ATTR_REQ(_data_buf, _read_attr_req) |
| Parses Read attribute request and returns next Read attribute record or NULL if there is no more data. More... | |
| #define | ZB_ZCL_GENERAL_INIT_READ_ATTR_RESP(_buffer, _cmd_ptr, _seq) |
| Initialize Read Attribute Response command. More... | |
| #define | ZB_ZCL_GENERAL_INIT_READ_ATTR_RESP_EXT(_buffer, _cmd_ptr, _direction, _seq, _is_manuf, _manuf_id) |
| Initialize Read Attribute Response command. More... | |
| #define | ZB_ZCL_GENERAL_SEND_READ_ATTR_RESP( _buffer, _cmd_ptr, _addr, _dst_addr_mode, _dst_ep, _ep, _profile_id, _cluster_id, _cb) |
| Send Read attribute response command. More... | |
Typedefs | |
| typedef struct zb_zcl_read_attr_req_s | zb_zcl_read_attr_req_t |
| ZCL Read Attribute Command frame. More... | |
| typedef struct zb_zcl_read_attr_res_s | zb_zcl_read_attr_res_t |
| ZCL Read Attribute Response Command frame. More... | |
Detailed Description
Read attributes command described in ZCL spec, subclauses 2.4.1 and 2.4.2.
Read attributes request command can be formed and sent as in following snippet:
ZB_ZCL_GENERAL_INIT_READ_ATTR_REQ(zcl_cmd_buf, cmd_ptr, ZB_ZCL_ENABLE_DEFAULT_RESPONSE);ZB_ZCL_GENERAL_SEND_READ_ATTR_REQ(zcl_cmd_buf, cmd_ptr, DUT_ADDR, DUT_ADDR_MODE, DUT_ENDPOINT, TH_ENDPOINT, ZB_AF_HA_PROFILE_ID, ZB_ZCL_CLUSTER_ID_BINARY_INPUT, NULL);Read attributes response can be parsed as:
ZB_ZCL_GENERAL_GET_NEXT_READ_ATTR_RES(buf, read_attr_resp);until allocated buffer space exceeds.
Read attributes request parsing and response filling and sending is implemented in ZCL library internal functions.
Macro Definition Documentation
◆ ZB_ZCL_GENERAL_ADD_ID_READ_ATTR_REQ
| #define ZB_ZCL_GENERAL_ADD_ID_READ_ATTR_REQ | ( | cmd_ptr, | |
| attr_id | |||
| ) |
{ \ ZB_ZCL_PACKET_PUT_DATA16_VAL(cmd_ptr, (attr_id)); \}
Add attribute id to command payload.
- Parameters
-
cmd_ptr - command buffer pointer attr_id - attribute ID
◆ ZB_ZCL_GENERAL_GET_NEXT_READ_ATTR_RES
| #define ZB_ZCL_GENERAL_GET_NEXT_READ_ATTR_RES | ( | data_buf, | |
| read_attr_resp | |||
| ) |
Parses Read attribute response and returns next Read attribute status record or NULL if there is no more data.
If response contains invalid data, NULL is returned.
- Parameters
-
data_buf - ID zb_bufid_t of a buffer containing read attribute response data read_attr_resp - out pointer to zb_zcl_read_attr_res_t, containing Read attribute status record
- Note
- data_buf buffer should contain Read attribute response payload, without ZCL header. Each parsed Read attribute status record is extracted from initial data_buf buffer
◆ ZB_ZCL_GENERAL_GET_READ_ATTR_REQ
| #define ZB_ZCL_GENERAL_GET_READ_ATTR_REQ | ( | _data_buf, | |
| _read_attr_req | |||
| ) |
{ \ (zb_zcl_read_attr_req_t*)zb_buf_begin((_data_buf)) : NULL; \ \ if ((_read_attr_req)) \ { \ ZB_ZCL_HTOLE16_INPLACE(&(_read_attr_req)->attr_id); \ } \}struct zb_zcl_read_attr_req_s zb_zcl_read_attr_req_tZCL Read Attribute Command frame.
Parses Read attribute request and returns next Read attribute record or NULL if there is no more data.
If request contains invalid data, NULL is returned.
- Parameters
-
_data_buf - ID zb_bufid_t of a buffer containing write attribute request data _read_attr_req - out pointer to zb_zcl_read_attr_req_t, containing Read attribute record out value direct into data_buf. Do not change data_buf before finish work with read_attr_req
- Note
- data_buf buffer should contain Read attribute request payload, without ZCL header. Each parsed Read attribute record is extracted from initial data_buf buffer
◆ ZB_ZCL_GENERAL_INIT_READ_ATTR_REQ
| #define ZB_ZCL_GENERAL_INIT_READ_ATTR_REQ | ( | buffer, | |
| cmd_ptr, | |||
| def_resp | |||
| ) |
{ \ cmd_ptr = ZB_ZCL_START_PACKET(buffer); \ ZB_ZCL_CONSTRUCT_GENERAL_COMMAND_REQ_FRAME_CONTROL(cmd_ptr, def_resp); \ ZB_ZCL_CONSTRUCT_COMMAND_HEADER(cmd_ptr, ZB_ZCL_GET_SEQ_NUM(), ZB_ZCL_CMD_READ_ATTRIB); \}#define ZB_ZCL_GET_SEQ_NUM()Return next sequence number for ZCL frame. Definition: zb_zcl_common.h:1443
#define ZB_ZCL_START_PACKET(zbbuf)Initializes zb_buf_t buffer and returns pointer to the beginning of array. Definition: zb_zcl_common.h:1523
Initialize Read attribute command.
- Parameters
-
buffer to put packet to cmd_ptr - command buffer pointer def_resp - enable/disable default response
◆ ZB_ZCL_GENERAL_INIT_READ_ATTR_REQ_A
| #define ZB_ZCL_GENERAL_INIT_READ_ATTR_REQ_A | ( | buffer, | |
| cmd_ptr, | |||
| direction, | |||
| def_resp | |||
| ) |
{ \ cmd_ptr = ZB_ZCL_START_PACKET(buffer); \ ZB_ZCL_CONSTRUCT_GENERAL_COMMAND_REQ_FRAME_CONTROL_A(cmd_ptr, direction, ZB_ZCL_NOT_MANUFACTURER_SPECIFIC, def_resp); \ ZB_ZCL_CONSTRUCT_COMMAND_HEADER(cmd_ptr, ZB_ZCL_GET_SEQ_NUM(), ZB_ZCL_CMD_READ_ATTRIB); \}#define ZB_ZCL_GET_SEQ_NUM()Return next sequence number for ZCL frame. Definition: zb_zcl_common.h:1443
#define ZB_ZCL_START_PACKET(zbbuf)Initializes zb_buf_t buffer and returns pointer to the beginning of array. Definition: zb_zcl_common.h:1523
#define ZB_ZCL_NOT_MANUFACTURER_SPECIFICDefinition: zb_zcl_common.h:1006
Initialize Read Attribute Request command.
- Parameters
-
buffer - buffer to store command data cmd_ptr - pointer to a command data memory direction - direction of command (see zcl_frame_direction) def_resp - enable/disable default response
◆ ZB_ZCL_GENERAL_INIT_READ_ATTR_REQ_MANUF
| #define ZB_ZCL_GENERAL_INIT_READ_ATTR_REQ_MANUF | ( | buffer, | |
| cmd_ptr, | |||
| direction, | |||
| def_resp, | |||
| manuf_code | |||
| ) |
{ \ cmd_ptr = ZB_ZCL_START_PACKET(buffer); \ ZB_ZCL_CONSTRUCT_GENERAL_COMMAND_REQ_FRAME_CONTROL_A(cmd_ptr, direction, ZB_ZCL_MANUFACTURER_SPECIFIC, def_resp); \ ZB_ZCL_CONSTRUCT_COMMAND_HEADER_EXT(cmd_ptr, ZB_ZCL_GET_SEQ_NUM(), ZB_TRUE, manuf_code, ZB_ZCL_CMD_READ_ATTRIB); \}#define ZB_ZCL_GET_SEQ_NUM()Return next sequence number for ZCL frame. Definition: zb_zcl_common.h:1443
#define ZB_ZCL_START_PACKET(zbbuf)Initializes zb_buf_t buffer and returns pointer to the beginning of array. Definition: zb_zcl_common.h:1523
Initialize Read Attribute Request command with manufacturer code.
- Parameters
-
buffer - buffer to store command data cmd_ptr - pointer to a command data memory direction - direction of command (see zcl_frame_direction) def_resp - enable/disable default response manuf_code - manufacturer specific code
◆ ZB_ZCL_GENERAL_INIT_READ_ATTR_RESP
| #define ZB_ZCL_GENERAL_INIT_READ_ATTR_RESP | ( | _buffer, | |
| _cmd_ptr, | |||
| _seq | |||
| ) |
{ \ cmd_ptr = ZB_ZCL_START_PACKET((_buffer)); \ ZB_ZCL_CONSTRUCT_GENERAL_COMMAND_RESP_FRAME_CONTROL((_cmd_ptr)); \ ZB_ZCL_CONSTRUCT_COMMAND_HEADER((_cmd_ptr), (_seq), ZB_ZCL_CMD_READ_ATTRIB_RESP); \}
#define ZB_ZCL_START_PACKET(zbbuf)Initializes zb_buf_t buffer and returns pointer to the beginning of array. Definition: zb_zcl_common.h:1523
Initialize Read Attribute Response command.
- Parameters
-
_buffer - buffer to store command data _cmd_ptr - pointer to a command data memory _seq - command sequence
◆ ZB_ZCL_GENERAL_INIT_READ_ATTR_RESP_EXT
| #define ZB_ZCL_GENERAL_INIT_READ_ATTR_RESP_EXT | ( | _buffer, | |
| _cmd_ptr, | |||
| _direction, | |||
| _seq, | |||
| _is_manuf, | |||
| _manuf_id | |||
| ) |
{ \ cmd_ptr = ZB_ZCL_START_PACKET((_buffer)); \ ZB_ZCL_CONSTRUCT_GENERAL_COMMAND_RESP_FRAME_CONTROL_A((_cmd_ptr), (_direction), (_is_manuf)); \ ZB_ZCL_CONSTRUCT_COMMAND_HEADER_EXT((_cmd_ptr), (_seq), (_is_manuf), (_manuf_id), ZB_ZCL_CMD_READ_ATTRIB_RESP); \}
#define ZB_ZCL_START_PACKET(zbbuf)Initializes zb_buf_t buffer and returns pointer to the beginning of array. Definition: zb_zcl_common.h:1523
Initialize Read Attribute Response command.
- Parameters
-
_buffer - buffer to store command data _cmd_ptr - pointer to a command data memory _direction - direction of command (see zcl_frame_direction) _seq - command sequence _is_manuf - whether command is manufacturer specific _manuf_id - manufacturer ID (needed if _is_manuf is set)
◆ ZB_ZCL_GENERAL_SEND_READ_ATTR_REQ
| #define ZB_ZCL_GENERAL_SEND_READ_ATTR_REQ | ( | buffer, | |
| cmd_ptr, | |||
| addr, | |||
| dst_addr_mode, | |||
| dst_ep, | |||
| ep, | |||
| profile_id, | |||
| cluster_id, | |||
| cb | |||
| ) |
ZB_ZCL_FINISH_PACKET(buffer, cmd_ptr) \ ZB_ZCL_SEND_COMMAND_SHORT(buffer, addr, dst_addr_mode, dst_ep, ep, profile_id, cluster_id, cb);
Sends Read attribute command.
- Parameters
-
buffer to place data to cmd_ptr - pointer to the memory area after the command data end addr - address to send packet to dst_addr_mode - addressing mode dst_ep - destination endpoint ep - sending endpoint profile_id - profile identifier cluster_id - cluster identifier cb - callback for getting command send status
◆ ZB_ZCL_GENERAL_SEND_READ_ATTR_RESP
| #define ZB_ZCL_GENERAL_SEND_READ_ATTR_RESP | ( | _buffer, | |
| _cmd_ptr, | |||
| _addr, | |||
| _dst_addr_mode, | |||
| _dst_ep, | |||
| _ep, | |||
| _profile_id, | |||
| _cluster_id, | |||
| _cb | |||
| ) |
{ \ ZB_ZCL_FINISH_PACKET((_buffer), (_cmd_ptr)) \ ZB_ZCL_SEND_COMMAND_SHORT((_buffer), (_addr), (_dst_addr_mode), (_dst_ep), (_ep), \ (_profile_id), (_cluster_id), (_cb)); \}
Send Read attribute response command.
- Parameters
-
_buffer - buffer to store command data _cmd_ptr - pointer to a command data memory _addr - address to send packet to _dst_addr_mode - addressing mode _dst_ep - destination endpoint _ep - sending endpoint _profile_id - profile identifier _cluster_id - cluster identifier _cb - callback for getting command send status
Typedef Documentation
◆ zb_zcl_read_attr_req_t
| typedef struct zb_zcl_read_attr_req_s zb_zcl_read_attr_req_t |
ZCL Read Attribute Command frame.
- See also
- ZCL spec, zb_zcl_read_attr 2.4.1 Read Attributes Command
- Note
- Command frame contains variable number of parameters
◆ zb_zcl_read_attr_res_t
| typedef struct zb_zcl_read_attr_res_s zb_zcl_read_attr_res_t |
ZCL Read Attribute Response Command frame.
- See also
- ZCL spec, zb_zcl_read_attr 2.4.2 Read Attributes Response Command
- Note
- Command frame contains variable number of parameters. Also, based on status value attr_type and attr_value maybe absent.