Skip to content

Roadmap #14

Description

@Rahix

The current version is still pretty much what I drafted up initially. The design has shown a few flaws over time, which should be addressed in a new version. Here is an overview:

  • The SPI proxy is unsound when shared across multiple tasks. This is because the CS pin is handled outside the proxy. Ref. Inherent race condition when using SPI #8
  • More existing mutexes should be supported out of the box. E.g. anything implementing lock-api. Ref. Feature to support Mutex from parking_lot as an alternative to std #9
  • If I'm not mistaken, sharing in a single execution context (!Send) can be done with even less overhead than the current NullMutex. This should be explored.
  • A macro should be added for pushing the bus-manager into a static mut, thus giving the references a &'static lifetime which makes sharing between tasks much easier. Ref. How to embed this (resolving lifetime constraints) #13
  • Try to reduce type-signature sizes with type aliases as much as possible. Because statics require full signatures, it would be great to keep their length as small as possible.
  • Support for AVR.
  • Support for RISC-V (see this fork).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions