Skip to content

drogue-iot/embedded-update

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Firmware updates for embedded devices

CI crates.io docs.rs Matrix

The embedded-update crate implements firmware update protocol for embedded devices connected to a firmware update service, which works in no_std environments.

Both the device to be updated and the update service are pluggable, so the protocol can be used with any device flash 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 requests across 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

  • (builtin) Serial - implements a serial update protocol for a device, that can be used over UART, USB Serial etc.
  • (builtin) InMemory - implements a hard coded update service that serves an update from memory.
  • (external) Drogue Device HttpUpdater - implements an update protocol over HTTP using Drogue Cloud + Drogue Ajour.
  • (external) Drogue Device LorawanService - implements an update protocol over LoRaWAN using Drogue Cloud + Drogue Ajour.

Supported devices

  • (builtin) Serial - implements a serial update protocol allowing to talk to a device implementing this protocol over UART, USB Serial etc.
  • (builtin) Simulated - implements a simulated device for testing update services.

Minimum supported Rust version (MSRV)

  • async_fn_in_traits

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages