diff options
author | Wolfgang Draxinger <Wolfgang.Draxinger@draxit.de> | 2011-12-06 11:23:24 +0100 |
---|---|---|
committer | Wolfgang Draxinger <Wolfgang.Draxinger@draxit.de> | 2011-12-06 11:23:24 +0100 |
commit | e7c452c75cf84db3c4d2430981a1f1ff5016ed2c (patch) | |
tree | d45e5e98474b91a03de568c4f523bd0c4539a63f /README | |
parent | 7a91a4574c95f3f795ba12e239d66e1b4e08634a (diff) | |
download | PyMotionControl-e7c452c75cf84db3c4d2430981a1f1ff5016ed2c.tar.gz PyMotionControl-e7c452c75cf84db3c4d2430981a1f1ff5016ed2c.tar.bz2 |
sctarchpad
Diffstat (limited to 'README')
-rw-r--r-- | README | 32 |
1 files changed, 32 insertions, 0 deletions
@@ -18,6 +18,38 @@ to form a application specific stage. --- +Overview + +PyMotionControl forms *model* part of a Model View Controller +(MVC) design. The "MotionControl" class provides an abstraction +for a generic motion control stage. As such the only interface +it exposes are function for setting a motion target position +and starting and aborting a *cycle*. + +*Cycles* are sequences of "Actions", instances of classes derived +from "AbstractAction" base class. Each action effects on all assigned +axes simulatanously and the action queue is advaned upon successfull +completion of the currently active action. If a action fails, the +rest of the queue is not executed, but cleared and the +*emergency_abort_action* executed, which usually just stops all axes, +but may also perform a movement into a safe position. + +A MotionControl has a number of axes, which are instances of +classes detived from "Axis". "Axis" abstracts a typical motion +axis interface. + +To program complex action sequences, subclass from "MotionControl". +Provide interface functions which turn a given target destination +or ultimate action into a sequence of sub-actions, queueing them +up in MotionControl.cycle_queue + +"Constraints" interface with "MotionControl": Every "MotionControl" +instance has a set of constraints. In the most simple case just the +axis limits. Upon setting a new target position the constraints +are checked. Only if all constraints are met a cycle can be started. + +--- + NOTE scratchpad.py: scratchpad.py is the source file where new things are |