This is really a housekeeping release. Setting things up for the actual file splitting - where GCodeClean splits each cutting action into its own self contained GCode file.
Note a very important, sorta breaking change. I finally got around to specifying the CLI executable’s output name as GCC.exe instead of cli.exe which it has been for some time.
File pre-scan - I haven’t been back to this yet - it ended up being less of a priority
New Features
Inject blank lines before significant actions - Still to do.
File splitting - My current focus.
More support for other GCode syntaxes - A BIG piece of work this one, which will require some significant refactoring I suspect, but almost certainly well worth it in the end.
Unit conversion - Change from inches to millimeters - still on the back burner
Path optimisation - What I’m really interested in getting into - file splitting is needed for this one
Path inversion - swap the start and end of a cut - super interesting problem, but parked for now.
Pain Points
#1 is definitely the issue that lots of Windows (or Mac) based users have never used command line / terminal based software before. @Orob has conveniently bypassed this for me by adding a call to GCodeClean via WebControl, which he will now have to change, because I’ve changed the cli commands name. But maybe I should still add my own UI?
I think that a UI would be super helpful. Maslow4 incorporates what WebControl does into the firmware so going forward there won’t be a program running on everyone’s computers to be able to integrate GCodeClean into which would make a stand alone UI really useful.
It did start life as a VS Code plugin - and they’re all TypeScript - so … I would consider rewriting it in TypeScript. Don’t worry, you’ll only need TSC or Bun in the build chain to generate the JavaScript.
But first it is file splitting. And that may be advantageous for memory management, because it splits the file into individual cutting actions. Meaning you could load one cutting path at a time.
Would it be possible to fit it into 10k or so of space? The ESP32 is pretty tight.
Edit: The ESP32 has WAY more memory than 10k, but the webserver running on the ESP32 isn’t going to be happy serving a page unless it’s very light weight