Motor parameters, moves

In the following piece of code motor objects are created (Motor->locate()) and references to these objects are stored in the symbols $m11 and $m12. These symbols allow us to address the motor parameters using the methods get() and set().

#!/usr/bin/perl
#
# stepping motor example, OO style
#

$m11 = Motor->locate( name => "mot11"); 
$m12 = Motor->locate( name => "mot12"); 
#
# fetch motor parameters
#
print "\n"; 
print " name " .           $m12->get( "name") . "\n"; 
print " Position " .       $m12->get( "position") . "\n"; 
print " Accel " .          $m12->get( "acceleration") . "\n"; 
print " Base  " .          $m12->get( "base") . "\n"; 
print " Slew " .           $m12->get( "slew") . "\n"; 
print " Settle time " .    $m12->get( "settle_time") . "\n"; 
print " Unit_backlash " .  $m12->get( "unit_backlash") . "\n"; 
print " Unit_limit_min " . $m12->get( "unit_limit_min") . "\n"; 
print " Unit_limit_max " . $m12->get( "unit_limit_max") . "\n"; 
print " Step_limit_min " . $m12->get( "step_limit_min") . "\n"; 
print " Step_limit_max " . $m12->get( "step_limit_max") . "\n"; 
print " Step_register_controller " . $m12->get( "step_register_controller") . "\n"; 
print " Step_register_internal " . $m12->get( "step_register_internal") . "\n"; 
print " Ramp_units " .     $m12->get( "ramp_units") . "\n"; 
print " Ramp_steps " .     $m12->get( "ramp_steps") . "\n"; 
print " Moving " .         $m12->get( "moving") . "\n"; 
print " Move time " .      $m12->get( " move_time => "$units") . "\n"; 
#
# fetch the current positions of mot11 and mot12
#
$pos11 = $m11->get( "position"); 
$pos12 = $m12->get( "position"); 
#
$new_pos11 = $pos11 + 1; 
$new_pos12 = $pos12 + 1; 
#
$m11->set(position => $new_pos1); 
$m12->set(position => $new_pos2); 
#
# and move them back, one after the other
#
$m11->set(position => $pos11); 
$m12->set(position => $pos12); 
#
# or simultaneously
#
$ret = move( "mot11" => $new_pos11, 
             "mot12" => $new_pos12);
#
# single step moves, 'right' is equivalent to 'down'
#
$m12->set( step_down => 'yes'); 
$m12->set( step_left => 'yes'); 
$m12->set( step_right => 'yes'); 
$m12->set( step_up => 'yes'); 
#
# setting motor parameters
#
$m12->set( acceleration => 200000);
$m12->set( base => 20);
$m12->set( slew => 20000);
$m12->set( settle_time => 0.2);
$m12->set( unit_backlash => 0.5);
$m12->set( unit_limit_min => "...");
$m12->set( unit_limit_max => "...");
$m12->set( step_limit_min => "...");
$m12->set( step_limit_max => "...");
$m12->set( step_register => "...");
#
# calibration
#
$m12->set( position_calibrate => "...");
$m12->set( position_calibrate => "...",
           noconfirm => "yes");



Subsections