Sensor

Struct Sensor 

Source
pub struct Sensor<'d> { /* private fields */ }
Expand description

Accelerometer and magnetometer chip present on the microbit

Implementations§

Source§

impl<'d> Sensor<'d>

Source

pub async fn new( twispi0: Peri<'static, TWISPI0>, irq: impl Binding<TWISPI0, InterruptHandler<TWISPI0>> + 'd, sda: Peri<'static, P0_16>, scl: Peri<'static, P0_08>, ) -> Result<Self, Error>

Create and initialize the motion sensor

§Errors

If there is a problem communicating with the sensor, an error is returned.

Source

pub async fn accel_status(&mut self) -> Result<Status, Error>

Return status of accelerometer

§Errors

If there is a problem communicating with the sensor, an error is returned.

Source

pub async fn accel_data(&mut self) -> Result<Acceleration, Error>

Return accelerometer data

Returned in mg (milli-g) where 1g is 9.8m/s².

§Errors

If there is a problem communicating with the sensor, an error is returned.

Source

pub async fn accel_run( &mut self, rate: AccelOutputDataRate, sender: DynamicSender<'_, Acceleration>, ) -> Result<(), Error>

Run a continuous task outputing accelerometer data at the configured data rate

§Errors

If there is a problem communicating with the sensor, an error is returned.

Source

pub async fn mag_data(&mut self) -> Result<MagneticField, Error>

Returns data from the magnetometer.

§Errors

Returns an error if the magnetometer is not ready to provide data, or if there is an error communicating with the sensor.

Source

pub async fn mag_status(&mut self) -> Result<Status, Error>

Returns the status of the magnetometer.

§Errors

Returns an error if there is an error communicating with the sensor.

Auto Trait Implementations§

§

impl<'d> Freeze for Sensor<'d>

§

impl<'d> RefUnwindSafe for Sensor<'d>

§

impl<'d> Send for Sensor<'d>

§

impl<'d> Sync for Sensor<'d>

§

impl<'d> Unpin for Sensor<'d>

§

impl<'d> !UnwindSafe for Sensor<'d>

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> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
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<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
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<Src, Dst> LosslessTryInto<Dst> for Src
where Dst: LosslessTryFrom<Src>,

Source§

fn lossless_try_into(self) -> Option<Dst>

Performs the conversion.
Source§

impl<Src, Dst> LossyInto<Dst> for Src
where Dst: LossyFrom<Src>,

Source§

fn lossy_into(self) -> Dst

Performs the conversion.
Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
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.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.