From 0e23b609dbb0fadd0f7c93eb5bbf859a82f006db Mon Sep 17 00:00:00 2001 From: atse Date: Thu, 8 Aug 2024 16:48:29 +0800 Subject: [PATCH] PwmLimits: Use uom quantities for fields not f64s --- src/config.rs | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/config.rs b/src/config.rs index 65b511d..9d76420 100644 --- a/src/config.rs +++ b/src/config.rs @@ -1,9 +1,7 @@ use num_traits::Zero; use serde::{Serialize, Deserialize}; -use uom::si::{ - electric_potential::volt, - electric_current::ampere, - f64::{ElectricCurrent, ElectricPotential}, +use uom::si::f64::{ + ElectricCurrent, ElectricPotential, }; use crate::{ ad7172::PostFilter, @@ -76,9 +74,9 @@ impl ChannelConfig { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] pub struct PwmLimits { - pub max_v: f64, - pub max_i_pos: f64, - pub max_i_neg: f64, + pub max_v: ElectricPotential, + pub max_i_pos: ElectricCurrent, + pub max_i_neg: ElectricCurrent, } impl PwmLimits { @@ -87,15 +85,15 @@ impl PwmLimits { let max_i_pos = channels.get_max_i_pos(channel); let max_i_neg = channels.get_max_i_neg(channel); PwmLimits { - max_v: max_v.get::(), - max_i_pos: max_i_pos.get::(), - max_i_neg: max_i_neg.get::(), + max_v, + max_i_pos, + max_i_neg, } } pub fn apply(&self, channels: &mut Channels, channel: usize) { - channels.set_max_v(channel, ElectricPotential::new::(self.max_v)); - channels.set_max_i_pos(channel, ElectricCurrent::new::(self.max_i_pos)); - channels.set_max_i_neg(channel, ElectricCurrent::new::(self.max_i_neg)); + channels.set_max_v(channel, self.max_v); + channels.set_max_i_pos(channel, self.max_i_pos); + channels.set_max_i_neg(channel, self.max_i_neg); } }