Bootloader Frames#

Name: launchStandaloneBootloader

ID: 0x008F

Description: Quits the current application and launches the standalone bootloader (if installed) The function returns an error if the standalone bootloader is not present.

Command Parameters:

bool enabled

If true, launch the standalone bootloader. If false, do nothing.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

Name: sendBootloadMessage

ID: 0x0090

Description: Transmits the given bootload message to a neighboring node using a specific 802.15.4 header that allows the EmberZNet stack as well as the bootloader to recognize the message, but will not interfere with other ZigBee stacks.

Command Parameters:

bool broadcast

If true, the destination address and pan id are both set to the broadcast address.

sl_802154_long_addr_t destEui64

The EUI64 of the target node. Ignored if the broadcast field is set to true.

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 indicating success or the reason for failure.

Name: getStandaloneBootloaderVersionPlatMicroPhy

ID: 0x0091

Description: Detects if the standalone bootloader is installed, and if so returns the installed version. If not return 0xffff. A returned version of 0x1234 would indicate version 1.2 build 34. Also return the node's version of PLAT, MICRO and PHY.

Command Parameters: None

Response Parameters:

uint16_t bootloader_version

BOOTLOADER_INVALID_VERSION if the standalone bootloader is not present, or the version of the installed standalone bootloader.

uint8_t nodePlat

The value of PLAT on the node

uint8_t nodeMicro

The value of MICRO on the node

uint8_t nodePhy

The value of PHY on the node

Name: incomingBootloadMessageHandler

ID: 0x0092

Description: A callback invoked by the EmberZNet stack when a bootload message is received.

This frame is a response to the callback command.

Response Parameters:

sl_802154_long_addr_t longId

The EUI64 of the sending node.

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 bootload message that was sent.

Name: bootloadTransmitCompleteHandler

ID: 0x0093

Description: A callback invoked by the EmberZNet stack when the MAC has finished transmitting a bootload 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.

uint8_t messageLength

The length of the messageContents parameter in bytes.

uint8_t[] messageContents

The message that was sent.

Name: aesEncrypt

ID: 0x0094

Description: Perform AES encryption on plaintext using key.

Command Parameters:

uint8_t[16] plaintext

16 bytes of plaintext.

uint8_t[16] key

The 16-byte encryption key to use.

Response Parameters:

uint8_t[16] ciphertext

16 bytes of ciphertext.

Name: incomingMfgTestMessageHandler

ID: 0x0147

Description: A callback to be implemented on the Golden Node to process acknowledgements. If you supply a custom version of this handler, you must define SL_ZIGBEE_APPLICATION_HAS_INCOMING_MFG_TEST_MESSAGE_HANDLER in your application's CONFIGURATION_HEADER. This frame is a response to the callback command.

Response Parameters:

uint8_t messageType

The type of the incoming message. Currently, the only possibility is MFG_TEST_TYPE_ACK.

uint8_t dataLength

The length of the incoming message.

uint8_t[1] data

A pointer to the data received in the current message.

Name: mfgTestSetPacketMode

ID: 0x0148

Description: A function used on the Golden Node to switch between normal network operation (for testing) and manufacturing configuration. Like emberSleep(), it may not be possible to execute this command due to pending network activity. For the transition from normal network operation to manufacturing configuration, it is customary to loop, calling this function alternately with emberTick() until the mode change succeeds.

Command Parameters:

bool beginConfiguration

Determines the new mode of operation. true causes the node to enter manufacturing configuration. false causes the node to return to normal network operation.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or failure of the command.

Name: mfgTestSendRebootCommand

ID: 0x0149

Description: A function used during manufacturing configuration on the Golden Node to send the DUT a reboot command. The usual practice is to execute this command at the end of manufacturing configuration, to place the DUT into normal network operation for testing. This function executes only during manufacturing configuration mode and returns an error otherwise. If successful, the DUT acknowledges the reboot command within 20 milliseconds and then reboots.

Command Parameters: None

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or failure of the command.

Name: mfgTestSendEui64

ID: 0x014A

Description: A function used during manufacturing configuration on the Golden Node to set the DUT's 8-byte EUI ID. This function executes only during manufacturing configuration mode and returns an error otherwise. If successful, the DUT acknowledges the new EUI ID within 150 milliseconds.

Command Parameters:

sl_802154_long_addr_t newId

The 8-byte EUID for the DUT.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or failure of the command.

Name: mfgTestSendManufacturingString

ID: 0x014B

Description: A function used during manufacturing configuration on the Golden Node to set the DUT's 16-byte configuration string. This function executes only during manufacturing configuration mode and will return an error otherwise. If successful, the DUT will acknowledge the new string within 150 milliseconds.

Command Parameters:

sl_zigbee_manufacturing_string_t newString

The 16-byte manufacturing string.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or failure of the command.

Name: mfgTestSendRadioParameters

ID: 0x014C

Description: A function used during manufacturing configuration on the Golden Node to set the DUT's radio parameters. This function executes only during manufacturing configuration mode and returns an error otherwise. If successful, the DUT acknowledges the new parameters within 25 milliseconds.

Command Parameters:

uint8_t supportedBands

Sets the radio band for the DUT. See ember-common.h for possible values.

int8_t crystalOffset

Sets the CC1020 crystal offset. This parameter has no effect on the EM2420, and it may safely be set to 0 for this RFIC.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or failure of the command.

Name: mfgTestSendCommand

ID: 0x014D

Description: A function used in each of the manufacturing configuration API calls. Most implementations will not need to call this function directly. See mfg-test.c for more detail. This function executes only during manufacturing configuration mode and returns an error otherwise.

Command Parameters:

uint8_t[1] command

A pointer to the outgoing command string.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or failure of the command.