mdziekon/OctoPrint-SpoolManager

Add "invalid material type" detection to GCODEs generated by PrusaSlicer

Opened this issue · 0 comments

With various material types comes the risk of accidentally using GCODE sliced for a different material than the currently loaded one. PrusaSlicer, at least in "verbose mode", attaches filament type information in the prusaslicer_config = begin section, filament_type property.

The idea here is to add a safe guard, in the same place as "not enough filament" guard, which would try to load the GCODE, parse it, and detect the filament type, and warn users if wrong filament is being used. A similar feature is present on Prusa machines (at least on MINI+) when NOT using OctoPrint.

TODO:

  • (potential task blocker) Check if it's possible to load GCODE in the plugin's code

Requirements:

  • Feature is optional (toggleable in settings), disabled by default
  • Feature is well documented (eg. enumeration of supported slicers, required settings, etc.)
  • When enabled, and supported Slicer was used, plugin is able to check the filament type
    • When wrong filament is used, a warning should be displayed, with an option to either cancel the print, or ignore the warning
  • When disabled, feature does not affect print starting process
  • When enabled, but the filament type was not detected in the GCODE, a warning is displayed
    • For users slicing with unsupported Slicer, it would be encouraged to disable the feature