Skip to content
This repository was archived by the owner on Jan 9, 2023. It is now read-only.

UAVCAN 1.0 Progress TrackingΒ #70

@davidlenfesty

Description

@davidlenfesty

This issue tracks general progress to supporting v1.0 and a (potential) library 1.0 release. I've been working on a ground-up rewrite in my fork, but that is being moved into the branch david/rearchitecting. All further progress on this implementation will be based on this branch, with the hope of an eventual move to master once it's production ready.

(There are likely more tasks missing that I can't think of right now)

First Release Milestones

  • Full support for UAVCAN/CAN
  • Full std SessionManager implementation
    • Base implementation
    • Optimize
  • Proper support for no_std in the core of it.
    • Remove random Vec's
    • Validate that std::time::Instant can be implemented easily on a no_std system
  • no_std (but with an alloc) SessionManager implementation
  • Automated testing infrastructure of some sort
  • Verified inter-operability with pyuavcan and libcanard
  • Implementation of serialization using packed_struct or similar

V1.0 Milestones

  • Full support for UAVCAN/UDP
  • (Optional) Full support for UAVCAN/Serial
  • Finalized SessionManager API
  • Finalized Transport API
  • Full support for DSDL serialization/deserialization
    • Either nunavut generates annotated structs w/ a support crate, or
    • nunavut generates the structs and their impls.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions