pub struct Calibration {
pub ts_cal1: u16,
pub ts_cal2: u16,
pub vrefint_cal: u16,
}Expand description
Factory calibration values read from the DESIG peripheral.
These values are programmed during manufacturing and can be used for accurate temperature and voltage measurements.
Fields§
§ts_cal1: u16Temperature sensor calibration value at 30°C (12-bit).
ts_cal2: u16Temperature sensor calibration value at 130°C (12-bit).
vrefint_cal: u16Internal voltage reference calibration value (12-bit). Measured at VDDA = 3.0V.
Implementations§
Source§impl Calibration
impl Calibration
Sourcepub fn convert_to_millicelsius(&self, ts_data: u32, vrefint_data: u32) -> i32
pub fn convert_to_millicelsius(&self, ts_data: u32, vrefint_data: u32) -> i32
Convert a temperature sensor ADC reading to temperature in millidegrees Celsius.
This function applies VDDA compensation using the VREFINT reading to account for differences between the actual supply voltage and the 3.0V calibration voltage.
§Arguments
ts_data- Raw ADC reading from the temperature sensor channelvrefint_data- Raw ADC reading from the VREFINT channel (for VDDA compensation)
§Returns
Temperature in millidegrees Celsius (e.g., 25000 = 25.000°C)
§Example
ⓘ
let cal = Calibration::read();
let temp_mc = cal.convert_to_millicelsius(temp_adc_reading, vrefint_adc_reading);
let temp_c = temp_mc / 1000;
let temp_frac = (temp_mc % 1000).unsigned_abs();
info!("Temperature: {}.{:03} C", temp_c, temp_frac);Trait Implementations§
Source§impl Clone for Calibration
impl Clone for Calibration
Source§fn clone(&self) -> Calibration
fn clone(&self) -> Calibration
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Calibration
impl Debug for Calibration
Source§impl Format for Calibration
impl Format for Calibration
impl Copy for Calibration
Auto Trait Implementations§
impl Freeze for Calibration
impl RefUnwindSafe for Calibration
impl Send for Calibration
impl Sync for Calibration
impl Unpin for Calibration
impl UnwindSafe for Calibration
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more