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
use super::{Sensor, SensorPort};
use crate::{Attribute, Device, Driver, Ev3Error, Ev3Result};
#[derive(Debug, Clone, Device, Sensor)]
pub struct TouchSensor {
driver: Driver,
}
impl TouchSensor {
fn new(driver: Driver) -> Self {
Self { driver }
}
findable!(
"lego-sensor",
["lego-ev3-touch", "lego-nxt-touch"],
SensorPort,
"TouchSensor",
"in"
);
pub const MODE_TOUCH: &'static str = "TOUCH";
pub fn get_pressed_state(&self) -> Ev3Result<bool> {
Ok(self.get_value0()? != 0)
}
}