MySensors Library & Examples
2.3.2
|
API declaration for MyOTAFirmwareUpdate.
MyOTAFirmwareUpdate-related log messages, format: [!]SYSTEM:[SUB SYSTEM:]MESSAGE
MyOTAFirmwareUpdate debug log messages:
E | SYS | SUB | Message | Comment |
---|---|---|---|---|
OTA | FWP | UPDATE | FW update initiated | |
! | OTA | FWP | UPDO | FW config response received, FW update already ongoing |
! | OTA | FWP | FLASH INIT FAIL | Failed to initialise flash |
OTA | FWP | UPDATE SKIPPED | FW update skipped, no newer version available | |
OTA | FWP | RECV B=%04X | Received FW block (B) | |
! | OTA | FWP | WRONG FWB | Wrong FW block received |
OTA | FWP | FW END | FW received, proceed to CRC verification | |
OTA | FWP | CRC OK | FW CRC verification OK | |
! | OTA | FWP | CRC FAIL | FW CRC verification failed |
OTA | FRQ | FW REQ,T=%04X,V=%04X,B=%04X | Request FW update, FW type (T), version (V), block (B) | |
! | OTA | FRQ | FW UPD FAIL | FW update failed |
OTA | CRC | B=%04X,C=%04X,F=%04X | FW CRC verification. FW blocks (B), calculated CRC (C), FW CRC (F) |
Classes | |
struct | __attribute__ |
FW config structure, stored in eeprom. More... | |
Macros | |
#define | LOCAL static |
static | |
#define | FIRMWARE_BLOCK_SIZE (16u) |
Size of each firmware block. | |
#define | MY_OTA_RETRY (5u) |
Number of times to request a fw block before giving up. | |
#define | MY_OTA_RETRY_DELAY (500u) |
Number of milliseconds before re-requesting a FW block. | |
#define | FIRMWARE_START_OFFSET (10u) |
Start offset for firmware in flash (DualOptiboot wants to keeps a signature first) | |
#define | MY_OTA_BOOTLOADER_MAJOR_VERSION (3u) |
Bootloader version major. | |
#define | MY_OTA_BOOTLOADER_MINOR_VERSION (0u) |
Bootloader version minor. | |
#define | MY_OTA_BOOTLOADER_VERSION (MY_OTA_BOOTLOADER_MINOR_VERSION * 256 + MY_OTA_BOOTLOADER_MAJOR_VERSION) |
Bootloader version. | |
#define | OTA_DEBUG(x, ...) |
debug NULL | |
#define | FIRMWARE_PROTOCOL_31 |
Enabled FOTA 3.1 protocol extensions. More... | |
Functions | |
LOCAL void | readFirmwareSettings (void) |
Read firmware settings from EEPROM. More... | |
LOCAL void | firmwareOTAUpdateRequest (void) |
Handle OTA FW update requests. | |
LOCAL bool | firmwareOTAUpdateProcess (void) |
Handle OTA FW update responses. More... | |
LOCAL bool | transportIsValidFirmware (void) |
Validate uploaded FW CRC. More... | |
LOCAL void | presentBootloaderInformation (void) |
Present bootloader/FW information upon startup. | |
#define FIRMWARE_PROTOCOL_31 |
Enabled FOTA 3.1 protocol extensions.
Supports smaller FIRMWARE_BLOCK_SIZE, RLE and NVM for nRF5 with mcuboot. The extension is enabled per default when mcuboot is present or full FIRMWARE_BLOCK_SIZE exeeds MAX_PAYLOAD_SIZE.
Definition at line 111 of file MyOTAFirmwareUpdate.h.
LOCAL bool firmwareOTAUpdateProcess | ( | void | ) |
Handle OTA FW update responses.
This function handles incoming OTA FW packets and stores them to external flash (Sensebender)
LOCAL void readFirmwareSettings | ( | void | ) |
Read firmware settings from EEPROM.
Current firmware settings (type, version, crc, blocks) are read into _fc
LOCAL bool transportIsValidFirmware | ( | void | ) |
Validate uploaded FW CRC.
This function verifies if uploaded FW CRC is valid