Create new framework for calibration process #649
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When the calibration process was originally written it was a very linear process which always progressed in the same way. It also has simply evolved a lot over time and had become cluttered and difficult to maintain.
This pull request attempts to re-write the way the calibration process framework works.
Each step is now a self contained widget and they can be loaded, removed, or reordered at any time. Changes to one step will not affect other steps.
Each calibration step has an
on_Enter
function and anon_Exit
functions which are called when the step begins and when it finishes. When a step is done with whichever part of the calibration process it is working on, it calls thereadyToMoveOn()
function which will remove it from the display and load the next step.The functionality is mostly in place in this pull request, however only one path through the calibration process is supported right now. The machine must use the chains passing over the top of the sprockets and triangular kinematics. I will add the other possible paths in separate pull requests because this one is already so massive, and because I want feedback and discussion on how to do the chains over the bottom option.
Graphically it looks very similar to how it did before:
I've run through everything once, but this shouldn't be considered stable yet. I want to test it quite a bit more before considering merging it. Any feedback is more than welcome.