I got an email from the FirePick team about the possibility of adapting my calibration system to work on their robot. (It's an old-style delta with overhead rotating arms, rather than "linear" like ours.) I'm adding support to specify build area shape (round or square) with a config option, as they requested, because their robot has a square build surface. I will also help them adapt the routines to talk to their kinematics, which are very different from ours, but should respond about the same. I will be spending some time modularizing the code in two ways:
- Allowing selection of different kinematic systems, and adding an option to choose linear or rotational delta.
- Allowing selection of different heuristic calibration systems. This will allow me to offer schemes other than simulated annealing, such as the math used by dc42's Duet firmware.
I'm also bringing my fork up to date with the main Smoothie repo. I have the basic merge part done, and am currently working on getting the config files up to date. This has historically been torturous, because my config files are re-organized into sections so that it's easier to find what you're looking for. Diffs of .ini-like files are much harder to fathom than diffs of source code. To that end, I'm releasing a tool that will do two things. First, it will find any keywords that are present in the upstream (main Smoothie) config, but not in your local config. That will tell you any new options that you should copy into your config.
Second, it will tell you what options exist in your config, but not in the upstream config. This will tell you about any potentially obsolete options that have been retired. (It will also flag all the options I've put into my branch that don't exist upstream, so you can ignore most/all of that output.)
It will be included with my next commit, which I think will be in the next few days. In the mean time, if you want to take a look, it's here:
http://pastebin.com/WCwXGQFv
The tool runs on Linux under bash. If you have Mac OS X, you may be able to run it in a terminal; obviously you would need to install the bash package (however you do that). If you have Windows, you will need to install cygwin (free). I'm not able to support this tool under any platform other than Linux. If someone wants to port it to run in JavaScript on a browser, that would make it run for everyone.