From 87c38f717de7b29a17b13e93a503964a424721fe Mon Sep 17 00:00:00 2001 From: Serguey Parkhomovsky Date: Sat, 14 Mar 2026 10:57:26 -0700 Subject: Extract function for prusa status --- src/lib.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index 6c63733..a49aba0 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -3,6 +3,7 @@ use serde::Deserialize; #[derive(Debug, Default)] pub enum PrintStatus { #[default] + Unknown, Idle, Printing, Paused, @@ -11,7 +12,6 @@ pub enum PrintStatus { #[derive(Debug, Default)] pub struct PrinterState { - pub name: String, pub bed_temp: f32, pub status: PrintStatus, } @@ -96,3 +96,14 @@ pub enum Printer { serial_number: String, }, } + +pub fn extract_status_from_prusa(status: &PrusaStatus) -> PrinterState { + let print_status = match status.printer.state { + PrusaState::Idle => PrintStatus::Idle, + PrusaState::Printing => PrintStatus::Printing, + PrusaState::Paused => PrintStatus::Paused, + PrusaState::Finished => PrintStatus::Finished, + _ => PrintStatus::Unknown, + }; + PrinterState { bed_temp: status.printer.temp_bed, status: print_status } +} \ No newline at end of file -- cgit v1.2.3