tesla-charge-controller/src/config.rs

30 lines
741 B
Rust
Raw Normal View History

2023-12-25 21:22:08 +11:00
use serde::{Deserialize, Serialize};
2024-01-08 12:00:09 +11:00
use crate::types::Coords;
2023-12-28 12:41:05 +11:00
2023-12-25 21:22:08 +11:00
#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct Config {
pub tesla_watch_interval_seconds: u64,
pub pl_watch_interval_seconds: u64,
pub pl_timeout_milliseconds: u64,
2023-12-28 12:41:05 +11:00
pub coords: Coords,
2024-01-10 15:22:28 +11:00
pub serial_port: String,
pub baud_rate: u32,
}
2023-12-25 21:22:08 +11:00
impl Default for Config {
fn default() -> Self {
Self {
tesla_watch_interval_seconds: 120,
pl_watch_interval_seconds: 30,
pl_timeout_milliseconds: 250,
2023-12-28 12:41:05 +11:00
coords: Coords {
latitude: 0.,
longitude: 0.,
},
2024-01-10 15:22:28 +11:00
serial_port: String::from("/dev/ttyUSB0"),
baud_rate: 9600,
}
}
}