Compare commits
No commits in common. "main" and "v0.2.1" have entirely different histories.
22
src/lib.rs
22
src/lib.rs
|
@ -4,7 +4,7 @@
|
|||
//!
|
||||
//! You can create an initial ADC struct by using the [`Max116xx10Bit::max11618`],
|
||||
//! [`Max116xx10Bit::max11619`], [`Max116xx10Bit::max11620`], [`Max116xx10Bit::max11621`],
|
||||
//! [`Max116xx10Bit::max11624`] and [`Max116xx10Bit::max11625`] functions depending on which device
|
||||
//! [`Max116xx10Bit::max11624`] and [`Max116xx10Bit::max11625`] functionsdepending on which device
|
||||
//! you are using. This automatically sets the highest channel number accordingly.
|
||||
//!
|
||||
//! The default structs use the externally clocked mode with an external voltage reference.
|
||||
|
@ -132,7 +132,7 @@ type ExtClkd = ExternallyClocked;
|
|||
//==================================================================================================
|
||||
|
||||
/// Clock modes for the MAX116XX devices
|
||||
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
|
||||
#[derive(Debug, PartialEq, Clone, Copy)]
|
||||
pub enum ClockMode {
|
||||
/// Internally timed, CNVST only needs to be pulsed for 40ns.
|
||||
/// CNVST Configuration: CNVST active low
|
||||
|
@ -148,7 +148,7 @@ pub enum ClockMode {
|
|||
}
|
||||
|
||||
/// Voltage reference modes
|
||||
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
|
||||
#[derive(Debug, PartialEq, Clone, Copy)]
|
||||
pub enum VoltageRefMode {
|
||||
/// Auto-Shutdown is on, wake-up delay of 65 us
|
||||
InternalRefWithWakeupDelay = 0b00,
|
||||
|
@ -167,7 +167,7 @@ pub enum AveragingConversions {
|
|||
}
|
||||
|
||||
/// Specifies the number of returned result in single scan mode
|
||||
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
|
||||
#[derive(Debug, PartialEq, Clone, Copy)]
|
||||
pub enum AveragingResults {
|
||||
FourResults = 0b00,
|
||||
EightResults = 0b01,
|
||||
|
@ -175,7 +175,7 @@ pub enum AveragingResults {
|
|||
SixteenResults = 0b11,
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
|
||||
#[derive(Debug, PartialEq, Clone, Copy)]
|
||||
pub enum ScanMode {
|
||||
Scan0ToChannelN = 0b00,
|
||||
ScanChannelNToHighest = 0b01,
|
||||
|
@ -837,12 +837,12 @@ where
|
|||
if self.eoc.is_low().map_err(Error::Pin)? {
|
||||
// maximum length of reply is 32 for 16 channels
|
||||
let mut dummy_cmd: [u8; 32] = [0; 32];
|
||||
let num_conv: usize =
|
||||
if self.base.cfg.pending_scan_mode == Some(ScanMode::ScanChannelNRepeatedly) {
|
||||
self.base.cfg.results_len as usize
|
||||
} else {
|
||||
self.base.cfg.requested_conversions
|
||||
};
|
||||
let num_conv: usize;
|
||||
if self.base.cfg.pending_scan_mode == Some(ScanMode::ScanChannelNRepeatedly) {
|
||||
num_conv = self.base.cfg.results_len as usize;
|
||||
} else {
|
||||
num_conv = self.base.cfg.requested_conversions;
|
||||
}
|
||||
self.base.cfg.pending_scan_mode = None;
|
||||
self.base.cfg.requested_conversions = 0;
|
||||
self.base.cs.set_low().map_err(Error::Pin)?;
|
||||
|
|
Loading…
Reference in New Issue
Block a user