Host Configuration and Tuning wizards within/alongside DWC
-
There are some great external tools for the Duet ecosystem and I wonder if its a good idea to integrate them into the base platform and have them interact with the 'live' system.
I think the tools go a long way to addressing the "GCode everywhere" steep learning curve and make the system much more beginner friendly. I'd hazard a guess that even experienced users would sometimes benefit from a more visual approach, as well. I've mentioned before I used to do a lot of work with Cisco network devices. 99% of the time the command line interface was the best way to work but, occasionally, there was a place for the GUI tools (In my case, when building complex firewall rules).
What I'm advocating here is to keep RRF itself 'pure' in it's gcode only approach, and use an extended version of DWC to provide a richer interface into the configuration in addition to it's current operational role.
Example 1: http://www.escher3d.com/pages/wizards/wizardbed.php
@dc42's bed generator for delta printers. A version of this hosted on the Duet that could automagically update bed.g would be great. Especially with a visualisation that shows the points probed and the opportunity to 'nudge' individual points (e.g. for fan/ bed mount clearance)
Example 2: https://configurator.reprapfirmware.org/
The RRF configuration tool. Again, a version of this self-hosted that a) generates the base files in-place and b) allows for configuration updates to be made live by directly manipulating the sys/*.g files and console would be awesome. Bits of this are already in DWC, but by replacing that with the configurator you get access to a lot more parameters in a fairly friendly interface.
With both of the above, there will be a fair amount of effort to do the initial port but I'd have thought the longer-term maintenance would be similar to today. It makes printers more self sufficient without relying on external sites for configuration tools.
I think this has been mentioned before but having a vendor-ratified, built-in, method for basic tuning of certain parameters might be worth pursuing too, using a wizard system. e.g.
- Pressure Advance Tuning
- Non-Linear extrusion Tuning
- Retraction Tuning
- Stall detection homing
- PID Tuning
- Steps / mm Tuning
KissSlicer has interesting wizards for some of these but I can't help thinking they should be controller-side and not baked into the gcode.
There are loads of third-party tools/scripts that would also be cool to have on-board but I can see that supporting them out-of-the-box could be problematic for Duet3D.