3 releases (breaking)

Uses old Rust 2015

0.10.0 Feb 2, 2021
0.8.0 Mar 31, 2020
0.5.0 Dec 8, 2019

#40 in #lang

Download history 1/week @ 2024-10-07 19/week @ 2024-10-14 13/week @ 2024-10-21 29/week @ 2024-10-28 25/week @ 2024-11-04 1/week @ 2024-11-11 13/week @ 2024-11-18 29/week @ 2024-11-25 23/week @ 2024-12-02 66/week @ 2024-12-09 42/week @ 2024-12-16 9/week @ 2024-12-23 17/week @ 2024-12-30 49/week @ 2025-01-06 64/week @ 2025-01-13 61/week @ 2025-01-20

192 downloads per month
Used in 2 crates (via ev3dev-lang-rust)

MIT license

4KB

Derive macros for ev3dev_lang_rust

Build Status Latest version

This crate provides some derive macros to simplify the codebase.

The following traits can be automatically derived:

  • Device
  • Findable
  • Motor
  • TachoMotor
  • ServoMotor
  • DcMotor
  • Sensor

The findable derive needs 3 additional attributes.

  • class_name: &str
  • driver_name: &str
  • port: dyn ev3dev_lang_rust::Motor

Example

The functionallity of the LargeMotor struct consists complitly through derives:

#[derive(Debug, Clone, Device, Findable, Motor, TachoMotor)]
#[class_name = "tacho-motor"]
#[driver_name = "lego-ev3-l-motor"]
#[port = "crate::motors::MotorPort"]
pub struct LargeMotor {
    driver: Driver,
}

Dependencies

~1.5MB
~39K SLoC