See Bootloader for documentation.

License#

Copyright 2018 Silicon Laboratories Inc. www.silabs.com

The licensor of this software is Silicon Laboratories Inc. Your use of this software is governed by the terms of Silicon Labs Master Software License Agreement (MSLA) available at www.silabs.com/about-us/legal/master-software-license-agreement. This software is distributed to you in Source Code format and is governed by the sections of the MSLA applicable to Source Code.

/***************************************************************************/
#ifndef SILABS_BOOTLOAD_H
#define SILABS_BOOTLOAD_H

#include "stack/include/sl_zigbee_types.h"

sl_status_t sl_zigbee_send_bootload_message(bool broadcast,
                                            sl_802154_long_addr_t destEui64,
                                            uint8_t messageLength,
                                            uint8_t *messageContents);

void sl_zigbee_incoming_bootload_message_handler(sl_802154_long_addr_t longId,
                                                 sl_zigbee_rx_packet_info_t *packetInfo,
                                                 uint8_t  messageLength,
                                                 uint8_t *messageContents);

void sl_zigbee_bootload_transmit_complete_handler(sl_status_t status,
                                                  uint8_t messageLength,
                                                  uint8_t *messageContents);

#endif // SILABS_BOOTLOAD_H

Functions#

sl_status_t
sl_zigbee_send_bootload_message(bool broadcast, sl_802154_long_addr_t destEui64, uint8_t messageLength, uint8_t *messageContents)

Transmit the given bootload message to a neighboring node using a specific 802.15.4 header that allows the EmberZNet stack and the Ember bootloader to recognize the message but will not interfere with other Zigbee stacks.

void
sl_zigbee_incoming_bootload_message_handler(sl_802154_long_addr_t longId, sl_zigbee_rx_packet_info_t *packetInfo, uint8_t messageLength, uint8_t *messageContents)

Invoked by the EmberZNet stack when a bootload message is received. If the application includes sl_zigbee_incoming_bootload_message_handler(), it must define SL_ZIGBEE_APPLICATION_HAS_BOOTLOAD_HANDLERS in its CONFIGURATION_HEADER.

void
sl_zigbee_bootload_transmit_complete_handler(sl_status_t status, uint8_t messageLength, uint8_t *messageContents)

Invoked by the EmberZNet stack when the MAC has finished transmitting a bootload message. If the application includes this callback, it must define SL_ZIGBEE_APPLICATION_HAS_BOOTLOAD_HANDLERS in its CONFIGURATION_HEADER.

Function Documentation#

sl_zigbee_send_bootload_message#

sl_status_t sl_zigbee_send_bootload_message (bool broadcast, sl_802154_long_addr_t destEui64, uint8_t messageLength, uint8_t * messageContents)

Transmit the given bootload message to a neighboring node using a specific 802.15.4 header that allows the EmberZNet stack and the Ember bootloader to recognize the message but will not interfere with other Zigbee stacks.

Parameters
N/Abroadcast

If true, the destination address and PAN ID are both set to the broadcast address.

N/AdestEui64

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

N/AmessageLength

Length of the message to be sent.

N/AmessageContents

The bootloader message to send.

Returns

  • ::SL_STATUS_OK if the message was successfully submitted to the transmit queue, and ::SL_STATUS_FAIL otherwise.


Definition at line 46 of file stack/include/bootload.h

sl_zigbee_incoming_bootload_message_handler#

void sl_zigbee_incoming_bootload_message_handler (sl_802154_long_addr_t longId, sl_zigbee_rx_packet_info_t * packetInfo, uint8_t messageLength, uint8_t * messageContents)

Invoked by the EmberZNet stack when a bootload message is received. If the application includes sl_zigbee_incoming_bootload_message_handler(), it must define SL_ZIGBEE_APPLICATION_HAS_BOOTLOAD_HANDLERS in its CONFIGURATION_HEADER.

Parameters
N/AlongId

The EUI64 of the sending node.

N/ApacketInfo

Information about the incoming packet.

N/AmessageLength

Length of the bootload message that was sent.

N/AmessageContents

The bootload message that was sent.


Definition at line 65 of file stack/include/bootload.h

sl_zigbee_bootload_transmit_complete_handler#

void sl_zigbee_bootload_transmit_complete_handler (sl_status_t status, uint8_t messageLength, uint8_t * messageContents)

Invoked by the EmberZNet stack when the MAC has finished transmitting a bootload message. If the application includes this callback, it must define SL_ZIGBEE_APPLICATION_HAS_BOOTLOAD_HANDLERS in its CONFIGURATION_HEADER.

Parameters
N/Astatus

::SL_STATUS_OK if the transmission was successful, or ::SL_STATUS_ZIGBEE_DELIVERY_FAILED if not.

N/AmessageLength

Length of the message that was sent.

N/AmessageContents

The message that was sent.


Definition at line 83 of file stack/include/bootload.h