forked from M-Labs/thermostat
Show polarity in pwm command
This commit is contained in:
parent
e4d3aee622
commit
d8e590ee9f
@ -57,12 +57,14 @@ class Client:
|
||||
'max_i_neg': {'max': 3.0, 'value': 3.0},
|
||||
'max_v': {'max': 5.988, 'value': 5.988},
|
||||
'max_i_pos': {'max': 3.0, 'value': 3.0}},
|
||||
'polarity': 'normal',
|
||||
{'channel': 1,
|
||||
'center': 'vref',
|
||||
'i_set': {'max': 2.9802790335151985, 'value': -0.02002179650216762},
|
||||
'max_i_neg': {'max': 3.0, 'value': 3.0},
|
||||
'max_v': {'max': 5.988, 'value': 5.988},
|
||||
'max_i_pos': {'max': 3.0, 'value': 3.0}}
|
||||
'polarity': 'normal',
|
||||
]
|
||||
"""
|
||||
return self._get_conf("pwm")
|
||||
|
@ -545,6 +545,7 @@ impl Channels {
|
||||
max_v: self.get_max_v(channel).into(),
|
||||
max_i_pos: self.get_max_i_pos(channel).into(),
|
||||
max_i_neg: self.get_max_i_neg(channel).into(),
|
||||
polarity: PolarityJson(self.channel_state(channel).polarity.clone()),
|
||||
}
|
||||
}
|
||||
|
||||
@ -626,6 +627,21 @@ impl Serialize for CenterPointJson {
|
||||
}
|
||||
}
|
||||
|
||||
pub struct PolarityJson(Polarity);
|
||||
|
||||
// used in JSON encoding, not for config
|
||||
impl Serialize for PolarityJson {
|
||||
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
||||
where
|
||||
S: Serializer,
|
||||
{
|
||||
serializer.serialize_str(match self.0 {
|
||||
Polarity::Normal => "normal",
|
||||
Polarity::Reversed => "reversed",
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
pub struct PwmSummaryField<T: Serialize> {
|
||||
value: T,
|
||||
@ -646,6 +662,7 @@ pub struct PwmSummary {
|
||||
max_v: PwmSummaryField<ElectricPotential>,
|
||||
max_i_pos: PwmSummaryField<ElectricCurrent>,
|
||||
max_i_neg: PwmSummaryField<ElectricCurrent>,
|
||||
polarity: PolarityJson,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
|
Loading…
Reference in New Issue
Block a user