Octoprint is quickly becoming the best way to drive many types, including cnc lasers and mills that use the common 3d printer controllers.
I would like to start contributing by coding up a few changes to make those uses less clunky, they are mostly small but quite useful.
A few examples is hiding the temperatue tab and extruder controls for machines other than 3d printers, another common issue is jogging with G1 as on some lasers that turns the laser on, G0 would be preferable.
I know I could bend over backwards and make those as plugins hiding HTML elements of hard coded names and making a gcode filter to intercept G1 jog, but after looking around these changes would be much simply made in OctoPrint and I assume could open it for a lot more uses and users.
So the main point of my changes would be to add two more attributes to the Profile, one for machine type (Printer, Laser, CNC) and another one for Firmware/GCode flavor: (Marlin, Repetier, Smoothie, GRBL, Other).
With those we could add simple checks around OctoPi and plugins to better behave depending on machine type and Gcode flavor.
What do you think?
Here are some of the changes I already made while toying with these ideas:
Any feedback is welcome on these as well as the nicest way to hide the Temperature tab for machines with no heaters. Best I found was Settings.Appearance.Disabled.Tabs, but that seems to need a restart.