dfu-core

Crates.iodfu-core
lib.rsdfu-core
version0.7.0
sourcesrc
created_at2021-05-31 23:20:46.770709
updated_at2024-11-09 06:30:43.280647
descriptionSans IO core library (traits and tools) for DFU
homepagehttps://github.com/dfu-rs/dfu-core
repositoryhttps://github.com/dfu-rs/dfu-core
max_upload_size
id404513
size83,839
Sjoerd Simons (sjoerdsimons)

documentation

https://docs.rs/dfu-core

README

Rust Latest Version License Docs.rs LOC Dependency Status

dfu-core

Sans IO core library (traits and tools) for DFU.

Features

  • no_std compatible
  • async and sync compatible
  • write a firmware into a device (DFU download)
  • read a firmware from a device (DFU upload)
  • minimal dependencies
  • uses a state machine to ensure the implementations are correctly done

Traits & Structs

  • trait DfuIo: a trait that can be made into an object that provides the IO to this library logic.
  • struct DfuSansIo: a struct that allows the developer to do the DFU logic using a state machine (can be async or sync).
  • struct DfuSync: a basic sync implementation that uses a DfuIo provided in argument during runtime.
  • type MemoryPage and type mem: primitives representing the memory layout of the device (like char and str).
  • struct MemoryLayout: (requires features std) an allocated representation of the memory layout (like String) that can parse a memory layout from a string.
  • FunctionalDescriptor: can read the extra bytes of a USB functional descriptor to provide information for the DFU logic.

DFU Documentation

This crate has been made based on the following specifications:

License

MIT OR Apache-2.0

Commit count: 52

cargo fmt