Data Structures |
|
struct | EmberZclGroupEntry_t |
Macros |
|
#define | EMBER_ZCL_GROUP_ALL_ENDPOINTS 0xFFFF |
#define | EMBER_ZCL_GROUP_MIN 0x0001 |
#define | EMBER_ZCL_GROUP_MAX 0xFFF7 |
#define | EMBER_ZCL_GROUP_NULL 0x0000 |
#define | EMBER_ZCL_GROUP_ASSIGNMENT_MODE_AUTO_MIN 0x00 |
#define | EMBER_ZCL_GROUP_ASSIGNMENT_MODE_AUTO_MAX 0x10 |
#define | EMBER_ZCL_GROUP_ASSIGNMENT_MODE_MANUAL 0xFE |
#define | EMBER_ZCL_GROUP_ASSIGNMENT_MODE_NULL 0xFF |
#define | EMBER_ZCL_MAX_GROUP_NAME_LENGTH 0 |
Typedefs |
|
typedef uint16_t | EmberZclGroupId_t |
Functions |
|
bool | emberZclIsEndpointInGroup ( EmberZclEndpointId_t endpointId, EmberZclGroupId_t groupId) |
bool | emberZclIsEndpointAndAddrInGroup ( EmberZclEndpointId_t endpointId, const EmberIpv6Address *dstAddr, EmberZclGroupId_t groupId) |
bool | emberZclGetGroupName ( EmberZclEndpointId_t endpointId, EmberZclGroupId_t groupId, uint8_t *groupName, uint8_t *groupNameLength) |
EmberZclStatus_t | emberZclAddEndpointToGroup ( EmberZclEndpointId_t endpointId, EmberZclGroupId_t groupId, const uint8_t *groupName, uint8_t groupNameLength, uint8_t assignmentMode, const uint8_t *groupAddress, uint16_t groupUdpPort) |
EmberZclStatus_t | emberZclRemoveEndpointFromGroup ( EmberZclEndpointId_t endpointId, EmberZclGroupId_t groupId) |
EmberZclStatus_t | emberZclRemoveEndpointFromAllGroups ( EmberZclEndpointId_t endpointId) |
EmberZclStatus_t | emberZclRemoveGroup ( EmberZclGroupId_t groupId) |
EmberZclStatus_t | emberZclRemoveAllGroups (void) |
Detailed Description
See
zcl-core-types.h
for source code.
See
zcl-core.h
for source code.
Macro Definition Documentation
#define EMBER_ZCL_GROUP_ALL_ENDPOINTS 0xFFFF |
A group identifier for the all-endpoints (endpoint broadcast) group.
All endpoints are always members of this group. This group cannot be removed and no endpoint can be removed from it.
#define EMBER_ZCL_GROUP_ASSIGNMENT_MODE_AUTO_MAX 0x10 |
Upper range for the automatic address assignment mode
#define EMBER_ZCL_GROUP_ASSIGNMENT_MODE_AUTO_MIN 0x00 |
Lower range for the automatic address assignment mode
#define EMBER_ZCL_GROUP_ASSIGNMENT_MODE_MANUAL 0xFE |
Manual address assignment mode
#define EMBER_ZCL_GROUP_ASSIGNMENT_MODE_NULL 0xFF |
Value representing no address assignment
#define EMBER_ZCL_GROUP_MAX 0xFFF7 |
A maximum group identifier value.
#define EMBER_ZCL_GROUP_MIN 0x0001 |
A minimum group identifier value.
#define EMBER_ZCL_GROUP_NULL 0x0000 |
A distinguished value that represents a null (invalid) group identifier.
#define EMBER_ZCL_MAX_GROUP_NAME_LENGTH 0 |
Typedef Documentation
typedef uint16_t EmberZclGroupId_t |
A group identifier.
Function Documentation
EmberZclStatus_t emberZclAddEndpointToGroup | ( | EmberZclEndpointId_t |
endpointId,
|
EmberZclGroupId_t |
groupId,
|
||
const uint8_t * |
groupName,
|
||
uint8_t |
groupNameLength,
|
||
uint8_t |
assignmentMode,
|
||
const uint8_t * |
groupAddress,
|
||
uint16_t |
groupUdpPort
|
||
) |
This function adds an endpoint to a group.
- Parameters
-
endpointId
An endpoint identifier groupId
A group identifier groupName
A pointer to an array containing name of group groupNameLength
Length of group name array (groupName is ignored if this length is 0) assignmentMode
Assignment Mode parameter of the "Add Group" command. If set to 0xff groupAddress and groupUdpPort should be ingnored. groupAddress
Pointer to an array containing the "Multicats IPv6 Address" parameter passed to the "Add Group" command: based on the assignment mode this could be the full address, flag bits or NULL. groupUdpPort
UDP port number that group should be listening on, zero value means the group will listen on EMBER_COAP_PORT and EMBER_COAP_SECURE_PORT.
- Returns
-
- EMBER_ZCL_STATUS_SUCCESS if the endpoint was added to the group
- EMBER_ZCL_STATUS_DUPLICATE_EXISTS if the endpoint is already a member of the group
- EMBER_ZCL_STATUS_INSUFFICIENT_SPACE if there is no capacity to store the endpoint/group association
- EMBER_ZCL_STATUS_FAILURE if groupId is EMBER_ZCL_GROUP_ALL_ENDPOINTS , or if groupId is not a value between EMBER_ZCL_GROUP_MIN and EMBER_ZCL_GROUP_MAX inclusive, or if groupNameLength is greater than EMBER_ZCL_MAX_GROUP_NAME_LENGTH , or if groupNameLength is non-zero and groupName is NULL
bool emberZclGetGroupName | ( | EmberZclEndpointId_t |
endpointId,
|
EmberZclGroupId_t |
groupId,
|
||
uint8_t * |
groupName,
|
||
uint8_t * |
groupNameLength
|
||
) |
This function gets a group name and its length.
- Parameters
-
endpointId
An endpoint identifier groupId
A group identifier groupName
An array pointer which will contain the group name groupNameLength
A pointer which will contain the group name length
- Returns
-
true
if group name was retrieved successfully,false
otherwise.
bool emberZclIsEndpointAndAddrInGroup | ( | EmberZclEndpointId_t |
endpointId,
|
const EmberIpv6Address * |
dstAddr,
|
||
EmberZclGroupId_t |
groupId
|
||
) |
This function returns TRUE if the supplied endpoint is a member of the group and the supplied address is associated with the group. The following addresses are automatically considered associated with any group:
- Any unicast IPv6 address
- All CoAP Nodes IPv6 address
- All Nodes IPv6 address
- The multicast IPv6 address constructed from the group ID according to the ZCL Base Device Behavior Specification
- Parameters
-
endpointId
An endpoint identifier dstAddr
IPv6 address to be checked groupId
A group identifier
- Returns
-
true
if the endpoint is a member of the group and the address is associated with the group,false
otherwise.
bool emberZclIsEndpointInGroup | ( | EmberZclEndpointId_t |
endpointId,
|
EmberZclGroupId_t |
groupId
|
||
) |
This function determines if an endpoint is a member of a group.
- Parameters
-
endpointId
An endpoint identifier groupId
A group identifier
- Returns
-
true
if the endpoint is a member of the group,false
otherwise.
EmberZclStatus_t emberZclRemoveAllGroups | ( | void |
|
) |
This function removes all groups.
- Returns
-
- EMBER_ZCL_STATUS_SUCCESS if all groups were removed (other than the all-endpoints group)
- EMBER_ZCL_STATUS_NOT_FOUND if no groups exist (other than the all-endpoints group)
EmberZclStatus_t emberZclRemoveEndpointFromAllGroups | ( | EmberZclEndpointId_t |
endpointId
|
) |
This function removes an endpoint from all groups to which it belongs.
- Parameters
-
endpointId
An endpoint identifier
- Returns
-
- EMBER_ZCL_STATUS_SUCCESS if the endpoint was removed from one or more groups
- EMBER_ZCL_STATUS_NOT_FOUND if the endpoint is not a member of any group (other than the all-endpoints group)
EmberZclStatus_t emberZclRemoveEndpointFromGroup | ( | EmberZclEndpointId_t |
endpointId,
|
EmberZclGroupId_t |
groupId
|
||
) |
This function removes an endpoint from a group.
- Parameters
-
endpointId
An endpoint identifier groupId
A group identifier
- Returns
-
- EMBER_ZCL_STATUS_SUCCESS if the endpoint was removed from the group
- EMBER_ZCL_STATUS_NOT_FOUND if the endpoint is not a member of the group
- EMBER_ZCL_STATUS_INVALID_FIELD if the groupId is not a value between EMBER_ZCL_GROUP_MIN and EMBER_ZCL_GROUP_MAX inclusive
EmberZclStatus_t emberZclRemoveGroup | ( | EmberZclGroupId_t |
groupId
|
) |
This function removes a group.
- Parameters
-
groupId
A group identifier
- Returns
-
- EMBER_ZCL_STATUS_SUCCESS if the group was removed
- EMBER_ZCL_STATUS_NOT_FOUND if the group does not exist
- EMBER_ZCL_STATUS_INVALID_FIELD if the groupId is not a value between EMBER_ZCL_GROUP_MIN and EMBER_ZCL_GROUP_MAX inclusive