diff --git a/beamer/libs/semserialize/src/lib.rs b/beamer/libs/semserialize/src/lib.rs index dbc93e8..0143d10 100644 --- a/beamer/libs/semserialize/src/lib.rs +++ b/beamer/libs/semserialize/src/lib.rs @@ -6,7 +6,14 @@ pub const HEIGHT: usize = 32; // "Pixels" from left to right pub const WIDTH: usize = 32; #[derive(Serialize, Deserialize, Debug,PartialEq)] -pub struct SemLine{ +pub enum SemLine{ + SlowPicture(SemLinePhoto), + FastPicture(SemLinePhoto), + Camera(SemLinePhoto) + +} +#[derive(Serialize, Deserialize, Debug,PartialEq)] +pub struct SemLinePhoto{ line: u32, pixels:[u8;WIDTH] @@ -18,7 +25,7 @@ mod tests { use serde_json; #[test] fn test_serialize(){ - let test_struct: SemLine = SemLine{line:0,pixels:[0;WIDTH]}; + let test_struct: SemLine = SemLine::SlowPicture(SemLinePhoto{line:0,pixels:[0;WIDTH]}); let serialized = serde_json::to_string(&test_struct).unwrap(); let deserialized:SemLine = serde_json::from_str(&serialized).unwrap(); assert_eq!(test_struct,deserialized);