use serde::{Deserialize, Serialize};
pub const MICROVOLTS_PER_VOLT: f64 = 1e6;
#[derive(Debug, Clone, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum SignalUnit {
Volt,
Millivolt,
Microvolt,
Ampere,
Milliampere,
Microampere,
#[default]
Dimensionless,
Other(String),
}
impl SignalUnit {
pub fn symbol(&self) -> &str {
match self {
SignalUnit::Volt => "V",
SignalUnit::Millivolt => "mV",
SignalUnit::Microvolt => "µV",
SignalUnit::Ampere => "A",
SignalUnit::Milliampere => "mA",
SignalUnit::Microampere => "µA",
SignalUnit::Dimensionless => "",
SignalUnit::Other(symbol) => symbol,
}
}
}