don't serialize default stop mode

This commit is contained in:
xoviat 2023-11-05 16:11:58 -06:00
parent 62567511fb
commit 54fedeeefa

View File

@ -10,6 +10,10 @@ macro_rules! regex {
}};
}
fn is_default<T: Default + PartialEq>(variant: &T) -> bool {
*variant == T::default()
}
#[derive(Clone, Debug, Eq, PartialEq, Hash, PartialOrd, Ord, Serialize, Deserialize)]
pub struct Chip {
pub name: String,
@ -116,6 +120,7 @@ pub mod chip {
pub reset: Option<rcc::Reset>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mux: Option<rcc::Mux>,
#[serde(default, skip_serializing_if = "crate::is_default")]
pub stop_mode: rcc::StopMode,
}
@ -140,8 +145,9 @@ pub mod chip {
pub field: String,
}
#[derive(Clone, Debug, Eq, PartialEq, Hash, PartialOrd, Ord, Serialize, Deserialize)]
#[derive(Clone, Debug, Eq, PartialEq, Hash, PartialOrd, Ord, Serialize, Deserialize, Default)]
pub enum StopMode {
#[default]
Stop1, // Peripheral prevents chip from entering Stop1
Stop2, // Peripheral prevents chip from entering Stop2
Standby, // Peripheral does not prevent chip from entering Stop