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

#33 in #lang

Download history 23/week @ 2023-12-14 15/week @ 2023-12-21 2/week @ 2023-12-28 8/week @ 2024-01-04 20/week @ 2024-01-11 12/week @ 2024-01-18 4/week @ 2024-01-25 2/week @ 2024-02-01 15/week @ 2024-02-08 47/week @ 2024-02-15 47/week @ 2024-02-22 35/week @ 2024-02-29 39/week @ 2024-03-07 36/week @ 2024-03-14 49/week @ 2024-03-21 37/week @ 2024-03-28

161 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
~33K SLoC