Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
DFU from SD card APIs

Typedefs

typedef void(* dfu_exfat_progress_cb_t) (size_t copied, size_t total)
 Progress callback for DFU copy.
 

Functions

int dfu_exfat_app_upgrade_exists (const struct device *dev, struct mcuboot_img_sem_ver *upgrade)
 Check whether a valid DFU file exists on the filesystem.
 
int dfu_exfat_app_upgrade_copy (const struct device *dev, struct mcuboot_img_sem_ver upgrade, uint8_t flash_area_id, dfu_exfat_progress_cb_t progress_cb)
 Copy DFU file from filesystem onto flash area.
 

Detailed Description

Typedef Documentation

◆ dfu_exfat_progress_cb_t

typedef void(* dfu_exfat_progress_cb_t) (size_t copied, size_t total)

#include <infuse/dfu/exfat.h>

Progress callback for DFU copy.

Parameters
copiedNumber of bytes that have been copied so far
totalTotal number of bytes to be copied

Function Documentation

◆ dfu_exfat_app_upgrade_copy()

int dfu_exfat_app_upgrade_copy ( const struct device * dev,
struct mcuboot_img_sem_ver upgrade,
uint8_t flash_area_id,
dfu_exfat_progress_cb_t progress_cb )

#include <infuse/dfu/exfat.h>

Copy DFU file from filesystem onto flash area.

Parameters
devexFAT data logger device
upgradeNew version from dfu_exfat_app_upgrade_exists
flash_area_idOutput flash area ID
progress_cbOptional progress callback
Return values
0On success
-errnoOn error

◆ dfu_exfat_app_upgrade_exists()

int dfu_exfat_app_upgrade_exists ( const struct device * dev,
struct mcuboot_img_sem_ver * upgrade )

#include <infuse/dfu/exfat.h>

Check whether a valid DFU file exists on the filesystem.

Expected usage:

const struct device *logger = DEVICE_DT_GET_ONE(embeint_data_logger_exfat);
uint8_t upgrade_partition = FIXED_PARTITION_ID(slot1_partition);
struct infuse_version upgrade_version;
if (dfu_exfat_app_upgrade_exists(logger, &upgrade_version) == 1) {
if (dfu_exfat_app_upgrade_copy(logger, upgrade_version, upgrade_partition, NULL) == 0) {
if (boot_request_upgrade_multi(0, 0) == 0) {
}
}
}
int dfu_exfat_app_upgrade_exists(const struct device *dev, struct mcuboot_img_sem_ver *upgrade)
Check whether a valid DFU file exists on the filesystem.
int dfu_exfat_app_upgrade_copy(const struct device *dev, struct mcuboot_img_sem_ver upgrade, uint8_t flash_area_id, dfu_exfat_progress_cb_t progress_cb)
Copy DFU file from filesystem onto flash area.
_NORETURN void infuse_reboot(enum infuse_reboot_reason reason, uint32_t info1, uint32_t info2)
Trigger a system reboot.
@ INFUSE_REBOOT_DFU
Rebooting for device firmware update.
Definition reboot.h:56
#define infuse_version
Definition version.h:37
Parameters
devexFAT data logger device
upgradeStorage location for upgrade version
Return values
0No valid upgrade file exists
1Valid upgrade file exists, upgrade is valid
-errnoOn error