diff --git a/src/laser_diode/current_sources.rs b/src/laser_diode/current_sources.rs index 4515fb7..2f7170b 100644 --- a/src/laser_diode/current_sources.rs +++ b/src/laser_diode/current_sources.rs @@ -11,6 +11,7 @@ use stm32f4xx_hal::{ use uom::si::{ ratio::ratio, + electric_potential::millivolt, f64::{ElectricPotential, ElectricCurrent}, }; @@ -89,6 +90,15 @@ impl CurrentSource { self.phy.current_source_short_pin.set_high(); } + pub fn get_pd_mon_v(&mut self) -> ElectricPotential{ + let sample = self.pins_adc.convert( + &self.phy.pd_mon_pin, + stm32f4xx_hal::adc::config::SampleTime::Cycles_480, + ); + let mv = self.pins_adc.sample_to_millivolts(sample as u16); + ElectricPotential::new::(mv as f64) + } + pub fn set_dac(&mut self, voltage: ElectricPotential, dac_out_v_max: ElectricPotential) -> ElectricPotential { let value = ((voltage / dac_out_v_max).get::() * (max5719::MAX_VALUE as f64)) as u32;