|
Digi XBee(R) ANSI C Host Library
|
Support code for bootloader used on "Gen3" products (including S3B, S6, S6B, XLR, Cellular, SX, SX868, S8). More...
#include <stdio.h>#include <stdlib.h>#include "xbee/bl_gen3.h"#include "xbee/byteorder.h"#include "util/crc16buypass.h"Data Structures | |
| struct | xbee_gen3_page_ver0_t |
| < XBEE_GEN3_CMD_UPLOAD_PAGE More... | |
| struct | xbee_gen3_page_ver1_t |
| < XBEE_GEN3_CMD_UPLOAD_PAGE More... | |
Macros | |
| #define | XBEE_GEN3_CMD_BL_VERSION 'B' |
| #define | XBEE_GEN3_CMD_EXTENDED_VER 'V' |
| #define | XBEE_GEN3_CMD_REGION_CODE 'N' |
| #define | XBEE_GEN3_CMD_INITIALIZE 'I' |
| #define | XBEE_GEN3_CMD_PROTOCOL_VER 'L' |
| #define | XBEE_GEN3_CMD_MAX_BAUDRATE 'X' |
| #define | XBEE_GEN3_CMD_NEW_BAUDRATE 'R' |
| #define | XBEE_GEN3_CMD_UPLOAD_PAGE 'P' |
| #define | XBEE_GEN3_CMD_UPLOAD_FINISHED 'F' |
| #define | XBEE_GEN3_CMD_VERIFY_FW 'C' |
| #define | XBEE_GEN3_RSP_SUCCESS 'U' |
| Successful responses from the bootloader end with XBEE_GEN3_RSP_SUCCESS. | |
| #define | XBEE_GEN3_RSP_FAILURE '\x11' |
| Generic failure response from bootloader. | |
| #define | XBEE_GEN3_RSP_UPLOAD_CRC_ERR '\x12' |
| Checksum/CRC invalid. | |
| #define | XBEE_GEN3_RSP_UPLOAD_VERIFY_ERR '\x13' |
| flash write failed | |
| #define | _TIME_ELAPSED(x) (xbee_millisecond_timer() - source->timer > (x)) |
Functions | |
| void | xbee_gen3_dump_extended_ver (const xbee_gen3_extended_ver_t *ver) |
| int | xbee_bl_gen3_install_init (xbee_dev_t *xbee, xbee_gen3_update_t *source) |
| Prepare to install new firmware on an attached XBee module. More... | |
| uint16_t | xbee_bl_gen3_install_state (xbee_gen3_update_t *source) |
| Return a unique value identifying the install state. More... | |
| int | xbee_bl_gen3_install_tick (xbee_gen3_update_t *source) |
| Install the firmware image stored in source. More... | |
| const char * | xbee_bl_gen3_install_status (xbee_gen3_update_t *source, char buffer[XBEE_GEN3_STATUS_BUF_SIZE]) |
| Return a string describing the current state of the firmware update. More... | |
Support code for bootloader used on "Gen3" products (including S3B, S6, S6B, XLR, Cellular, SX, SX868, S8).
Firmware updates use .ebin files.
For Cellular products, all XBee Cellular modules (Cat 1 Verizon and 3G Global) use this bootloader. XBee3 Cellular modules (Cat 1 AT&T and LTE-M/NB-IoT) with firmware versions (ATVR values) ending in 0C or lower do as well.
After installing firmware *0F (1140F or 3100F) on an XBee3 Cellular module, it will update the hardware to use the "Gecko bootloader" and .gbl files for further firmware updates. See xbee/firmware.h and xbee_firmware.c for .gbl and Gecko bootloader support.
Define XBEE_BL_GEN3_VERBOSE for debugging messages.
1.8.11