Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the architecture of SpiFuture #577

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Commits on May 22, 2022

  1. Improve the architecture of SpiFuture

    After trying to use `SpiFuture` in the real world, I encountered some
    problems that these changes address. Specifically, I added the ability
    for the `Spi` struct to be part of some user type. The `AsSpi` trait
    provides an interface for the `SpiFuture`. This has the added benefit of
    simplifying the implementation.
    bradleyharden committed May 22, 2022
    Configuration menu
    Copy the full SHA
    bd6eea2 View commit details
    Browse the repository at this point in the history
  2. Make multiple updates to the spi module

    - Make conversion from `Status` to `Error` an inherent function of
      `Status` rather than an implementation of `TryFrom`
    - Add a `DynCapability` enum to allow run-time branching on `Capability`
    - Improve type-level consistency for the `AnyConfig` and `AnySpi` traits
    - Change how the `.get_dyn_length()` and `.set_dyn_length()` methods are
      restricted to only those structs with `DynLength`
    - Remove calls to `assert_eq!` to help limit formatting code
    - Fix bugs related to `Tx` `Capability`
    bradleyharden committed May 22, 2022
    Configuration menu
    Copy the full SHA
    8139d7a View commit details
    Browse the repository at this point in the history