Firmware wishes - Mapping Tools, Remembering Loaded Material
Something I would absolutely LOVE to see on a machine with multiple print heads like the XL is remembering what type of Filament is loaded on which print head. Say you have one GCode where you have PLA and PETG (not sure this combination would be useful, but just as an example), but have it independent of which head has PLA or PETG loaded. This would mean that another GCode, that also uses the same materials to not have to switch the print heads (or even waste filament removing, reinserting and bleeding the nozzle), just because the order isn't the same.
Of course this presents a challenge on the detection side - how do you detect that the material in gcode1 is the same as gcode2?
Compare temperatures? - possibly the easiest solution, but error prone when dealing with tweaked temperatures for different prints.
Embed into GCode? - possibly even easier and more robust, because the firmware could remember the profile that is currently loaded and compare it to the file.
Another wish that is basically an extension of this is selecting how print heads are allocated when multiple are required and fallback ones (say for large prints, as a runout prevention).
Say a gcode uses one tool. Cool, now you basically have all the other ones as fallbacks for filament runouts! I'm not sure how easy this would be to configure on a relatively small LCD, but would mean you don't have to babysit the printer when you already have a almost empty spool and another already loaded for seamless continuation.
When you have multiple tools used, you could be prompted to select the tools with the correct materials (basically, having tools in gcode be mapped to the actual ones), potentially also over allocating one virtual one to have 2 tools, say printing PLA, while you know you dont need a lot of soluble supports!
What I really like is how (relatively) little work I imagine it being from a programming perspective (i never programmed on the slicer or the firmware, so take that with a grain of salt):
Slicer? Just some metadata, like the extrusion width comments PrusaSlicer already outputs, nothing fancy.
Firmware? The Menus (the biggest part) and map with the virtual tool as the key to the actual tool.
Why not just switch tools before printing? If you have the filaments you need ready loaded but in the wrong slots, swap them.
Cheerio,
RE: Firmware wishes - Mapping Tools, Remembering Loaded Material
@diem My main reason against this is to not mess with calibration, i dont know how long calibration of one tool takes, especially the homing in on the location of the actual nozzle part, but why mess with that, when you could just allocate them?
Also the idea of allocating the nozzles goes for more then just swapping the tools, as I mentioned above. another thing here is that you could add a confirmation prompt, if you remember that, say PETG was loaded last on that tool, but now you are trying to print PLA without changing the loaded filament to avoid user error.
Any multiple head tool swapping machine must calibrate and zero each toolhead on loading; not the slot, the tool. It does the calibration for you.
Cheerio,
RE: Firmware wishes - Mapping Tools, Remembering Loaded Material
Ok, I wasn't trying to assume anything on how the XL will actually handle calibration (because what you said would require the XL to keep track on which tool is which and in which slot).
But even if that is the case the "just swap the tools" approach works, is it actually good - or rather does that eliminate the usefulness of the mapping functionality I proposed earlier?
Examples:
You have a print that requires 2 tools... OK, so now the firmware needs to TELL you which tool needs which material, sure you can just do a "the user just needs to know this", but that isnt very user friendly, is it?
You have a print, that uses 2 tools, you have 3 tools installed and one of your spools is getting low, but you have another - full - spool loaded on another tool. Having the option to tell the firmware "hey, when this tool runs out, just use this one" is massive and makes it so you don't need to plan your day around when the print is getting to the part where you need to add the new spool - making both you and the machine more productive!
You have a print that needs just one tool. You have the wrong Material loaded. The machine could track that that tool last printed with PLA, without changing the loaded Material, but now its supposed to use PETG, generating a warning to double check.
The XL is (going to be) a workshop tool, a very versatile one with many more options than any but the most obsessive user will ever use.
If I was programming It I would include a header section in the gcode that asked "Press the button on tool X, <include descriptive text>" for each tool required. I would not assume the mapping would stay the same for the next print.
(because what you said would require the XL to keep track on which tool is which and in which slot).
Yes. It has to keep track of its tools for the duration of the print.
But even if that is the case the "just swap the tools" approach works, is it actually good - or rather does that eliminate the usefulness of the mapping functionality I proposed earlier?
Your approach requires the machine to maintain state when not in use and falls when a head is removed/swapped for maintenance.
You have a print that requires 2 tools... OK, so now the firmware needs to TELL you which tool needs which material, sure you can just do a "the user just needs to know this", but that isnt very user friendly, is it?
No, it just has to ask 'Which tool has the X'
You have a print, that uses 2 tools, you have 3 tools installed and one of your spools is getting low, but you have another - full - spool loaded on another tool. Having the option to tell the firmware "hey, when this tool runs out, just use this one" is massive and makes it so you don't need to plan your day around when the print is getting to the part where you need to add the new spool - making both you and the machine more productive!
Yes? This part of the setup, load the materials you will need, tell the machine what it has and where.
You have a print that needs just one tool. You have the wrong Material loaded. The machine could track that that tool last printed with PLA, without changing the loaded Material, but now its supposed to use PETG, generating a warning to double check.
Do you often make this error with your MK3?
Cheerio,