DistanceSensor

Struct DistanceSensor 

Source
pub struct DistanceSensor { /* private fields */ }
Expand description

A physical distance sensor plugged into a port. Distance sensors can only keep track of one object at a time.

Implementations§

Source§

impl DistanceSensor

Source

pub const fn new(port: SmartPort) -> Self

Create a new distance sensor from a smart port index.

Source

pub fn distance(&self) -> Result<u32, PortError>

Returns the distance to the object the sensor detects in millimeters.

Source

pub fn velocity(&self) -> Result<f64, PortError>

Returns the velocity of the object the sensor detects in m/s

Source

pub fn relative_size(&self) -> Result<u32, PortError>

Get the current guess at relative “object size”.

This is a value that has a range of 0 to 400. A 18“ x 30“ grey card will return a value of approximately 75 in typical room lighting.

This sensor reading is unusual, as it is entirely unitless with the seemingly arbitrary range of 0-400 existing due to VEXCode’s vex::sizeType enum having four variants. It’s unknown what the sensor is actually measuring here either, so use this data with a grain of salt.

Source

pub fn distance_confidence(&self) -> Result<f64, PortError>

Returns the confidence in the distance measurement from 0.0 to 1.0.

Trait Implementations§

Source§

impl Debug for DistanceSensor

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for DistanceSensor

Source§

fn eq(&self, other: &DistanceSensor) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl SmartDevice for DistanceSensor

Source§

fn port_index(&self) -> u8

Get the index of the SmartPort this device is registered on. Read more
Source§

fn device_type(&self) -> SmartDeviceType

Get the variant of SmartDeviceType that this device is associated with. Read more
Source§

fn port_connected(&self) -> bool

Determine if this device type is currently connected to the SmartPort that it’s registered to. Read more
Source§

impl Eq for DistanceSensor

Source§

impl StructuralPartialEq for DistanceSensor

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.