capsules_core::virtualizers::virtual_adc

Struct AdcDevice

Source
pub struct AdcDevice<'a, A: Adc<'a>> { /* private fields */ }
Expand description

Virtual ADC device

Implementations§

Source§

impl<'a, A: Adc<'a>> AdcDevice<'a, A>

Source

pub const fn new( mux: &'a MuxAdc<'a, A>, channel: A::Channel, ) -> AdcDevice<'a, A>

Source

pub fn add_to_mux(&'a self)

Trait Implementations§

Source§

impl<'a, A: Adc<'a>> AdcChannel<'a> for AdcDevice<'a, A>

Source§

fn sample(&self) -> Result<(), ErrorCode>

Request a single ADC sample on a particular channel. Used for individual samples that have no timing requirements. All ADC samples will be the raw ADC value left-justified in the u16.
Source§

fn stop_sampling(&self) -> Result<(), ErrorCode>

Stop a sampling operation. Can be used to stop any simple or high-speed sampling operation. No further callbacks will occur.
Source§

fn sample_continuous(&self) -> Result<(), ErrorCode>

Request repeated ADC samples on a particular channel. Callbacks will occur at the given frequency with low jitter and can be set to any frequency supported by the chip implementation. However callbacks may be limited based on how quickly the system can service individual samples, leading to missed samples at high frequencies. All ADC samples will be the raw ADC value left-justified in the u16.
Source§

fn get_resolution_bits(&self) -> usize

Function to ask the ADC how many bits of resolution are in the samples it is returning.
Source§

fn get_voltage_reference_mv(&self) -> Option<usize>

Function to ask the ADC what reference voltage it used when taking the samples. This allows the user of this interface to calculate an actual voltage from the ADC reading. Read more
Source§

fn set_client(&self, client: &'a dyn Client)

Source§

impl<'a, A: Adc<'a>> ListNode<'a, AdcDevice<'a, A>> for AdcDevice<'a, A>

Source§

fn next(&'a self) -> &'a ListLink<'a, AdcDevice<'a, A>>

Auto Trait Implementations§

§

impl<'a, A> !Freeze for AdcDevice<'a, A>

§

impl<'a, A> !RefUnwindSafe for AdcDevice<'a, A>

§

impl<'a, A> !Send for AdcDevice<'a, A>

§

impl<'a, A> !Sync for AdcDevice<'a, A>

§

impl<'a, A> Unpin for AdcDevice<'a, A>
where <A as Adc<'a>>::Channel: Unpin,

§

impl<'a, A> !UnwindSafe for AdcDevice<'a, A>

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.