pub struct ColorSensor { /* private fields */ }Expand description
LEGO EV3 color sensor.
Implementations§
Source§impl ColorSensor
impl ColorSensor
Sourcepub const MODE_COL_REFLECT: &'static str = "COL-REFLECT"
pub const MODE_COL_REFLECT: &'static str = "COL-REFLECT"
Reflected light - sets LED color to red
Sourcepub const MODE_COL_AMBIENT: &'static str = "COL-AMBIENT"
pub const MODE_COL_AMBIENT: &'static str = "COL-AMBIENT"
Ambient light - sets LED color to blue (dimly lit)
Sourcepub const MODE_COL_COLOR: &'static str = "COL-COLOR"
pub const MODE_COL_COLOR: &'static str = "COL-COLOR"
Color - sets LED color to white (all LEDs rapidly cycling)
Sourcepub const MODE_REF_RAW: &'static str = "REF-RAW"
pub const MODE_REF_RAW: &'static str = "REF-RAW"
Raw Reflected - sets LED color to red
Sourcepub const MODE_RGB_RAW: &'static str = "RGB-RAW"
pub const MODE_RGB_RAW: &'static str = "RGB-RAW"
Raw Color Components - sets LED color to white (all LEDs rapidly cycling)
Sourcepub const MODE_COL_CAL: &'static str = "COL-CAL"
pub const MODE_COL_CAL: &'static str = "COL-CAL"
Calibration ??? - sets LED color to red, flashing every 4 seconds, then goes continuous
Sourcepub fn get(port: SensorPort) -> Ev3Result<Self>
pub fn get(port: SensorPort) -> Ev3Result<Self>
Try to get a Self on the given port. Returns None if port is not used or another device is connected.
Sourcepub fn find() -> Ev3Result<Self>
pub fn find() -> Ev3Result<Self>
Try to find a Self. Only returns a motor if their is exactly one connected, Error::NotFound otherwise.
Sourcepub fn set_mode_col_reflect(&self) -> Ev3Result<()>
pub fn set_mode_col_reflect(&self) -> Ev3Result<()>
Reflected light - sets LED color to red
Sourcepub fn is_mode_col_reflect(&self) -> Ev3Result<bool>
pub fn is_mode_col_reflect(&self) -> Ev3Result<bool>
Reflected light - sets LED color to red
Sourcepub fn set_mode_col_ambient(&self) -> Ev3Result<()>
pub fn set_mode_col_ambient(&self) -> Ev3Result<()>
Ambient light - sets LED color to blue (dimly lit)
Sourcepub fn is_mode_col_ambient(&self) -> Ev3Result<bool>
pub fn is_mode_col_ambient(&self) -> Ev3Result<bool>
Ambient light - sets LED color to blue (dimly lit)
Sourcepub fn set_mode_col_color(&self) -> Ev3Result<()>
pub fn set_mode_col_color(&self) -> Ev3Result<()>
Color - sets LED color to white (all LEDs rapidly cycling)
Sourcepub fn is_mode_col_color(&self) -> Ev3Result<bool>
pub fn is_mode_col_color(&self) -> Ev3Result<bool>
Color - sets LED color to white (all LEDs rapidly cycling)
Sourcepub fn set_mode_ref_raw(&self) -> Ev3Result<()>
pub fn set_mode_ref_raw(&self) -> Ev3Result<()>
Raw Reflected - sets LED color to red
Sourcepub fn is_mode_ref_raw(&self) -> Ev3Result<bool>
pub fn is_mode_ref_raw(&self) -> Ev3Result<bool>
Raw Reflected - sets LED color to red
Sourcepub fn set_mode_rgb_raw(&self) -> Ev3Result<()>
pub fn set_mode_rgb_raw(&self) -> Ev3Result<()>
Raw Color Components - sets LED color to white (all LEDs rapidly cycling)
Sourcepub fn is_mode_rgb_raw(&self) -> Ev3Result<bool>
pub fn is_mode_rgb_raw(&self) -> Ev3Result<bool>
Raw Color Components - sets LED color to white (all LEDs rapidly cycling)
Sourcepub fn set_mode_col_cal(&self) -> Ev3Result<()>
pub fn set_mode_col_cal(&self) -> Ev3Result<()>
Calibration ??? - sets LED color to red, flashing every 4 seconds, then goes continuous
Sourcepub fn is_mode_col_cal(&self) -> Ev3Result<bool>
pub fn is_mode_col_cal(&self) -> Ev3Result<bool>
Calibration ??? - sets LED color to red, flashing every 4 seconds, then goes continuous
Sourcepub fn get_color(&self) -> Ev3Result<i32>
pub fn get_color(&self) -> Ev3Result<i32>
Get the color value for the modes COL-REFLECT, COL-AMBIENT, COL-COLOR and REF-RAW.
Sourcepub fn get_red(&self) -> Ev3Result<i32>
pub fn get_red(&self) -> Ev3Result<i32>
Red component of the detected color, in the range 0-1020.
Sourcepub fn get_green(&self) -> Ev3Result<i32>
pub fn get_green(&self) -> Ev3Result<i32>
Green component of the detected color, in the range 0-1020.
Trait Implementations§
Source§impl Clone for ColorSensor
impl Clone for ColorSensor
Source§fn clone(&self) -> ColorSensor
fn clone(&self) -> ColorSensor
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ColorSensor
impl Debug for ColorSensor
Source§impl Device for ColorSensor
impl Device for ColorSensor
Source§fn get_attribute(&self, name: &str) -> Attribute
fn get_attribute(&self, name: &str) -> Attribute
Source§fn get_address(&self) -> Ev3Result<String>
fn get_address(&self) -> Ev3Result<String>
Source§fn set_command(&self, command: &str) -> Ev3Result<()>
fn set_command(&self, command: &str) -> Ev3Result<()>
Source§fn get_commands(&self) -> Ev3Result<Vec<String>>
fn get_commands(&self) -> Ev3Result<Vec<String>>
Source§fn get_driver_name(&self) -> Ev3Result<String>
fn get_driver_name(&self) -> Ev3Result<String>
Source§impl Sensor for ColorSensor
impl Sensor for ColorSensor
Source§fn get_bin_data(&self) -> Ev3Result<String>
fn get_bin_data(&self) -> Ev3Result<String>
value<N> attributes.
Use bin_data_format, num_values and the individual sensor documentation to determine how to interpret the data.Source§fn get_bin_data_format(&self) -> Ev3Result<String>
fn get_bin_data_format(&self) -> Ev3Result<String>
bin_data for the current mode. Possible values are:Source§fn get_decimals(&self) -> Ev3Result<i32>
fn get_decimals(&self) -> Ev3Result<i32>
value<N> attributes of the current mode.Source§fn get_fw_version(&self) -> Ev3Result<String>
fn get_fw_version(&self) -> Ev3Result<String>
Source§fn get_mode(&self) -> Ev3Result<String>
fn get_mode(&self) -> Ev3Result<String>
Source§fn set_mode(&self, mode: &str) -> Ev3Result<()>
fn set_mode(&self, mode: &str) -> Ev3Result<()>
Source§fn get_modes(&self) -> Ev3Result<Vec<String>>
fn get_modes(&self) -> Ev3Result<Vec<String>>
Source§fn get_num_values(&self) -> Ev3Result<i32>
fn get_num_values(&self) -> Ev3Result<i32>
value<N> attributes that will return a valid value for the current mode.Source§fn get_poll_ms(&self) -> Ev3Result<i32>
fn get_poll_ms(&self) -> Ev3Result<i32>
-EOPNOTSUPP if changing polling is not supported.
Note: Setting poll_ms too high can cause the input port auto detection to fail.
If this happens, use the mode attribute of the port to force the port to nxt-i2c mode. Values must not be negative.Source§fn set_poll_ms(&self, poll_ms: i32) -> Ev3Result<()>
fn set_poll_ms(&self, poll_ms: i32) -> Ev3Result<()>
nxt-i2c mode. Values must not be negative.Source§fn get_units(&self) -> Ev3Result<String>
fn get_units(&self) -> Ev3Result<String>
Source§fn get_value(&self, index: u8) -> Ev3Result<i32>
fn get_value(&self, index: u8) -> Ev3Result<i32>
value{index} value if available.Source§fn get_value0(&self) -> Ev3Result<i32>
fn get_value0(&self) -> Ev3Result<i32>
value0 value if available.Source§fn get_value1(&self) -> Ev3Result<i32>
fn get_value1(&self) -> Ev3Result<i32>
value1 value if available.Source§fn get_value2(&self) -> Ev3Result<i32>
fn get_value2(&self) -> Ev3Result<i32>
value2 value if available.Source§fn get_value3(&self) -> Ev3Result<i32>
fn get_value3(&self) -> Ev3Result<i32>
value3 value if available.Source§fn get_value4(&self) -> Ev3Result<i32>
fn get_value4(&self) -> Ev3Result<i32>
value4 value if available.Source§fn get_value5(&self) -> Ev3Result<i32>
fn get_value5(&self) -> Ev3Result<i32>
value5 value if available.Source§fn get_value6(&self) -> Ev3Result<i32>
fn get_value6(&self) -> Ev3Result<i32>
value6 value if available.Source§fn get_value7(&self) -> Ev3Result<i32>
fn get_value7(&self) -> Ev3Result<i32>
value7 value if available.Source§fn get_text_value(&self) -> Ev3Result<String>
fn get_text_value(&self) -> Ev3Result<String>
-EOPNOTSUPP if a sensor does not support text values.Auto Trait Implementations§
impl !Freeze for ColorSensor
impl !RefUnwindSafe for ColorSensor
impl Send for ColorSensor
impl !Sync for ColorSensor
impl Unpin for ColorSensor
impl UnwindSafe for ColorSensor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more