sunspec/models/
model145.rs1#[derive(Debug)]
6#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))]
7pub struct Model145 {
8 pub nom_rmp_up_rte: Option<u16>,
12 pub nom_rmp_dn_rte: Option<u16>,
16 pub emg_rmp_up_rte: Option<u16>,
20 pub emg_rmp_dn_rte: Option<u16>,
24 pub conn_rmp_up_rte: Option<u16>,
28 pub conn_rmp_dn_rte: Option<u16>,
32 pub a_gra: Option<u16>,
36 pub rmp_sf: Option<i16>,
40}
41#[allow(missing_docs)]
42impl Model145 {
43 pub const NOM_RMP_UP_RTE: crate::Point<Self, Option<u16>> = crate::Point::new(0, 1, true);
44 pub const NOM_RMP_DN_RTE: crate::Point<Self, Option<u16>> = crate::Point::new(1, 1, true);
45 pub const EMG_RMP_UP_RTE: crate::Point<Self, Option<u16>> = crate::Point::new(2, 1, true);
46 pub const EMG_RMP_DN_RTE: crate::Point<Self, Option<u16>> = crate::Point::new(3, 1, true);
47 pub const CONN_RMP_UP_RTE: crate::Point<Self, Option<u16>> = crate::Point::new(4, 1, true);
48 pub const CONN_RMP_DN_RTE: crate::Point<Self, Option<u16>> = crate::Point::new(5, 1, true);
49 pub const A_GRA: crate::Point<Self, Option<u16>> = crate::Point::new(6, 1, true);
50 pub const RMP_SF: crate::Point<Self, Option<i16>> = crate::Point::new(7, 1, false);
51}
52impl crate::Model for Model145 {
53 const ID: u16 = 145;
54 fn from_data(data: &[u16]) -> Result<Self, crate::DecodeError> {
55 Ok(Self {
56 nom_rmp_up_rte: Self::NOM_RMP_UP_RTE.from_data(data)?,
57 nom_rmp_dn_rte: Self::NOM_RMP_DN_RTE.from_data(data)?,
58 emg_rmp_up_rte: Self::EMG_RMP_UP_RTE.from_data(data)?,
59 emg_rmp_dn_rte: Self::EMG_RMP_DN_RTE.from_data(data)?,
60 conn_rmp_up_rte: Self::CONN_RMP_UP_RTE.from_data(data)?,
61 conn_rmp_dn_rte: Self::CONN_RMP_DN_RTE.from_data(data)?,
62 a_gra: Self::A_GRA.from_data(data)?,
63 rmp_sf: Self::RMP_SF.from_data(data)?,
64 })
65 }
66 fn addr(models: &crate::Models) -> crate::ModelAddr<Self> {
67 models.m145
68 }
69}