[−][src]Trait bl602_hal::prelude::_embedded_hal_adc_OneShot
ADCs that sample on single channels per request, and do so at the time of the request.
This trait is the interface to an ADC that is configured to read a specific channel at the time of the request (in contrast to continuous asynchronous sampling).
use embedded_hal::adc::{Channel, OneShot}; struct MyAdc; // 10-bit ADC, with 5 channels impl<WORD, PIN> OneShot<MyAdc, WORD, PIN> for MyAdc where WORD: From<u16>, PIN: Channel<MyAdc, ID=u8>, { type Error = (); fn try_read(&mut self, pin: &mut PIN) -> nb::Result<WORD, Self::Error> { let chan = 1 << pin.channel(); self.power_up(); let result = self.do_conversion(chan); self.power_down(); Ok(result.into()) } }
Associated Types
type Error
Error type returned by ADC methods
Required methods
fn try_read(&mut self, pin: &mut Pin) -> Result<Word, Error<Self::Error>>
Request that the ADC begin a conversion on the specified pin
This method takes a Pin
reference, as it is expected that the ADC will be able to sample
whatever channel underlies the pin.