Split project (keep controller)

This commit is contained in:
Tobias Reisinger 2024-04-30 10:38:13 +02:00
parent 9bc75b9627
commit f4fbc95500
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
128 changed files with 37 additions and 7185 deletions

22
src/driver.rs Normal file
View file

@ -0,0 +1,22 @@
use serde::{Deserialize, Deserializer};
#[derive(Debug, Clone, Copy)]
pub enum Driver {
Null,
Gpio,
PiFace,
}
impl<'de> Deserialize<'de> for Driver {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
match String::deserialize(deserializer)?.as_str() {
"null" => Ok(Driver::Null),
"gpio" => Ok(Driver::Gpio),
"piface" => Ok(Driver::PiFace),
_ => Err(serde::de::Error::custom("invalid driver")),
}
}
}