Messaging Frames#
Name: maximumPayloadLength | ID: 0x0033 |
---|---|
Description: Returns the maximum size of the payload. The size depends on the security level in use. | |
Command Parameters: None | |
Response Parameters: | |
uint8_t apsLength | The maximum APS payload length. |
Name: sendUnicast | ID: 0x0034 |
---|---|
Description: Sends a unicast message as per the ZigBee specification. The message will arrive at its destination only if there is a known route to the destination node. Setting the ENABLE_ROUTE_DISCOVERY option will cause a route to be discovered if none is known. Setting the FORCE_ROUTE_DISCOVERY option will force route discovery. Routes to end-device children of the local node are always known. Setting the APS_RETRY option will cause the message to be retransmitted until either a matching acknowledgement is received or three transmissions have been made. Note: Using the FORCE_ROUTE_DISCOVERY option will cause the first transmission to be consumed by a route request as part of discovery, so the application payload of this packet will not reach its destination on the first attempt. If you want the packet to reach its destination, the APS_RETRY option must be set so that another attempt is made to transmit the message with its application payload after the route has been constructed. Note: When sending fragmented messages, the stack will only assign a new APS sequence number for the first fragment of the message (i.e., SL_ZIGBEE_APS_OPTION_FRAGMENT is set and the low-order byte of the groupId field in the APS frame is zero). For all subsequent fragments of the same message, the application must set the sequence number field in the APS frame to the sequence number assigned by the stack to the first fragment. | |
Command Parameters: | |
sl_zigbee_outgoing_message_type_t type | Specifies the outgoing message type. Must be one of SL_ZIGBEE_OUTGOING_DIRECT, SL_ZIGBEE_OUTGOING_VIA_ADDRESS_TABLE, or SL_ZIGBEE_OUTGOING_VIA_BINDING. |
sl_802154_short_addr_t indexOrDestination | Depending on the type of addressing used, this is either the sl_802154_short_addr_t of the destination, an index into the address table, or an index into the binding table. |
sl_zigbee_aps_frame_t apsFrame | The APS frame which is to be added to the message. |
uint8_t messageTag | A value chosen by the Host. This value is used in the ezspMessageSentHandler response to refer to this message. |
uint8_t messageLength | The length of the messageContents parameter in bytes. |
uint8_t[] messageContents | Content of the message. |
Response Parameters: | |
sl_status_t status | An sl_status_t value indicating success or the reason for failure. |
uint8_t sequence | The sequence number that will be used when this message is transmitted. |
Name: sendBroadcast | ID: 0x0036 |
---|---|
Description: Sends a broadcast message as per the ZigBee specification. | |
Command Parameters: | |
sl_802154_short_addr_t alias | The aliased source from which we send the broadcast. This must be SL_ZIGBEE_NULL_NODE_ID if we do not need an aliased source |
sl_802154_short_addr_t destination | The destination to which to send the broadcast. This must be one of the three ZigBee broadcast addresses. |
uint8_t nwkSequence | The alias nwk sequence number. this won't be used if there is no aliased source. |
sl_zigbee_aps_frame_t apsFrame | The APS frame for the message. |
uint8_t radius | The message will be delivered to all nodes within radius hops of the sender. A radius of zero is converted to EMBER_MAX_HOPS. |
uint8_t messageTag | A value chosen by the Host. This value is used in the ezspMessageSentHandler response to refer to this message. |
uint8_t messageLength | The length of the messageContents parameter in bytes. |
uint8_t[] messageContents | The broadcast message. |
Response Parameters: | |
sl_status_t status | An sl_status_t value indicating success or the reason for failure. |
uint8_t sequence | The sequence number that will be used when this message is transmitted. |
Name: proxyNextBroadcastFromLong | ID: 0x0066 |
---|---|
Description: Sends proxied broadcast message for another node in conjunction with sl_zigbee_proxy_broadcast where a long source is also specified in the NWK frame control. | |
Command Parameters: | |
uint8_t[8] euiSource | The long source from which to send the broadcast |
Response Parameters: | |
sl_status_t status | An sl_status_t value indicating success or the reason for failure. |
Name: sendMulticast | ID: 0x0038 |
---|---|
Description: Sends a multicast message to all endpoints that share a specific multicast ID and are within a specified number of hops of the sender. | |
Command Parameters: | |
sl_zigbee_aps_frame_t aps- Frame | The APS frame for the message. The multicast will be sent to the groupId in this frame. |
uint8_t hops | The message will be delivered to all nodes within this number of hops of the sender. A value of zero is converted to SL_ZIGBEE_MAX_HOPS. |
uint16_t broadcastAddr | The number of hops that the message will be forwarded by devices that are not members of the group. A value of 7 or greater is treated as infinite. |
uint16_t alias | The alias source address |
uint8_t nwkSequence | the alias sequence number |
uint16_t messageTag | A value chosen by the Host. This value is used in the sl_zigbee_ezsp_message_sent_handler response to refer to this message. |
uint8_t messageLength | The length of the messageContents parameter in bytes. |
uint8_t[] messageContents | The multicast message. |
Response Parameters: | |
sl_status_t status | An sl_status_t value. For any result other than SL_STATUS_OK, the message will not be sent. SL_STATUS_OK - The message has been submitted for transmission. SL_STATUS_INVALID_INDEX - The bindingTableIndex refers to a non-multicast binding. SL_STATUS_NETWORK_DOWN - The node is not part of a network. SL_STATUS_MESSAGE_TOO_LONG - The message is too large to fit in a MAC layer frame. SL_STATUS_ALLOCATION_FAILED - The free packet buffer pool is empty. SL_STATUS_BUSY - Insufficient resources available in Network or MAC layers to send message. |
uint8_t sequence | The sequence number that will be used when this message is transmitted. |
Name: sendReply | ID: 0x0039 |
---|---|
Description: Sends a reply to a received unicast message. The incomingMessageHandler callback for the unicast being replied to supplies the values for all the parameters except the reply itself. | |
Command Parameters: | |
sl_802154_short_addr_t sender | Value supplied by incoming unicast. |
sl_zigbee_aps_frame_t apsFrame | Value supplied by incoming unicast. |
uint8_t messageLength | The length of the messageContents parameter in bytes. |
uint8_t[] messageContents | The reply message. |
Response Parameters: | |
sl_status_t status | An sl_status_t value. SL_STATUS_INVALID_STATE - The SL_ZIGBEE_EZSP_UNICAST_REPLIES_POLICY is set to SL_ZIGBEE_EZSP_HOST_WILL_NOT_SUPPLY_REPLY. This means the NCP will automatically send an empty reply. The Host must change the policy to SL_ZIGBEE_EZSP_HOST_WILL_SUPPLY_REPLY before it can supply the reply. There is one exception to this rule: In the case of responses to message fragments, the host must call sendReply when a message fragment is received. In this case, the policy set on the NCP does not matter. The NCP expects a sendReply call from the Host for message fragments regardless of the current policy settings. SL_STATUS_ALLOCATION_FAILED - Not enough memory was available to send the reply. SL_STATUS_BUSY - Either no route or insufficient resources available. SL_STATUS_OK - The reply was successfully queued for transmission. |
Name: messageSentHandler | ID: 0x003F |
---|---|
Description: A callback indicating the stack has completed sending a message. | |
This frame is a response to the callback command. | |
Response Parameters: | |
sl_status_t status | An sl_status_t value of SL_STATUS_OK if an ACK was received from the destination or SL_STATUS_ZIGBEE_DELIVERY_FAILED if no ACK was received. |
sl_zigbee_outgoing_message_type_t type | The type of message sent. |
uint16_t indexOrDestination | The destination to which the message was sent, for direct unicasts, or the address table or binding index for other unicasts. The value is unspecified for multicasts and broadcasts. |
sl_zigbee_aps_frame_t apsFrame | The APS frame for the message. |
uint16_t messageTag | The value supplied by the Host in the sl_zigbee_ezsp_send_unicast, sl_zigbee_ezsp_send_broadcast or sl_zigbee_ezsp_send_multicast command. |
uint8_t messageLength | The length of the messageContents parameter in bytes. |
uint8_t[] messageContents | The unicast message supplied by the Host. The message contents are only included here if the decision for the messageContentsInCallback policy is messageTagAndContentsInCallback. |
Name: sendManyToOneRouteRequest | ID: 0x0041 |
---|---|
Description: Sends a route request packet that creates routes from every node in the network back to this node. This function should be called by an application that wishes to communicate with many nodes, for example, a gateway, central monitor, or controller. A device using this function was referred to as an 'aggregator' in EmberZNet 2.x and earlier, and is referred to as a 'concentrator' in the ZigBee specification and EmberZNet 3. This function enables large scale networks, because the other devices do not have to individually perform bandwidth-intensive route discoveries. Instead, when a remote node sends an APS unicast to a concentrator, its network layer automatically delivers a special route record packet first, which lists the network ids of all the intermediate relays. The concentrator can then use source routing to send outbound APS unicasts. (A source routed message is one in which the entire route is listed in the network layer header.) This allows the concentrator to communicate with thousands of devices without requiring large route tables on neighboring nodes. This function is only available in ZigBee Pro (stack profile 2), and cannot be called on end devices. Any router can be a concentrator (not just the coordinator), and there can be multiple concentrators on a network. Note that a concentrator does not automatically obtain routes to all network nodes after calling this function. Remote applications must first initiate an inbound APS unicast. Many-to-one routes are not repaired automatically. Instead, the concentrator application must call this function to rediscover the routes as necessary, for example, upon failure of a retried APS message. The reason for this is that there is no scalable one-size-fits-all route repair strategy. A common and recommended strategy is for the concentrator application to refresh the routes by calling this function periodically. | |
Command Parameters: | |
uint16_t concentratorType | Must be either SL_ZIGBEE_HIGH_RAM_CONCENTRATOR or SL_ZIGBEE_LOW_RAM_CONCENTRATOR. The former is used when the caller has enough memory to store source routes for the whole network. In that case, remote nodes stop sending route records once the concentrator has successfully received one. The latter is used when the concentrator has insufficient RAM to store all outbound source routes. In that case, route records are sent to the concentrator prior to every inbound APS unicast. |
uint8_t radius | The maximum number of hops the route request will be relayed. A radius of zero is converted to SL_ZIGBEE_MAX_HOPS |
Response Parameters: | |
sl_status_t status | SL_STATUS_OK if the route request was successfully submitted to the transmit queue, and SL_STATUS_FAIL otherwise. |
Name: pollForData | ID: 0x0042 |
---|---|
Description: Periodically request any pending data from our parent. Setting interval to 0 or units to SL_ZIGBEE_EVENT_INACTIVE will generate a single poll. | |
Command Parameters: | |
uint16_t interval | The time between polls. Note that the timer clock is free running and is not synchronized with this command. This means that the time will be between interval and (interval - 1). The maximum interval is 32767. |
sl_zigbee_event_units_t units | The units for interval. |
uint8_t failureLimit | The number of poll failures that will be tolerated before a pollCompleteHandler callback is generated. A value of zero will result in a callback for every poll. Any status value apart from SL_STATUS_OK and SL_STATUS_MAC_NO_DATA is counted as a failure. |
Response Parameters: | |
sl_status_t status | The result of sending the first poll. |
Name: pollCompleteHandler | ID: 0x0043 |
---|---|
Description: Indicates the result of a data poll to the parent of the local node. | |
This frame is a response to the callback command. | |
Response Parameters: | |
sl_status_t status | An sl_status_t value: SL_STATUS_OK - Data was received in response to the poll. SL_STATUS_MAC_NO_DATA - No data was pending. SL_STATUS_ZIGBEE_DELIVERY_FAILED - The poll message could not be sent. SL_STATUS_MAC_NO_ACK_RECEIVED - The poll message was sent but not acknowledged by the parent. |
Name: setMessageFlag | ID: 0x0136 |
---|---|
Description: Set a flag to indicate that a message is pending for a child. The next time that the child polls, it will be informed that it has a pending message. The message is sent from emberPollHandler, which is called when the child requests data. | |
Command Parameters: | |
sl_802154_short_addr_t childId | The ID of the child that just polled for data. |
Response Parameters: | |
sl_status_t status | SL_STATUS_OK - The next time that the child polls, it will be informed that it has pending data. SL_STATUS_NOT_JOINED - The child identified by childId is not our child. |
Name: clearMessageFlag | ID: 0x0137 |
---|---|
Description: Clear a flag to indicate that there are no more messages for a child. The next time the child polls, it will be informed that it does not have any pending messages. | |
Command Parameters: | |
sl_802154_short_addr_t childId | The ID of the child that no longer has pending messages. |
Response Parameters: | |
sl_status_t status | SL_STATUS_OK - The next time that the child polls, it will be informed that it does not have any pending messages. SL_STATUS_NOT_JOINED - The child identified by childId is not our child. |
Name: pollHandler | ID: 0x0044 |
---|---|
Description: Indicates that the local node received a data poll from a child. | |
This frame is a response to the callback command. | |
Response Parameters: | |
sl_802154_short_addr_t childId | The node ID of the child that is requesting data. |
bool transmitExpected | True if transmit is expected, false otherwise. |
Name: addChild | ID: 0x0138 |
---|---|
Description: Add a child to the child/neighbor table only on SoC, allowing direct manipulation of these tables by the application. This can affect the network functionality, and needs to be used wisely. If used appropriately, the application can maintain more than the maximum of children provided by the stack. | |
Command Parameters: | |
sl_802154_short_addr_t shortId | The preferred short ID of the node. |
sl_802154_long_addr_t longId | The long ID of the node. |
sl_zigbee_node_type_t nodeType | The nodetype e.g., SL_ZIGBEE_ROUTER defining, if this would be added to the child table or neighbor table. |
Response Parameters: | |
sl_status_t status | SL_STATUS_OK - This node has been successfully added. SL_STATUS_FAIL - The child was not added to the child/neighbor table. |
Name: removeChild | ID: 0x0139 |
---|---|
Description: Remove a node from child/neighbor table only on SoC, allowing direct manipulation of these tables by the application. This can affect the network functionality, and needs to be used wisely. | |
Command Parameters: | |
sl_802154_long_addr_t childEui64 | The long ID of the node. |
Response Parameters: | |
sl_status_t status | SL_STATUS_OK - This node has been successfully removed. SL_STATUS_FAIL - The node was not found in either of the child or neighbor tables. |
Name: removeNeighbor | ID: 0x013A |
---|---|
Description: Remove a neighbor from neighbor table only on SoC, allowing direct manipulation of neighbor table by the application. This can affect the network functionality, and needs to be used wisely. | |
Command Parameters: | |
sl_802154_short_addr_t shortId | The short ID of the neighbor. |
sl_802154_long_addr_t longId | The long ID of the neighbor. |
Response Parameters: None |
Name: incomingMessageHandler | ID: 0x0045 |
---|---|
Description: A callback indicating a message has been received. This frame is a response to the callback command. | |
Response Parameters: | |
sl_zigbee_incoming_message_type_t type | The type of the incoming message. One of the following: SL_ZIGBEE_INCOMING_UNICAST, SL_ZIGBEE_INCOMING_UNICAST_REPLY, SL_ZIGBEE_INCOMING_MULTICAST, SL_ZIGBEE_INCOMING_MULTICAST_LOOPBACK, SL_ZIGBEE_INCOMING_BROADCAST, SL_ZIGBEE_INCOMING_BROADCAST_LOOPBACK |
sl_zigbee_aps_frame_t apsFrame | The APS frame from the incoming message. |
sl_zigbee_rx_packet_info_t packetInfo | Miscellanous message information |
uint8_t messageLength | The length of the messageContents parameter in bytes. |
uint8_t[] message | The incoming message. |
Name: setSourceRouteDiscoveryMode | ID: 0x005A |
---|---|
Description: Sets source route discovery(MTORR) mode to on, off, reschedule. | |
Command Parameters: | |
uint8_t mode | Source route discovery mode: off:0, on:1, reschedule:2 |
Response Parameters: | |
uint32_t remainingTime | Remaining time(ms) until next MTORR broadcast if the mode is on, MAX_INT32U_VALUE if the mode is off. |
Name: incomingManyToOneRouteRequestHandler | ID: 0x007D |
---|---|
Description: A callback indicating that a many-to-one route to the concentrator with the given short and long id is available for use. | |
This frame is a response to the callback command. | |
Response Parameters: | |
sl_802154_short_addr_t source | The short id of the concentrator. |
sl_802154_long_addr_t longId | The EUI64 of the concentrator. |
uint8_t cost | The path cost to the concentrator. The cost may decrease as additional route request packets for this discovery arrive, but the callback is made only once. |
Name: incomingRouteErrorHandler | ID: 0x0080 |
---|---|
Description: A callback invoked when a route error message is received. The error indicates that a problem routing to or from the target node was encountered. This frame is a response to the callback command. | |
Response Parameters: | |
sl_status_t status | SL_STATUS_ZIGBEE_SOURCE_ROUTE_FAILURE or SL_STATUS_ZIGBEE_MANY_TO_ONE_ROUTE_FAILURE. |
sl_802154_short_addr_t target | The short id of the remote node. |
Name: incomingNetworkStatusHandler | ID: 0x00C4 |
---|---|
Description: A callback invoked when a network status/route error message is received. The error indicates that there was a problem sending/receiving messages from the target node. | |
This frame is a response to the callback command. | |
Response Parameters: | |
uint8_t errorCode | One byte over-the-air error code from network status message |
sl_802154_short_addr_t target | The short ID of the remote node |
Name: incomingRouteRecordHandler | ID: 0x0059 |
---|---|
Description: Reports the arrival of a route record command frame. | |
This frame is a response to the callback command. | |
Response Parameters: | |
sl_802154_short_addr_t source | The source of the route record. |
sl_802154_long_addr_t sourceEui | The EUI64 of the source. |
uint8_t lastHopLqi | The link quality from the node that last relayed the route record. |
int8_t lastHopRssi | The energy level (in units of dBm) observed during the reception. |
uint8_t relayCount | The number of relays in relayList. |
uint8_t[] relayList | The route record. Each relay in the list is an uint16_t node ID. The list is passed as uint8_t * to avoid alignment problems. |
Name: setSourceRoute | ID: 0x00AE |
---|---|
Description: Supply a source route for the next outgoing message. | |
Command Parameters: | |
sl_802154_short_addr_t destination | The destination of the source route. |
uint8_t relayCount | The number of relays in relayList. |
uint16_t[] relayList | The source route. |
Response Parameters: | |
sl_status_t status | SL_STATUS_OK if the source route was successfully stored, and SL_STATUS_ALLOCATION_FAILED otherwise. |
Name: unicastCurrentNetworkKey | ID: 0x0050 |
---|---|
Description: Send the network key to a destination. | |
Command Parameters: | |
sl_802154_short_addr_t targetShort | The destination node of the key. |
sl_802154_long_addr_t targetLong | The long address of the destination node. |
sl_802154_short_addr_t parentShortId | The parent node of the destination node. |
Response Parameters: | |
sl_status_t status | SL_STATUS_OK if send was successful. |
Name: addressTableEntryIsActive | ID: 0x005B |
---|---|
Description: Indicates whether any messages are currently being sent using this address table entry. Note that this function does not indicate whether the address table entry is unused. To determine whether an address table entry is unused, check the remote node ID. The remote node ID will have the value SL_ZIGBEE_TABLE_ENTRY_UNUSED_NODE_ID when the address table entry is not in use. | |
Command Parameters: | |
uint8_t addressTableIndex | The index of an address table entry. |
Response Parameters: | |
bool active | True if the address table entry is active, false otherwise. |
Name: setAddressTableInfo | ID: 0x005C |
---|---|
Description: Sets the EUI64 and short ID of an address table entry. Usually the application will not need to set the short ID in the address table. Once the remote EUI64 is set the stack is capable of figuring out the short ID on its own. However, in cases where the application does set the short ID, the application must set the remote EUI64 prior to setting the short ID. This function will also check other address table entries, the child table and the neighbor table to see if the node ID for the given EUI64 is already known. If known then this function will set node ID. If not known it will set the node ID to SL_ZIGBEE_UNKNOWN_NODE_ID. | |
Command Parameters: | |
uint8_t addressTableIndex | The index of an address table entry. |
sl_802154_long_addr_t eui64 | The EUI64 to use for the address table entry. |
sl_802154_short_addr_t id | The short ID corresponding to the remote node whose EUI64 is stored in the address table at the given index or SL_ZIGBEE_TABLE_ENTRY_UNUSED_NODE_ID which indicates that the entry stored in the address table at the given index is not in use. |
Response Parameters: | |
sl_status_t status | SL_STATUS_OK if the information was successfully set, and SL_STATUS_ZIGBEE_ADDRESS_TABLE_ENTRY_IS_ACTIVE otherwise. |
Name: getAddressTableInfo | ID: 0x005E |
---|---|
Description: Gets the EUI64 and short ID of an address table entry. | |
Command Parameters: | |
uint8_t addressTableIndex | The index of an address table entry. |
Response Parameters: | |
sl_status_t status | An sl_status_t value indicating success or the reason for failure. |
sl_802154_short_addr_t nodeId | One of the following: The short ID corresponding to the remote node whose EUI64 is stored in the address table at the given index. SL_ZIGBEE_UNKNOWN_NODE_ID - Indicates that the EUI64 stored in the address table at the given index is valid but the short ID is currently unknown. SL_ZIGBEE_DISCOVERY_ACTIVE_NODE_ID - Indicates that the EUI64 stored in the address table at the given location is valid and network address discovery is underway. SL_ZIGBEE_TABLE_ENTRY_UNUSED_NODE_ID - Indicates that the entry stored in the address table at the given index is not in use. |
sl_802154_long_addr_t eui64 | The EUI64 of the address table entry is copied to this location. |
Name: setExtendedTimeout | ID: 0x007E |
---|---|
Description: Tells the stack whether or not the normal interval between retransmissions of a retried unicast message should be increased by SL_ZIGBEE_INDIRECT_TRANSMISSION_TIMEOUT. The interval needs to be increased when sending to a sleepy node so that the message is not retransmitted until the destination has had time to wake up and poll its parent. The stack will automatically extend the timeout: - For our own sleepy children. - When an address response is received from a parent on behalf of its child. - When an indirect transaction expiry route error is received. - When an end device announcement is received from a sleepy node. | |
Command Parameters: | |
sl_802154_long_addr_t remoteEui64 | The address of the node for which the timeout is to be set. |
bool extendedTimeout | true if the retry interval should be increased by SL_ZIGBEE_INDIRECT_TRANSMISSION_TIMEOUT. false if the normal retry interval should be used. |
Response Parameters: | |
sl_status_t status | SL_STATUS_OK if the retry interval will be increased by SL_ZIGBEE_INDIRECT_TRANSMISSION_TIMEOUT and SL_STATUS_FAIL if the normal retry interval will be used. |
Name: getExtendedTimeout | ID: 0x007F |
---|---|
Description: Indicates whether or not the stack will extend the normal interval between retransmissions of a retried unicast message by SL_ZIGBEE_INDIRECT_TRANSMISSION_TIMEOUT. | |
Command Parameters: | |
sl_802154_long_addr_t remoteEui64 | The address of the node for which the timeout is to be returned. |
Response Parameters: | |
sl_status_t status | SL_STATUS_OK if the retry interval will be increased by SL_ZIGBEE_INDIRECT_TRANSMISSION_TIMEOUT and SL_STATUS_FAIL if the normal retry interval will be used. |
Name: replaceAddressTableEntry | ID: 0x0082 |
---|---|
Description: Replaces the EUI64, short ID and extended timeout setting of an address table entry. The previous EUI64, short ID and extended timeout setting are returned. | |
Command Parameters: | |
uint8_t addressTableIndex | The index of the address table entry that will be modified. |
sl_802154_long_addr_t newEui64 | The EUI64 to be written to the address table entry. |
sl_802154_short_addr_t newId | One of the following: The short ID corresponding to the new EUI64. SL_ZIGBEE_UNKNOWN_NODE_ID if the new EUI64 is valid but the short ID is unknown and should be discovered by the stack. SL_ZIGBEE_TABLE_ENTRY_UNUSED_NODE_ID if the address table entry is now unused. |
bool newExtendedTimeout | true if the retry interval should be increased by SL_ZIGBEE_INDIRECT_TRANSMISSION_TIMEOUT. false if the normal retry interval should be used. |
Response Parameters: | |
sl_status_t status | SL_STATUS_OK if the EUI64, short ID and extended timeout setting were successfully modified, and SL_STATUS_ZIGBEE_ADDRESS_TABLE_ENTRY_IS_ACTIVE otherwise. |
sl_802154_long_addr_t oldEui64 | The EUI64 of the address table entry before it was modified. |
sl_802154_short_addr_t oldId | One of the following: The short ID corresponding to the EUI64 before it was modified. SL_ZIGBEE_UNKNOWN_NODE_ID if the short ID was unknown. SL_ZIGBEE_DISCOVERY_ACTIVE_NODE_ID if discovery of the short ID was underway. SL_ZIGBEE_TABLE_ENTRY_UNUSED_NODE_ID if the address table entry was unused. |
bool oldExtendedTimeout | true if the retry interval was being increased by SL_ZIGBEE_INDIRECT_TRANSMISSION_TIMEOUT. false if the normal retry interval was being used. |
Name: lookupNodeIdByEui64 | ID: 0x0060 |
---|---|
Description: Returns the node ID that corresponds to the specified EUI64. The node ID is found by searching through all stack tables for the specified EUI64. | |
Command Parameters: | |
sl_802154_long_addr_t eui64 | The EUI64 of the node to look up. |
Response Parameters: | |
sl_status_t status | SL_STATUS_OK if the short ID was found, SL_STATUS_FAIL if the short ID is not known. |
sl_802154_short_addr_t nodeId | The short ID of the node or SL_ZIGBEE_NULL_NODE_ID if the short ID is not known. |
Name: lookupEui64ByNodeId | ID: 0x0061 |
---|---|
Description: Returns the EUI64 that corresponds to the specified node ID. The EUI64 is found by searching through all stack tables for the specified node ID. | |
Command Parameters: | |
sl_802154_short_addr_t nodeId | The short ID of the node to look up. |
Response Parameters: | |
sl_status_t status | SL_STATUS_OK if the EUI64 was found, SL_STATUS_FAIL if the EUI64 is not known. |
sl_802154_long_addr_t eui64 | The EUI64 of the node. |
Name: getMulticastTableEntry | ID: 0x0063 |
---|---|
Description: Gets an entry from the multicast table. | |
Command Parameters: | |
uint8_t index | The index of a multicast table entry. |
Response Parameters: | |
sl_status_t status | An sl_status_t value indicating success or the reason for failure. |
sl_zigbee_multicast_table_entry_t value | The contents of the multicast entry. |
Name: setMulticastTableEntry | ID: 0x0064 |
---|---|
Description: Sets an entry in the multicast table. | |
Command Parameters: | |
uint8_t index | The index of a multicast table entry |
sl_zigbee_multicast_table_entry_t value | The contents of the multicast entry. |
Response Parameters: | |
sl_status_t status | An sl_status_t value indicating success or the reason for failure. |
Name: idConflictHandler | ID: 0x007C |
---|---|
Description: A callback invoked by the EmberZNet stack when an id conflict is discovered, that is, two different nodes in the network were found to be using the same short id. The stack automatically removes the conflicting short id from its internal tables (address, binding, route, neighbor, and child tables). The application should discontinue any other use of the id. | |
This frame is a response to the callback command. | |
Response Parameters: | |
sl_802154_short_addr_t id | The short id for which a conflict was detected. |
Name: sendRawMessage | ID: 0x0096 |
---|---|
Description: Transmits the given message without modification. The MAC header is assumed to be configured in the message at the time this function is called. | |
Command Parameters: | |
uint8_t messageLength | The length of the messageContents parameter in bytes. |
uint8_t[] messageContents | The raw message. |
uint8_t priority | transmit priority. |
bool useCca | Should we enable CCA or not. |
Response Parameters: | |
sl_status_t status | An sl_status_t value indicating success or the reason for failure. |
Name: macPassthroughMessageHandler | ID: 0x0097 |
---|---|
Description: A callback invoked by the EmberZNet stack when a MAC passthrough message is received. | |
This frame is a response to the callback command. | |
Response Parameters: | |
sl_zigbee_mac_passthrough_type_t messageType | The type of MAC passthrough message received. |
sl_zigbee_rx_packet_info_t packetInfo | Information about the incoming packet. |
uint8_t messageLength | The length of the messageContents parameter in bytes. |
uint8_t[] messageContents | The raw message that was received. |
Name: macFilterMatchMessageHandler | ID: 0x0046 |
---|---|
Description: A callback invoked by the EmberZNet stack when a raw MAC message that has matched one of the application's configured MAC filters. This frame is a response to the callback command. | |
Response Parameters: | |
uint8_t filterIndexMatch | The index of the filter that was matched. |
sl_zigbee_mac_passthrough_type_t legacy- PassthroughType | The type of MAC passthrough message received. |
sl_zigbee_rx_packet_info_t packetInfo | Information about the incoming packet. |
uint8_t messageLength | The length of the messageContents parameter in bytes. |
uint8_t[] messageContents | The raw message that was received. |
Name: rawTransmitCompleteHandler | ID: 0x0098 |
---|---|
Description: A callback invoked by the EmberZNet stack when the MAC has finished transmitting a raw message. | |
This frame is a response to the callback command. | |
Response Parameters: | |
uint8_t messageLength | Length of the message that was transmitted. |
uint8_t[] messageContents | The message that was transmitted. |
sl_status_t status | SL_STATUS_OK if the transmission was successful, or SL_STATUS_ZIGBEE_DELIVERY_FAILED if not. |
Name: setMacPollFailureWaitTime | ID: 0x00F4 |
---|---|
Description: This function is useful to sleepy end devices. This function will set the retry interval (in milliseconds) for mac data poll. This interval is the time in milliseconds the device waits before retrying a data poll when a MAC level data poll fails for any reason. | |
Command Parameters: | |
uint8_t waitBeforeRetryIntervalMs | Time in seconds the device waits before retrying a data poll when a MAC level data poll fails for any reason. |
Response Parameters: None |
Name: getMaxMacRetries | ID: 0x006A |
---|---|
Description: Returns the maximum number of no-ack retries that will be attempted. | |
Command Parameters: None | |
Response Parameters: | |
uint8_t retries | Max MAC retries |
Name: setBeaconClassificationParams | ID: 0x00EF |
---|---|
Description: Sets the priority masks and related variables for choosing the best beacon. | |
Command Parameters: None | |
Response Parameters: | |
sl_status_t status | The attempt to set the pramaters returns SL_STATUS_OK |
sl_zigbee_beacon_classification_params_t param | Gets the beacon prioritization related variable. |
Name: setBeaconClassificationParams | ID: 0x00EF |
---|---|
Description: Sets the priority masks and related variables for choosing the best beacon. | |
Command Parameters: None | |
Response Parameters: | |
sl_status_t status | The attempt to get the pramaters returns SL_STATUS_OK |
sl_zigbee_beacon_classification_params_t param | Gets the beacon prioritization related variable. |
Name: getBeaconClassificationParams | ID: 0x00F3 |
---|---|
Description: Gets the priority masks and related variables for choosing the best beacon. | |
Command Parameters: None | |
Response Parameters: | |
sl_status_t status | The attempt to get the pramaters returns SL_STATUS_OK |
sl_zigbee_beacon_classification_params_t param | Gets the beacon prioritization related variable. |
Name: pendingAckedMessages | ID: 0x0121 |
---|---|
Description: Indicate whether there are pending messages in the APS retry queue. | |
Command Parameters: None | |
Response Parameters: | |
bool pending_messages | True if there is a pending message for this network in the APS retry queue, false if not. |
Name: rescheduleLinkStatusMsg | ID: 0x011B |
---|---|
Description: Reschedule sending link status message, with first one being sent immediately. | |
Command Parameters: None | |
Response Parameters: | |
sl_status_t status |
Name: setNwkUpdateId | ID: 0x011D |
---|---|
Description: Set the network update ID to the desired value. Must be called before joining or forming the network. | |
Command Parameters: | |
uint8_t nwkUpdateId | Desired value of the network update ID. |
bool set_when_on_network | Set to true in case change should also apply when on network. |
Response Parameters: | |
sl_status_t status | Status of set operation for the network update ID. |