diff options
Diffstat (limited to 'src/lib.rs')
| -rw-r--r-- | src/lib.rs | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -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 |
