1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#[macro_use]
mod dc_motor_macro;
#[macro_use]
mod servo_motor_macro;
#[macro_use]
mod tacho_motor_macro;
mod large_motor;
pub use self::large_motor::LargeMotor;
mod medium_motor;
pub use self::medium_motor::MediumMotor;
use crate::Port;
#[derive(Debug, Copy, Clone)]
pub enum MotorPort {
OutA,
OutB,
OutC,
OutD,
}
impl Port for MotorPort {
fn address(&self) -> String {
match self {
MotorPort::OutA => "outA".to_owned(),
MotorPort::OutB => "outB".to_owned(),
MotorPort::OutC => "outC".to_owned(),
MotorPort::OutD => "outD".to_owned(),
}
}
}