rsiot/message/phy_quantity/quantities/
pressure.rs1use super::super::{PhyQuantity, QuantityName};
2
3impl PhyQuantity {
4 pub fn new_pressure_Pa(value: f64) -> Self {
6 Self {
7 value,
8 quantity_name: QuantityName::Pressure,
9 }
10 }
11
12 pub fn pressure_Pa(&self) -> Result<f64, String> {
14 match self.quantity_name {
15 QuantityName::Pressure => {
16 let value = self.value;
17 Ok(value)
18 }
19 _ => {
20 let err = format!(
21 "You exprect pressure, but current unit: {:?}",
22 self.quantity_name
23 );
24 Err(err.to_string())
25 }
26 }
27 }
28
29 pub fn pressure_mmHg(&self) -> Result<f64, String> {
31 match self.quantity_name {
32 QuantityName::Pressure => {
33 let value = self.value * 0.00750063755419211;
34 Ok(value)
35 }
36 _ => {
37 let err = format!(
38 "You exprect pressure, but current unit: {:?}",
39 self.quantity_name
40 );
41 Err(err.to_string())
42 }
43 }
44 }
45}