pub struct Voltage { /* private fields */ }
Expand description
A voltage measurement.
Implementations§
source§impl Voltage
impl Voltage
sourcepub fn from_millivolts(millivolts: i16) -> Self
pub fn from_millivolts(millivolts: i16) -> Self
Create a new Voltage
instance from a millivolt measurement.
Examples found in repository?
src/lib.rs (line 514)
497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515
fn calculate_voltage(
&self,
measurement: i16,
resolution: &Resolution,
) -> Result<Voltage, Error<E>> {
// Handle saturation / out of range values
if measurement == resolution.max() {
return Err(Error::VoltageTooHigh);
} else if measurement == resolution.min() {
return Err(Error::VoltageTooLow);
}
let converted =
measurement as i32 * (REF_MILLIVOLTS * 2) as i32 / (1 << resolution.res_bits()) as i32;
// The "allow" annotation is needed because there are different Voltage
// types, depending on the build flags.
#[allow(clippy::useless_conversion)]
Ok(Voltage::from_millivolts((converted as i16).into()))
}
sourcepub fn as_millivolts(&self) -> i16
pub fn as_millivolts(&self) -> i16
Return the voltage in millivolts.