#copper #real-time #middleware

no-std cu29-traits

Common systems and robotics traits designed to decouple the components of your robotic system. These can be used independently from the Copper project.

21 releases (13 breaking)

Uses new Rust 2024

new 1.0.0-rc1 May 1, 2026
0.15.0 Mar 31, 2026
0.14.0 Mar 19, 2026
0.11.0 Nov 26, 2025
0.2.1 Jul 29, 2024

#489 in Robotics

Download history 98/week @ 2026-01-07 210/week @ 2026-01-14 175/week @ 2026-01-21 232/week @ 2026-01-28 289/week @ 2026-02-04 368/week @ 2026-02-11 364/week @ 2026-02-18 355/week @ 2026-02-25 252/week @ 2026-03-04 338/week @ 2026-03-11 350/week @ 2026-03-18 523/week @ 2026-03-25 331/week @ 2026-04-01 270/week @ 2026-04-08 295/week @ 2026-04-15 381/week @ 2026-04-22

1,393 downloads per month
Used in 84 crates (11 directly)

Apache-2.0

77KB
1.5K SLoC

Common copper traits and types for robotics systems.

This crate is no_std compatible by default. Enable the "std" feature for additional functionality like implementing std::error::Error for CuError and the new_with_cause method that accepts types implementing std::error::Error.

Features

  • std (default): Enables standard library support
    • Implements std::error::Error for CuError
    • Adds CuError::new_with_cause() method for interop with std error types

no_std Usage

To use without the standard library:

[dependencies]
cu29-traits = { version = "0.9", default-features = false }

cu29-traits

Common traits and shared types used across Copper runtime and components.

This crate is designed to be usable both inside and outside Copper. It provides core result/error types, logging stream traits, and common robotics-facing interfaces that help decouple components.

Features

  • std (default): enables std::error::Error integration.
  • defmt: enables embedded defmt support.

no_std

cu29-traits supports no_std by disabling default features.

Dependencies

~2.4–4.5MB
~82K SLoC