Source code for semi_cr.core.station.units

from pint import Quantity, UnitRegistry

ureg: UnitRegistry = UnitRegistry()
Q = ureg.Quantity

type VoltageLike = float | Quantity | str


[docs] def as_volts(value: VoltageLike) -> float: """Converts to volts. Strings are parsed by pint, e.g. "20 mV"; bare numbers are taken as volts.""" if isinstance(value, str): value = Q(value) if isinstance(value, Quantity): return float(value.m_as("V")) return float(value)