Skip to content

Commit 8abc252

Browse files
committed
module: Added additional metadata to aid tool selection on single extruder multi-material prints
The added metadata is ssential for single extruder multi-material printing. It is used in new Mainsail functionality to map tools to MMU spools when using Happy Hare (Klipper MMU driver) Signed-off-by: Paul Morgan ([email protected])
1 parent ccbb03f commit 8abc252

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

moonraker/components/file_manager/metadata.py

+35
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,21 @@ def parse_filament_name(self) -> Optional[str]:
193193
def parse_filament_type(self) -> Optional[str]:
194194
return None
195195

196+
def parse_filament_color(self) -> Optional[str]:
197+
return None
198+
199+
def parse_extruder_color(self) -> Optional[str]:
200+
return None
201+
202+
def parse_filament_temp(self) -> Optional[str]:
203+
return None
204+
205+
def parse_referenced_tools(self) -> Optional[str]:
206+
return None
207+
208+
def parse_single_extruder_multi_material(self) -> Optional[int]:
209+
return None
210+
196211
def parse_estimated_time(self) -> Optional[float]:
197212
return None
198213

@@ -381,6 +396,21 @@ def parse_filament_name(self) -> Optional[str]:
381396
r";\sfilament_settings_id\s=\s(%S)", self.footer_data
382397
)
383398

399+
def parse_filament_color(self) -> Optional[str]:
400+
return regex_find_string(r";\sfilament_colour\s=\s(%S)", self.footer_data)
401+
402+
def parse_extruder_color(self) -> Optional[str]:
403+
return regex_find_string(r";\sextruder_colour\s=\s(%S)", self.footer_data)
404+
405+
def parse_filament_temp(self) -> Optional[str]:
406+
return regex_find_string(r";\s(?:nozzle_)?temperature\s=\s(%S)", self.footer_data)
407+
408+
def parse_referenced_tools(self) -> Optional[str]:
409+
return regex_find_string(r";\sreferenced_tools\s=\s(%S)", self.footer_data)
410+
411+
def parse_single_extruder_multi_material(self) -> Optional[int]:
412+
return regex_find_int(r";\ssingle_extruder_multi_material\s=\s(%D)", self.footer_data)
413+
384414
def parse_estimated_time(self) -> Optional[float]:
385415
time_match = re.search(
386416
r';\sestimated\sprinting\stime.*', self.footer_data)
@@ -940,6 +970,11 @@ def parse_first_layer_bed_temp(self) -> Optional[float]:
940970
'chamber_temp',
941971
'filament_name',
942972
'filament_type',
973+
'filament_color',
974+
'extruder_color',
975+
'filament_temp',
976+
'referenced_tools',
977+
'single_extruder_multi_material',
943978
'filament_total',
944979
'filament_weight_total',
945980
'thumbnails']

0 commit comments

Comments
 (0)