Using simple calibration points. The calibration-to-calibration vector will be more complicated to measure be easier to understand.
Broadened default scan positions to lessen the chances of missing the beam to begin with when table items are moved.
Added output message when alignment is performed.
More output messages when initializing the stages. Read out the controller output buffer and error buffer on initialization. Clear group errors when disbanding groups to do a controller-wide stage homing.
First commit of a possible solution for stage overshoot when camera is facing the wrong way or moves past the beam in transit at high speed. This algorithm needs to be greatly improved.
Added software lockout on moving past limits in most grouping modes. Need to verify that fully grouped stages cannot exceed software limits.
Fixed implementation of focus and radius finding algorithms to produce more accurate results. Changed the plotting functions to accomodate new inputs to focus/radius functions. Removed error bars from plots with the intention of separating error-bar plots from regular plots. Removed spurious loops and over-processing of data in radius and focus point calculation calls in plotting functions to increase plotting speed.
Simplified beam center finding method - slower but works consistantly.
Appending alignment data to intrument output.
Moved default output data directory.
Strip output from controller at the point of reading. Made single error read a private method in favor of using read errors as a public method.
Added method to save parameters to non-volatile memory.
Added representation to stage limits.
Added method to write software stage limits to controller, preventing even accidental overrun past coded limits. Removed unused define_home method.
Scanning algorithm now switches directions at x limits and increments y over full y range to find beam.
Removed redundancy with improved beam center-finding algorithm.
Further improvements to beam centering algorithm. Did away with stepped searches for the beam if it is lost in favor of a smooth search which should be faster.
Reverse z scan direction for beam b during alignment.
Using shortest displacement in z (first sample or small step) when fixing trajectory. Added private method to scan while stage is in motion to eliminate code repetition and branches in public methods.
Reduced local variables in favor of operating on lists. Added PEP8 mods.