summaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
authorSerguey Parkhomovsky <xindigo@gmail.com>2026-03-14 10:57:26 -0700
committerSerguey Parkhomovsky <xindigo@gmail.com>2026-03-14 10:57:26 -0700
commit87c38f717de7b29a17b13e93a503964a424721fe (patch)
tree9f5eeaf630b3136c52244af5aa608d311b3ded41 /src/lib.rs
parent79b4c239b61f2b130f8876eaba7a20fdf43a1a44 (diff)
Extract function for prusa status
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs13
1 files changed, 12 insertions, 1 deletions
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