pub struct PlateInspection {
pub plate: u32,
pub gcode_md5: String,
pub sidecar_md5: Option<String>,
pub sidecar_matches: bool,
pub bed_type: Option<String>,
pub filament_colors: Vec<String>,
pub has_timelapse_blocks: bool,
}Expand description
What we learned about one plate inside a .gcode.3mf.
Fields§
§plate: u32The plate number inspected.
gcode_md5: Stringmd5 of Metadata/plate_N.gcode, lowercase hex — computed from the
gcode bytes (the value --expect-md5 is checked against).
sidecar_md5: Option<String>Metadata/plate_N.gcode.md5 normalised to lowercase hex, or None if the
sidecar is absent.
sidecar_matches: boolWhether the sidecar matches the computed md5 (vacuously true with no
sidecar). A false here means the file’s own checksum disagrees with its
bytes — surfaced as a warning, never trusted over the computed value.
bed_type: Option<String>bed_type from Metadata/plate_N.json, if present (e.g. textured_plate).
filament_colors: Vec<String>filament_colors from Metadata/plate_N.json (hex #RRGGBB), in order.
has_timelapse_blocks: boolWhether the plate gcode INJECTS the slicer’s per-layer timelapse block (the
head-park + external-shutter moves) at layer changes — the precondition for a
“clean”, object-only timelapse. NOTE: even when present the block only RUNS if
timelapse is armed at print start (it’s wrapped in an M622 J1 runtime
conditional), so this is capability, not a guarantee the head will park. See
[injects_timelapse_blocks] for how it’s detected (a gcode scan — the
timelapse_type metadata field is uniformly 0 and does NOT track this).
Trait Implementations§
Source§impl Clone for PlateInspection
impl Clone for PlateInspection
Source§fn clone(&self) -> PlateInspection
fn clone(&self) -> PlateInspection
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PlateInspection
impl Debug for PlateInspection
impl Eq for PlateInspection
Source§impl PartialEq for PlateInspection
impl PartialEq for PlateInspection
Source§fn eq(&self, other: &PlateInspection) -> bool
fn eq(&self, other: &PlateInspection) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for PlateInspection
impl Serialize for PlateInspection
impl StructuralPartialEq for PlateInspection
Auto Trait Implementations§
impl Freeze for PlateInspection
impl RefUnwindSafe for PlateInspection
impl Send for PlateInspection
impl Sync for PlateInspection
impl Unpin for PlateInspection
impl UnsafeUnpin for PlateInspection
impl UnwindSafe for PlateInspection
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.