Crate embedded_update
source · [−]Expand description
Firmware updates for embedded devices
The embedded-update
crate implements a firmware update protocol for embedded devices connected to a firmware update service, which works in no_std
(bare metal) environments.
Both the device to be updated and the update service are pluggable, so the protocol can be used with any device or service that implements the provided traits. This means you can use the library directly on an embedded device, or on a gateway that proxies multiple devices.
The library provides the InMemory
and Serial
reference implementations of the UpdateService
trait, and the Simulator
and Serial
implementations for the FirmwareDevice
trait.
Update service and device implementations can be added to embedded-update
when types and traits for interacting with device flash and network connections are more widely available.
Supported update services
Drogue Cloud
by enabling thedrogue
feature.
Supported devices
Device side implementations can be found in Drogue Device
.
Minimum supported Rust version (MSRV)
embedded-update
requires two features from nightly
to compile:
generic_associated_types
type_alias_impl_trait
These features are complete, but are not yet merged to stable
.
Modules
Implementations of the FirmwareDevice
trait.
Implementations of the UpdateService
trait.
Structs
Represents a serde serializeable byte slice.
The current status of the firmware on a device
The updater process that uses the update service to perform a firmware update check for a device. If the device needs to be updated, the updater will follow the update protocol
Represents the current state of firmware and firmware being written on a device.
The status of the firmware being written to a device.
Configuration for the updater task.
Enums
Represents a command issued from the update service to a device.
The device status as determined after running the updater.
The error types that the updater may return during the update process.
Traits
Represents a device that can be updated by a FirmwareUpdater
.
Type representing the firmware version
Trait for the firmware update service.