diff --git a/rust/src/plant_state.rs b/rust/src/plant_state.rs index 26c7288..612d32f 100644 --- a/rust/src/plant_state.rs +++ b/rust/src/plant_state.rs @@ -12,10 +12,11 @@ const MOIST_SENSOR_MAX_FREQUENCY: f32 = 7500.; // 60kHz (500Hz margin) const MOIST_SENSOR_MIN_FREQUENCY: f32 = 150.; // this is really, really dry, think like cactus levels #[derive(Debug, PartialEq, Serialize)] +#[serde(tag = "kind")] pub enum MoistureSensorError { ShortCircuit { hz: f32, max: f32 }, OpenLoop { hz: f32, min: f32 }, - BoardError(String), + BoardError { message: String }, } #[derive(Debug, PartialEq, Serialize)] @@ -49,6 +50,7 @@ impl MoistureSensorState { impl MoistureSensorState {} #[derive(Debug, PartialEq, Serialize)] +#[serde(tag = "kind")] pub enum PumpError { PumpNotWorking { failed_attempts: usize, @@ -134,9 +136,9 @@ impl PlantState { }, Err(err) => MoistureSensorState::SensorError(err), }, - Err(err) => MoistureSensorState::SensorError(MoistureSensorError::BoardError( - err.to_string(), - )), + Err(err) => MoistureSensorState::SensorError(MoistureSensorError::BoardError { + message: err.to_string(), + }) } } else { MoistureSensorState::Disabled @@ -159,9 +161,9 @@ impl PlantState { }, Err(err) => MoistureSensorState::SensorError(err), }, - Err(err) => MoistureSensorState::SensorError(MoistureSensorError::BoardError( - err.to_string(), - )), + Err(err) => MoistureSensorState::SensorError(MoistureSensorError::BoardError { + message: err.to_string(), + }) } } else { MoistureSensorState::Disabled