use std::collections::HashMap;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)]
pub struct TemperatureState {
#[serde(flatten)]
tool_temps: Option<HashMap<String,TemperatureData>>,
bed: Option<TemperatureData>,
history: Vec<HistoricTemperatureDataPoint>,
}
#[derive(Serialize, Deserialize)]
pub struct TemperatureData {
pub actual: f64,
pub target: Option<f64>,
pub offset: Option<f64>,
}
#[derive(Serialize, Deserialize)]
pub struct HistoricTemperatureDataPoint {
time: usize,
#[serde(flatten)]
tool_temps: HashMap<String, TemperatureData>,
bed: Option<TemperatureData>,
}
#[derive(Serialize, Deserialize)]
pub struct TemperatureOffset {
#[serde(flatten)]
tool_temps: HashMap<String, f64>,
bed: Option<f64>,
}