Automatic filament selection. (Slicer feature?)
I just had an idea for a new feature.
Automatic filament selection takes the filament that is loaded in the printer and uses those parameters for the print.
So dont have to chance the gcode just the filament if your doing prototypes or other stuff that needs different materials
How it might work:
In the slicer select auto filament as your filament and export the Gcode.
Load a filament of your chose in the machine.
The printer wil fill in the parameters for this filament while printing.
This probably already exists/can be done but i would like to see it intergrated in the prusa slicer.
The printer is dumb as a bag of rocks. It has no facility to change or substitute any gcode. It literally blindly follows whatever instructions are in the gcode file, even if it could cause the printer problems. As such this is highly unlikely to work unless the firmware was completely re-written. It would need a much better gcode parser that was smart, an enhanced user interface and storage to configure and save your parameters etc. While this could potentially be done for something like the mini as the Buddy board has a lot more resources the MK2/3 series of printers use a much older board with very limited program space. It is already running into the limits of what it can do now.
However feel free to open up a feature request on the Prusa github pages. The Slicer one is here https://github.com/prusa3d/PrusaSlicer/issues
That's where requests need to be made rather than the forum.
It would need updates on both Slicer and any firmware that could support it so this would be a major project. Given there are over 1400 open issues for slicer alone I don't rate the chances as being high. You could be lucky though.
First ill be upfront with you. I do have coding experience but im not an expert and only in the C/C#/etc.
I have modified the marlin firmware for a couple of printers but only on the surface.
I dont know how the rest of the firmware operates but i think this is possible with minimal inpacked for the machine.
I am running a Prusa Mini (buddy 32 bit) and a ANET A8 (ATMEGA 8 bit)
How i think it will work:
In G-code you have the settings for temperature nozzle (M104) and bed (M140)
Normaly it will give a set temperature (M104 S240)
What if instead of a temperature you give it a pointer (M104 @LOADEDFILAMENT)
The machine will grab the temperature from the database in the printer (this is already build into the MINI, it knows what filament is loaded)
I do see the drawbacks of this.
older printers not supported (i do have an idea to support them but dont think it will be small enought)
only temperatur settings, no retraction etc.(Mayby later version do have more settings)
But i think it will work for new printers whicht already have 32 bit boards.
Also the MK4 and the prusa XL will have 32 bit boards