Networking Frames#

Name: setManufacturerCode

ID: 0x0015

Description: Sets the manufacturer code to the specified value. The manufacturer code is one of the fields of the node descriptor.

Command Parameters:

uint16_t code

The manufacturer code for the local node.

Response Parameters: sl_status_t status

Name: getManufacturerCode

ID: 0x00CA

Description: Gets the manufacturer code to the specified value. The manufacturer code is one of the fields of the node descriptor.

Command Parameters: None

Response Parameters:

uint16_t code

The manufacturer code for the local node.

Name: setPowerDescriptor

ID: 0x0016

Description: Sets the power descriptor to the specified value. The power descriptor is a dynamic value. Therefore, you should call this function whenever the value changes.

Command Parameters:

uint16_t descriptor

The new power descriptor for the local node.

Response Parameters: sl_status_t status

Name: networkInit

ID: 0x0017

Description: Resume network operation after a reboot. The node retains its original type. This should be called on startup whether or not the node was previously part of a network. SL_STATUS_NOT_JOINED is returned if the node is not part of a network. This command accepts options to control the network initialization.

Command Parameters:

sl_zigbee_network_init_struct_t networkInitStruct

An sl_zigbee_network_init_struct_t containing the options for initialization.

Response Parameters:

sl_status_t status

An sl_status_t value that indicates one of the following: successful initialization, SL_STATUS_NOT_JOINED if the node is not part of a network, or the reason for failure.

Name: networkState

ID: 0x0018

Description: Returns a value indicating whether the node is joining, joined to, or leaving a network.

Command Parameters: None

Response Parameters:

sl_zigbee_network_status_t status

An sl_zigbee_network_status_t value indicating the current join status.

Name: stackStatusHandler

ID: 0x0019

Description: A callback invoked when the status of the stack changes. If the status parameter equals SL_STATUS_NETWORK_UP, then the getNetworkParameters command can be called to obtain the new network parameters. If any of the parameters are being stored in nonvolatile memory by the Host, the stored values should be updated.

This frame is a response to the callback command.

Response Parameters:

sl_status_t status

Stack status.

Name: startScan

ID: 0x001A

Description: This function will start a scan.

Command Parameters:

sl_zigbee_ezsp_network_scan_type_t scanType

Indicates the type of scan to be performed. Possible values are: SL_ZIGBEE_EZSP_ENERGY_SCAN and SL_ZIGBEE_EZSP_ACTIVE_SCAN. For each type, the respective callback for reporting results is: energyScanResultHandler and networkFoundHandler. The energy scan and active scan report errors and completion via the scanCompleteHandler.

uint32_t channelMask

Bits set as 1 indicate that this particular channel should be scanned. Bits set to 0 indicate that this particular channel should not be scanned. For example, a channelMask value of 0x00000001 would indicate that only channel 0 should be scanned. Valid channels range from 11 to 26 inclusive. This translates to a channel mask value of 0x07FFF800. As a convenience, a value of 0 is reinterpreted as the mask for the current channel.

uint8_t duration

Sets the exponent of the number of scan periods, where a scan period is 960 symbols. The scan will occur for ((2^duration) + 1) scan periods.

Response Parameters:

sl_status_t status

SL_STATUS_OK signals that the scan successfully started. Possible error responses and their meanings: SL_STATUS_MAC_SCANNING, we are already scanning; SL_STATUS_BAD_SCAN_DURATION, we have set a duration value that is not 0..14 inclusive; SL_STATUS_MAC_INCORRECT_SCAN_TYPE, we have requested an undefined scanning type; SL_STATUS_INVALID_CHANNEL_MASK, our channel mask did not specify any valid channels.

Name: energyScanResultHandler

ID: 0x0048

Description: Reports the result of an energy scan for a single channel. The scan is not complete until the scanCompleteHandler callback is called.

This frame is a response to the callback command.

Response Parameters:

uint8_t channel

The 802.15.4 channel number that was scanned.

int8s maxRssiValue

The maximum RSSI value found on the channel.

Name: networkFoundHandler

ID: 0x001B

Description: Reports that a network was found as a result of a prior call to startScan. Gives the network parameters useful for deciding which network to join.

This frame is a response to the callback command.

Response Parameters:

sl_zigbee_zigbee_network_t networkFound

The parameters associated with the network found.

uint8_t lastHopLqi

The link quality from the node that generated this beacon.

Name: scanCompleteHandler

ID: 0x001C

Description: Returns the status of the current scan of type SL_ZIGBEE_EZSP_ENERGY_SCAN or SL_ZIGBEE_EZSP_ACTIVE_SCAN. SL_STATUS_OK signals that the scan has completed. Other error conditions signify a failure to scan on the channel specified.

This frame is a response to the callback command.

Response Parameters:

uint8_t channel

The channel on which the current error occurred. Undefined for the case of SL_STATUS_OK.

sl_status_t status

The error condition that occurred on the current channel. Value will be SL_STATUS_OK when the scan has completed.

Name: unusedPanIdFoundHandler

ID: 0x00D2

Description: This function returns an unused panID and channel pair found via the find unused panId scan procedure.

This frame is a response to the callback command.

Response Parameters:

sl_802154_pan_id_t panId

The unused panID which has been found.

uint8_t channel

The channel that the unused panID was found on.

Name: findUnusedPanId

ID: 0x00D3

Description: This function starts a series of scans which will return an available panId.

Command Parameters:

uint32_t channelMask

The channels that will be scanned for available panIds.

uint8_t duration

The duration of the procedure.

Response Parameters:

sl_status_t status

The error condition that occurred during the scan. Value will be SL_STATUS_OK if there are no errors.

Name: stopScan

ID: 0x001D

Description: Terminates a scan in progress.

Command Parameters: None

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

Name: formNetwork

ID: 0x001E

Description: Forms a new network by becoming the coordinator.

Command Parameters:

sl_zigbee_network_parameters_t parameters

Specification of the new network.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

Name: joinNetwork

ID: 0x001F

Description: Causes the stack to associate with the network using the specified network parameters. It can take several seconds for the stack to associate with the local network. Do not send messages until the stackStatusHandler callback informs you that the stack is up.

Command Parameters:

sl_zigbee_node_type_t nodeType

Specification of the role that this node will have in the network. This role must not be SL_ZIGBEE_COORDINATOR. To be a coordinator, use the formNetwork command.

sl_zigbee_network_parameters_t parameters

Specification of the network with which the node should associate.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

Name: joinNetworkDirectly

ID: 0x003B

Description: Causes the stack to associate with the network using the specified network parameters in the beacon parameter. It can take several seconds for the stack to associate with the local network. Do not send messages until the stackStatusHandler callback informs you that the stack is up. Unlike ::emberJoinNetwork(), this function does not issue an active scan before joining. Instead, it will cause the local node to issue a MAC Association Request directly to the specified target node. It is assumed that the beacon parameter is an artifact after issuing an active scan. (For more information, see emberGetBestBeacon and emberGetNextBeacon.)

Command Parameters:

sl_zigbee_node_type_t localNodeType

Specifies the role that this node will have in the network. This role must not be SL_ZIGBEE_COORDINATOR. To be a coordinator, use the formNetwork command.

sl_zigbee_beacon_data_t beacon

Specifies the network with which the node should associate.

int8_t radioTxPower

The radio transmit power to use, specified in dBm.

bool clearBeaconsAfterNetworkUp

If true, clear beacons in cache upon join success. If join fail, do nothing.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

Name: leaveNetwork

ID: 0x0020

Description: Causes the stack to leave the current network. This generates a stackStatusHandler callback to indicate that the network is down. The radio will not be used until after sending a formNetwork or joinNetwork command.

Command Parameters: None

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

Name: findAndRejoinNetwork

ID: 0x0021

Description: The application may call this function when contact with the network has been lost. The most common usage case is when an end device can no longer communicate with its parent and wishes to find a new one. Another case is when a device has missed a Network Key update and no longer has the current Network Key. The stack will call sl_zigbee_ezsp_stack_status_handler to indicate that the network is down, then try to re-establish contact with the network by performing an active scan, choosing a network with matching extended pan id, and sending a ZigBee network rejoin request. A second call to the sl_zigbee_ezsp_stack_status_handler callback indicates either the success or the failure of the attempt. The process takes approximately 150 milliseconds per channel to complete.

Command Parameters:

bool haveCurrentNetworkKey

This parameter tells the stack whether to try to use the current network key. If it has the current network key it will perform a secure rejoin (encrypted). If this fails the device should try an unsecure rejoin. If the Trust Center allows the rejoin then the current Network Key will be sent encrypted using the device's Link Key.

uint32_t channelMask

A mask indicating the channels to be scanned. See sli_zigbee_stack_start_scan for format details. A value of 0 is reinterpreted as the mask for the current channel.

uint8_t reason

A sl_zigbee_rejoin_reason_t variable which could be passed in if there is actually a reason for rejoin, or could be left at 0xFF

uint8_t nodeType

The rejoin could be triggered with a different nodeType. This value could be set to 0 or SL_ZIGBEE_DEVICE_TYPE_UNCHANGED if not needed.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

Name: permitJoining

ID: 0x0022

Description: Tells the stack to allow other nodes to join the network with this node as their parent. Joining is initially disabled by default.

Command Parameters:

uint8_t duration

A value of 0x00 disables joining. A value of 0xFF enables joining. Any other value enables joining for that number of seconds.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

Name: childJoinHandler

ID: 0x0023

Description: Indicates that a child has joined or left. This frame is a response to the callback command.

Response Parameters:

uint8_t index

The index of the child of interest.

bool joining

True if the child is joining. False the child is leaving.

sl_802154_short_addr_t childId

The node ID of the child.

sl_802154_long_addr_t childEui64

The EUI64 of the child.

sl_zigbee_node_type_t childType

The node type of the child.

Name: energyScanRequest

ID: 0x009C

Description: Sends a ZDO energy scan request. This request may only be sent by the current network manager and must be unicast, not broadcast. See ezsp-utils.h for related macros sli_zigbee_stack_set_network_manager_request() and sl_zigbee_change_channel_request().

Command Parameters:

sl_802154_short_addr_t target

The network address of the node to perform the scan.

uint32_t scanChannels

A mask of the channels to be scanned.

uint8_t scanDuration

How long to scan on each channel. Allowed values are 0..5, with the scan times as specified by 802.15.4 (0 = 31ms, 1 = 46ms, 2 = 77ms, 3 = 138ms, 4 = 261ms, 5 = 507ms).

uint16_t scanCount

The number of scans to be performed on each channel (1..8).

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

Name: getNetworkParameters

ID: 0x0028

Description: Returns the current network parameters.

Command Parameters: None

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

sl_zigbee_node_type_t nodeType

An sl_zigbee_node_type_t value indicating the current node type.

sl_zigbee_network_parameters_t parameters

The current network parameters.

Name: getRadioParameters

ID: 0x00FD

Description: Returns the current radio parameters based on phy index.

Command Parameters:

uint8_t phyIndex

Desired index of phy interface for radio parameters.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

sl_zigbee_multi_phy_radio_parameters_t parameters

The current radio parameters based on provided phy index.

Name: getParentChildParameters

ID: 0x0029

Description: Returns information about the children of the local node and the parent of the local node.

Command Parameters: None

Response Parameters:

uint8_t childCount

The number of children the node currently has.

sl_802154_long_addr_t parentEui64

The parent's EUI64. The value is undefined for nodes without parents (coordinators and nodes that are not joined to a network).

sl_802154_short_addr_t parentNodeId

The parent's node ID. The value is undefined for nodes without parents (coordinators and nodes that are not joined to a network).

Name: routerChildCount

ID: 0x013B

Description: Return the number of router children that the node currently has.

Command Parameters: None

Response Parameters:

uint8_t routerChildCount

The number of router children.

Name: maxChildCount

ID: 0x013C

Description: Return the maximum number of children for this node. The return value is undefined for nodes that are not joined to a network.

Command Parameters: None

Response Parameters:

uint8_t maxChildCount

The maximum number of children.

Name: maxRouterChildCount

ID: 0x013D

Description: Return the maximum number of router children for this node. The return value is undefined for nodes that are not joined to a network.

Command Parameters: None

Response Parameters:

uint8_t maxRouterChildCount

The maximum number of router children.

Name: getParentIncomingNwkFrameCounter

ID: 0x013E

Command Parameters: None

Response Parameters:

uint32_t parentIncomingNwkFrameCounter

Name: setParentIncomingNwkFrameCounter

ID: 0x013F

Command Parameters:

uint32_t value

Response Parameters:

sl_status_t status

Name: currentStackTasks

ID: 0x0145

Description: Return a bitmask indicating the stack's current tasks. The mask ::SL_ZIGBEE_HIGH_PRIORITY_TASKS defines which tasks are high priority. Devices should not sleep if any high priority tasks are active. Active tasks that are not high priority are waiting for messages to arrive from other devices. If there are active tasks, but no high priority ones, the device may sleep but should periodically wake up and call ::emberPollForData() in order to receive messages. Parents will hold messages for ::SL_ZIGBEE_INDIRECT_TRANSMISSION_TIMEOUT milliseconds before discarding them.

Command Parameters: None

Response Parameters:

uint16_t activeTasks

A bitmask of the stack's active tasks.

Name: okToNap

ID: 0x0146

Description: Indicate whether the stack is currently in a state where there are no high-priority tasks, allowing the device to sleep. There may be tasks expecting incoming messages, in which case the device should periodically wake up and call ::emberPollForData() in order to receive messages. This function can only be called when the node type is ::SL_ZIGBEE_SLEEPY_END_DEVICE.

Command Parameters: None

Response Parameters:

bool value

True if the application may sleep but the stack may be expecting incoming messages.

Name: parentTokenSet

ID: 0x0140

Description: Indicate whether the parent token has been set by association.

Command Parameters: None

Response Parameters:

bool indicator

True if the parent token has been set.

Name: okToHibernate

ID: 0x0141

Description: Indicate whether the stack currently has any tasks pending. If no tasks are pending, ::emberTick() does not need to be called until the next time a stack API function is called. This function can only be called when the node type is ::SL_ZIGBEE_SLEEPY_END_DEVICE.

Command Parameters: None

Response Parameters:

bool indicator

True if the application may sleep for as long as it wishes.

Name: okToLongPoll

ID: 0x0142

Description: Indicate whether the stack is currently in a state that does not require the application to periodically poll.

Command Parameters: None

Response Parameters:

bool indicator

True if the device may poll less frequently.

Name: stackPowerDown

ID: 0x0143

Description: Calling this function will render all other stack functions except sli_zigbee_stack_stack_power_up() non-functional until the radio is powered back on.

Command Parameters: None

Response Parameters: None

Name: stackPowerUp

ID: 0x0144

Description: Initialize the radio. Typically called coming out of deep sleep. For non-sleepy devices, also turns the radio on and leaves it in RX mode.

Command Parameters: None

Response Parameters: None

Name: getChildData

ID: 0x004A

Description: Returns information about a child of the local node.

Command Parameters:

uint8_t index

The index of the child of interest in the child table. Possible indexes range from zero to SL_ZIGBEE_CHILD_TABLE_SIZE.

Response Parameters:

sl_status_t status

SL_STATUS_OK if there is a child at index. SL_STATUS_NOT_JOINED if there is no child at index.

sl_zigbee_child_data_t childData

The data of the child.

Name: setChildData

ID: 0x00AC

Description: Sets child data to the child table token.

Command Parameters:

uint8_t index

The index of the child of interest in the child table. Possible indexes range from zero to (SL_ZIGBEE_CHILD_TABLE_SIZE - 1).

sl_zigbee_child_data_t childData

The data of the child.

Response Parameters:

sl_status_t status

SL_STATUS_OK if the child data is set successfully at index. SL_STATUS_INVALID_INDEX if provided index is out of range.

Name: childId

ID: 0x0106

Description: Convert a child index to a node ID.

Command Parameters:

uint8_t childIndex

The index of the child of interest in the child table. Possible indexes range from zero to SL_ZIGBEE_CHILD_TABLE_SIZE.

Response Parameters:

sl_802154_short_addr_t childId

The node ID of the child or SL_ZIGBEE_NULL_NODE_ID if there isn't a child at the childIndex specified

Name: childPower

ID: 0x0134

Description: Return radio power value of the child from the given childIndex.

Command Parameters:

uint8_t childIndex

The index of the child of interest in the child table. Possible indexes range from zero to SL_ZIGBEE_CHILD_TABLE_SIZE.

Response Parameters:

int8_t childPower

The power of the child or maximum radio power, which is the power value provided by the user while forming/joining a network if there isn't a child at the childIndex specified

Name: setChildPower

ID: 0x0135

Description: Set the radio power value for a given child index.

Command Parameters:

uint8_t childIndex

The index.

int8_t newPower

The new power value.

Response Parameters: None

Name: childIndex

ID: 0x0107

Description: Convert a node ID to a child index.

Command Parameters:

sl_802154_short_addr_t childId

The node ID of the child

Response Parameters:

uint8_t childIndex

The child index or 0xFF if the node ID doesn't belong to a child

Name: getSourceRouteTableTotalSize

ID: 0x00C3

Description: Returns the source route table total size.

Command Parameters: None

Response Parameters:

uint8_t sourceRouteTableTotalSize

Total size of source route table.

Name: getSourceRouteTableFilledSize

ID: 0x00C2

Description: Returns the number of filled entries in source route table.

Command Parameters: None

Response Parameters:

uint8_t sourceRouteTableFilledSize

The number of filled entries in source route table.

Name: getSourceRouteTableEntry

ID: 0x00C1

Description: Returns information about a source route table entry.

Command Parameters:

uint8_t index

The index of the entry of interest in the source route table. Possible indexes range from zero to SOURCE_ROUTE_TABLE_FILLED_SIZE.

Response Parameters:

sl_status_t status

SL_STATUS_OK if there is source route entry at index. SL_STATUS_NOT_FOUND if there is no source route at index.

sl_802154_short_addr_t destination

The node ID of the destination in that entry.

uint8_t closerIndex

The closer node index for this source route table entry

Name: getNeighbor

ID: 0x0079

Description: Returns the neighbor table entry at the given index. The number of active neighbors can be obtained using the neighborCount command.

Command Parameters:

uint8_t index

The index of the neighbor of interest. Neighbors are stored in ascending order by node id, with all unused entries at the end of the table.

Response Parameters:

sl_status_t status

SL_STATUS_FAIL if the index is greater or equal to the number of active neighbors, or if the device is an end device. Returns SL_STATUS_OK otherwise.

sl_zigbee_neighbor_table_entry_t value

The contents of the neighbor table entry.

Name: getNeighborFrameCounter

ID: 0x003E

Description: Return sl_status_t depending on whether the frame counter of the node is found in the neighbor or child table. This function gets the last received frame counter as found in the Network Auxiliary header for the specified neighbor or child.

Command Parameters:

sl_802154_long_addr_t eui64

eui64 of the node

Response Parameters:

sl_status_t status

Return SL_STATUS_NOT_FOUND if the node is not found in the neighbor or child table. Returns SL_STATUS_OK otherwise.

uint32_t returnFrameCounter

Return the frame counter of the node from the neighbor or child table

Name: setNeighborFrameCounter

ID: 0x00AD

Description: Sets the frame counter for the neighbor or child.

Command Parameters:

sl_802154_long_addr_t eui64

eui64 of the node

uint32_t frameCounter

Return the frame counter of the node from the neighbor or child table

Response Parameters:

sl_status_t status

Return SL_STATUS_NOT_FOUND if the node is not found in the neighbor or child table. Returns SL_STATUS_OK otherwise

Name: setRoutingShortcutThreshold

ID: 0x00D0

Description: Sets the routing shortcut threshold to directly use a neighbor instead of performing routing.

Command Parameters:

uint8_t costThresh

The routing shortcut threshold to configure.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

Name: getRoutingShortcutThreshold

ID: 0x00D1

Description: Gets the routing shortcut threshold used to differentiate between directly using a neighbor vs. performing routing.

Command Parameters: None

Response Parameters:

uint8_t routingShortcutThresh

The routing shortcut threshold

Name: neighborCount

ID: 0x007A

Description: Returns the number of active entries in the neighbor table.

Command Parameters: None

Response Parameters:

uint8_t value

The number of active entries in the neighbor table.

Name: getRouteTableEntry

ID: 0x007B

Description: Returns the route table entry at the given index. The route table size can be obtained using the getConfigurationValue command.

Command Parameters:

uint8_t index

The index of the route table entry of interest.

Response Parameters:

sl_status_t status

SL_STATUS_FAIL if the index is out of range or the device is an end device, and SL_STATUS_OK otherwise.

sl_zigbee_route_table_entry_t value

The contents of the route table entry.

Name: setRadioPower

ID: 0x0099

Description: Sets the radio output power at which a node is operating. Ember radios have discrete power settings. For a list of available power settings, see the technical specification for the RF communication module in your Developer Kit. Note: Care should be taken when using this API on a running network, as it will directly impact the established link qualities neighboring nodes have with the node on which it is called. This can lead to disruption of existing routes and erratic network behavior.

Command Parameters:

int8s power

Desired radio output power, in dBm.

Response Parameters:

sl_status_t status

An sl_status_t value indicating the success or failure of the command.

Name: setRadioChannel

ID: 0x009A

Description: Sets the channel to use for sending and receiving messages. For a list of available radio channels, see the technical specification for the RF communication module in your Developer Kit. Note: Care should be taken when using this API, as all devices on a network must use the same channel.

Command Parameters:

uint8_t channel

Desired radio channel.

Response Parameters:

sl_status_t status

An sl_status_t value indicating the success or failure of the command.

Name: getRadioChannel

ID: 0x00FF

Description: Gets the channel in use for sending and receiving messages.

Command Parameters: None

Response Parameters:

uint8_t channel

Current radio channel.

Name: setRadioIeee802154CcaMode

ID: 0x0095

Description: Set the configured 802.15.4 CCA mode in the radio.

Command Parameters:

uint8_t ccaMode

A RAIL_IEEE802154_CcaMode_t value.

Response Parameters:

sl_status_t status

An sl_status_t value indicating the success or failure of the command.

Name: setConcentrator

ID: 0x0010

Description: Enable/disable concentrator support.

Command Parameters:

bool on

If this bool is true the concentrator support is enabled. Otherwise is disabled. If this bool is false all the other arguments are ignored.

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.

uint16_t minTime

The minimum amount of time that must pass between MTORR broadcasts.

uint16_t maxTime

The maximum amount of time that can pass between MTORR broadcasts.

uint8_t routeErrorThreshold

The number of route errors that will trigger a re-broadcast of the MTORR.

uint8_t deliveryFailureThreshold

The number of APS delivery failures that will trigger a re-broadcast of the MTORR.

uint8_t maxHops

The maximum number of hops that the MTORR broadcast will be allowed to have. A value of 0 will be converted to the SL_ZIGBEE_MAX_HOPS value set by the stack.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

Name: concentratorStartDiscovery

ID: 0x014F

Description: Starts periodic many-to-one route discovery. Periodic discovery is started by default on bootup, but this function may be used if discovery has been stopped by a call to ::emberConcentratorStopDiscovery().

Command Parameters: None

Response Parameters: None

Name: concentratorStopDiscovery

ID: 0x0150

Description: Stops periodic many-to-one route discovery.

Command Parameters: None

Response Parameters: None

Name: concentratorNoteRouteError

ID: 0x0151

Description: Notes when a route error has occurred.

Command Parameters:

sl_status_t status

sl_802154_short_addr_t nodeId

Response Parameters: None

Name: setBrokenRouteErrorCode

ID: 0x0011

Description: Sets the error code that is sent back from a router with a broken route.

Command Parameters:

uint8_t errorCode

Desired error code.

Response Parameters:

sl_status_t status

An sl_status_t value indicating the success or failure of the command.

Name: multiPhyStart

ID: 0x00F8

Description: This causes to initialize the desired radio interface other than native and form a new network by becoming the coordinator with same panId as native radio network.

Command Parameters:

uint8_t phyIndex

Index of phy interface. The native phy index would be always zero hence valid phy index starts from one.

uint8_t page

Desired radio channel page.

uint8_t channel

Desired radio channel.

int8_t power

Desired radio output power, in dBm.

sl_zigbee_multi_phy_nwk_config_t bitmask

Network configuration bitmask.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

Name: multiPhyStop

ID: 0x00F9

Description: This causes to bring down the radio interface other than native.

Command Parameters:

uint8_t phyIndex

Index of phy interface. The native phy index would be always zero hence valid phy index starts from one.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

Name: multiPhySetRadioPower

ID: 0x00FA

Description: Sets the radio output power for desired phy interface at which a node is operating. Ember radios have discrete power settings. For a list of available power settings, see the technical specification for the RF communication module in your Developer Kit. Note: Care should be taken when using this api on a running network, as it will directly impact the established link qualities neighboring nodes have with the node on which it is called. This can lead to disruption of existing routes and erratic network behavior.

Command Parameters:

uint8_t phyIndex

Index of phy interface. The native phy index would be always zero hence valid phy index starts from one.

int8_t power

Desired radio output power, in dBm.

Response Parameters:

sl_status_t status

An sl_status_t value indicating the success or failure of the command.

Name: sendLinkPowerDeltaRequest

ID: 0x00F7

Description: Send Link Power Delta Request from a child to its parent.

Command Parameters: None

Response Parameters:

sl_status_t status

An sl_status_t value indicating the success or failure of sending the request.

Name: multiPhySetRadioChannel

ID: 0x00FB

Description: Sets the channel for desired phy interface to use for sending and receiving messages. For a list of available radio pages and channels, see the technical specification for the RF communication module in your Developer Kit. Note: Care should be taken when using this API, as all devices on a network must use the same page and channel.

Command Parameters:

uint8_t phyIndex

Index of phy interface. The native phy index would be always zero hence valid phy index starts from one.

uint8_t page

Desired radio channel page.

uint8_t channel

Desired radio channel.

Response Parameters:

sl_status_t status

An sl_status_t value indicating the success or failure of the command.

Name: getDutyCycleState

ID: 0x0035

Description: Obtains the current duty cycle state.

Command Parameters: None

Response Parameters:

sl_status_t status

An sl_status_t value indicating the success or failure of the command.

sl_zigbee_duty_cycle_state_t returnedState

The current duty cycle state in effect.

Name: setDutyCycleLimitsInStack

ID: 0x0040

Description: Set the current duty cycle limits configuration. The Default limits set by stack if this call is not made.

Command Parameters:

sl_zigbee_duty_cycle_limits_t limits

The duty cycle limits configuration to utilize.

Response Parameters:

sl_status_t status

SL_STATUS_OK if the duty cycle limit configurations set successfully, SL_STATUS_INVALID_PARAMETER if set illegal value such as setting only one of the limits to default or violates constraints Susp > Crit > Limi, SL_STATUS_INVALID_STATE if device is operating on 2.4Ghz

Name: getDutyCycleLimits

ID: 0x004B

Description: Obtains the current duty cycle limits that were previously set by a call to sli_zigbee_stack_set_duty_cycle_limits_in_stack(), or the defaults set by the stack if no set call was made.

Command Parameters: None

Response Parameters:

sl_status_t status

An sl_status_t value indicating the success or failure of the command.

sl_zigbee_duty_cycle_limits_t returnedLimits

Return current duty cycle limits if returnedLimits is not NULL.

Name: getCurrentDutyCycle

ID: 0x004C

Description: Returns the duty cycle of the stack's connected children that are being monitored, up to maxDevices. It indicates the amount of overall duty cycle they have consumed (up to the suspend limit). The first entry is always the local stack's nodeId, and thus the total aggregate duty cycle for the device. The passed pointer arrayOfDeviceDutyCycles MUST have space for maxDevices.

Command Parameters:

uint8_t maxDevices

Number of devices to retrieve consumed duty cycle.

Response Parameters:

sl_status_t status

SL_STATUS_OK if the duty cycles were read successfully, SL_STATUS_INVALID_PARAMETER maxDevices is greater than SL_ZIGBEE_MAX_END_DEVICE_CHILDREN + 1.

uint8_t[134] arrayOfDeviceDutyCycles

Consumed duty cycles up to maxDevices. When the number of children that are being monitored is less than maxDevices, the sl_802154_short_addr_t element in the sl_zigbee_per_device_duty_cycle_t will be 0xFFFF.

Name: dutyCycleHandler

ID: 0x004D

Description: Callback fires when the duty cycle state has changed.

This frame is a response to the callback command.

Response Parameters:

uint8_t channelPage

The channel page whose duty cycle state has changed.

uint8_t channel

The channel number whose duty cycle state has changed.

sl_zigbee_duty_cycle_state_t state

The current duty cycle state.

sl_zigbee_per_device_duty_cycle_t arrayOfDeviceDutyCycles

Consumed duty cycles of end devices that are being monitored. The first entry always be the local stack's nodeId, and thus the total aggregate duty cycle for the device.

Name: setNumBeaconsToStore

ID: 0x0037

Description: Configure the number of beacons to store when issuing active scans for networks.

Command Parameters:

uint8_t numBeacons

The number of beacons to cache when scanning.

Response Parameters:

sl_status_t status

SL_STATUS_INVALID_PARAMETER if numBeacons is greater than SL_ZIGBEE_MAX_BEACONS_TO_STORE, otherwise SL_STATUS_OK

Name: getStoredBeacon

ID: 0x0004

Description: Fetches the specified beacon in the cache. Beacons are stored in cache after issuing an active scan.

Command Parameters:

uint8_t beacon_number

The beacon index to fetch. Valid values range from 0 to sli_zigbee_stack_get_num_stored_beacons-1.

Response Parameters:

sl_status_t status

An appropriate sl_status_t status code.

sl_zigbee_beacon_data_t beacon

The beacon to populate upon success.

Name: getNumStoredBeacons

ID: 0x0008

Description: Returns the number of cached beacons that have been collected from a scan.

Command Parameters: None

Response Parameters:

uint8_t numBeacons

The number of cached beacons that have been collected from a scan.

Name: clearStoredBeacons

ID: 0x003C

Description: Clears all cached beacons that have been collected from a scan.

Command Parameters: None

Response Parameters: sl_status_t status

Name: setLogicalAndRadioChannel

ID: 0x00B9

Description: This call sets the radio channel in the stack and propagates the information to the hardware.

Command Parameters:

uint8_t radioChannel

The radio channel to be set.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

Name: sleepyToSleepyNetworkStart

ID: 0x0119

Description: Form a new sleepy-to-sleepy network. If the network is using security, the device must call sli_zigbee_stack_set_initial_security_state() first.

Command Parameters:

sl_zigbee_network_parameters_t parameters

Specification of the new network.

bool initiator

Whether this device is initiating or joining the network.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or a reason for failure.

Name: sendZigbeeLeave

ID: 0x011A

Description: Send a Zigbee NWK Leave command to the destination.

Command Parameters:

sl_802154_pan_id_t destination

Node ID of the device being told to leave.

sl_zigbee_leave_request_flags_t flags

Bitmask indicating additional considerations for the leave request.

Response Parameters:

sl_status_t status

Status indicating success or a reason for failure. Call is invalid if destination is on network or is the local node.

Name: getPermitJoining

ID: 0x011F

Description: Indicate the state of permit joining in MAC.

Command Parameters: None

Response Parameters:

bool joiningPermitted

Whether the current network permits joining.

Name: getExtendedPanId

ID: 0x0127

Description: Get the 8-byte extended PAN ID of this node.

Command Parameters: None

Response Parameters:

uint8_t[8] extendedPanId

Extended PAN ID of this node. Valid only if it is currently on a network.

Name: getCurrentNetwork

ID: 0x014E

Description: Get the current network.

Command Parameters: None

Response Parameters:

uint8_t index

Return the current network index.

Name: setInitialNeighborOutgoingCost

ID: 0x0122

Description: Set initial outgoing link cost for neighbor.

Command Parameters:

uint8_t cost

The new default cost. Valid values are 0, 1, 3, 5, and 7.

Response Parameters:

sl_status_t status

Whether or not initial cost was successfully set.

Name: getInitialNeighborOutgoingCost

ID: 0x0123

Description: Get initial outgoing link cost for neighbor.

Command Parameters: None

Response Parameters:

uint8_t cost

The default cost associated with new neighbor's outgoing links.

Name: resetRejoiningNeighborsFrameCounter

ID: 0x0124

Description: Indicate whether a rejoining neighbor should have its incoming frame counter reset.

Command Parameters:

bool reset

Whether or not a neighbor's incoming FC should be reset upon rejoining (true or false).

Response Parameters: None

Name: isResetRejoiningNeighborsFrameCounterEnabled

ID: 0x0125

Description: Check whether a rejoining neighbor will have its incoming frame counter reset based on the currently set policy.

Command Parameters: None

Response Parameters:

bool getsReset

Whether or not a rejoining neighbor's incoming FC gets reset (true or false).