diff --git a/src/channels.rs b/src/channels.rs index 1a9bb7d..a2f3d55 100644 --- a/src/channels.rs +++ b/src/channels.rs @@ -265,7 +265,9 @@ impl Channels { let samples = 50; let mut target_voltage = ElectricPotential::new::(0.0); for _ in 0..samples { - target_voltage = target_voltage + self.read_vref(channel); + let vref = self.read_vref(channel); + self.channel_state(channel).vref = vref; + target_voltage = target_voltage + vref; } target_voltage = target_voltage / samples as f64; let mut start_value = 1; @@ -372,7 +374,9 @@ impl Channels { // Get current passing through TEC pub fn get_tec_i(&mut self, channel: usize) -> ElectricCurrent { - (self.read_itec(channel) - self.read_vref(channel)) / ElectricalResistance::new::(0.4) + let vref = self.read_vref(channel); + self.channel_state(channel).vref = vref; + (self.read_itec(channel) - vref) / ElectricalResistance::new::(0.4) } // Get voltage across TEC