Exploring the system

The command lsm displays a list of motors:

p02/door/exp.01 [1]: lsm
                 Name    Type                Controller   Axis
 -------------------- ------- ------------------------- ------
               dac_tk   Motor               HasyDACCtrl      1
            dcm_bragg   Motor    HasyFMBOxfDCMMotorCtrl      1
         dcm_parallel   Motor    HasyFMBOxfDCMMotorCtrl      2
             dcm_perp   Motor    HasyFMBOxfDCMMotorCtrl      3
           eh2a_mot01   Motor             HasyMotorCtrl     17
           eh2a_mot02   Motor             HasyMotorCtrl     18
           eh2a_mot03   Motor             HasyMotorCtrl     19
...
            oh1_mot16   Motor             HasyMotorCtrl     16
             slt1offs   Motor               HasySltCtrl      2
             slt1vgap   Motor               HasySltCtrl      1
             slt2left   Motor               HasySltCtrl      3
             slt2offs   Motor               HasySltCtrl      6
            slt2right   Motor               HasySltCtrl      4
             slt2vgap   Motor               HasySltCtrl      5
        vfm_curvature   Motor    HasyAttributeMotorCtrl      4
      vfm_ellipticity   Motor    HasyAttributeMotorCtrl      5
     vfm_gp_curvature   Motor    HasyAttributeMotorCtrl     12
   vfm_gp_ellipticity   Motor    HasyAttributeMotorCtrl     13
          vfm_gp_tilt   Motor    HasyAttributeMotorCtrl     11
             vfm_gp_z   Motor    HasyAttributeMotorCtrl     10
             vfm_tilt   Motor    HasyAttributeMotorCtrl      3
                vfm_z   Motor    HasyAttributeMotorCtrl      2

The command wa produces a list of motors and their positions:

p02/door/exp.01 [1]: wa
Positions on 2012-09-03 15:22:48.767801

            dac_tk          dcm_bragg       dcm_parallel           dcm_perp
   1.0000000000000    2.6628801728890   -0.0017544755474   -0.2732704541679
                                                                           
        eh2a_mot01         eh2a_mot02         eh2a_mot03         eh2a_mot04
  -5.0000000000000    7.8699990312894  180.0000000000000    0.0000000000000

.....
                                                                           
vfm_gp_ellipticity        vfm_gp_tilt           vfm_gp_z           vfm_tilt
-1100.0000150400265 6060.0000828568718 6740.0108461825912 11115.0016716990394
                                                                           
             vfm_z
11490.1076866492876

The command wm displays the position of a single motor:

p02/door/exp.01 [3]: wm oh1_mot01
          oh1_mot01
User               
 High           0.8
 Current       0.18
 Low           -0.8

p02/door/exp.01 [4]:

This command can also be used to display the positions of several motors:

p02/door/exp.01 [4]: wm oh1_mot01 oh1_mot02 oh1_mot03
          oh1_mot01  oh1_mot02  oh1_mot03
User                                     
 High           0.8          1          3
 Current       0.18      -1.02 -1.67049997616
 Low           -0.8      -0.68         -3

The command lsct displays the devices of the countertimer controller:

p02/door/exp.01 [7]: %lsct
       Name           Type        Controller   Axis
 ---------- -------------- ----------------- ------
   eh2a_c01   CTExpChannel   HasySIS3820Ctrl     33
   eh2a_c02   CTExpChannel   HasySIS3820Ctrl     34
   eh2a_c03   CTExpChannel   HasySIS3820Ctrl     35
   eh2a_c04   CTExpChannel   HasySIS3820Ctrl     36
   eh2a_c05   CTExpChannel   HasySIS3820Ctrl     37
   eh2a_c06   CTExpChannel   HasySIS3820Ctrl     38
   eh2a_c07   CTExpChannel   HasySIS3820Ctrl     39
...
    oh1_c31   CTExpChannel   HasySIS3820Ctrl     31
    oh1_c32   CTExpChannel   HasySIS3820Ctrl     32
    oh1_t01   CTExpChannel      HasyDGG2Ctrl      1
    oh1_t02   CTExpChannel      HasyDGG2Ctrl      2

lsmeas displays the measurement groups:

p02/door/exp.01 [8]: lsmeas
  Active    Name      Timer Experim. channels   
 -------- ------ ---------- --------------------
             mg1   eh2a_t01 eh2a_t01, eh2a_c01

The command lsmac displays the available macros:

p03nano/door/haspp03nano.01 [1]: lsmac
              Name                                                                                         Location
  ---------------- ------------------------------------------------------------------------------------------------
   general_on_stop                                                  /home/p03nano/sardanaMacros/general_features.py
      gh_post_scan                                                  /home/p03nano/sardanaMacros/general_features.py
       gh_post_acq                                                  /home/p03nano/sardanaMacros/general_features.py
      gh_post_move                                                  /home/p03nano/sardanaMacros/general_features.py
       gh_pre_move                                                  /home/p03nano/sardanaMacros/general_features.py
      gh_post_step                                                  /home/p03nano/sardanaMacros/general_features.py
        gh_pre_acq                                                  /home/p03nano/sardanaMacros/general_features.py
       gh_pre_scan                                                  /home/p03nano/sardanaMacros/general_features.py
               _wm                          /usr/lib/python2.7/dist-packages/sardana/macroserver/macros/standard.py
              _wum                          /usr/lib/python2.7/dist-packages/sardana/macroserver/macros/standard.py
 adjust_lim_single                         /usr/lib/python2.7/dist-packages/sardana/macroserver/macros/standard.py
        adjust_lim                          /usr/lib/python2.7/dist-packages/sardana/macroserver/macros/standard.py
                ct                          /usr/lib/python2.7/dist-packages/sardana/macroserver/macros/standard.py
          logmacro                          /usr/lib/python2.7/dist-packages/sardana/macroserver/macros/standard.py
            mstate                          /usr/lib/python2.7/dist-packages/sardana/macroserver/macros/standard.py
               mvr                          /usr/lib/python2.7/dist-packages/sardana/macroserver/macros/standard.py
 ...

lsmac may have a parameter acting as a filter (regular expression syntax):

p03nano/door/haspp03nano.01 [2]: lsmac mv.*
   Name                                                                       Location
 ------ ------------------------------------------------------------------------------
    mvr        /usr/lib/python2.7/dist-packages/sardana/macroserver/macros/standard.py
     mv        /usr/lib/python2.7/dist-packages/sardana/macroserver/macros/standard.py
   mvsa   /usr/lib/python2.7/dist-packages/sardana/sardana-macros/DESY_general/mvsa.py

or

p03nano/door/haspp03nano.01 [7]: lsmac a.*scan
         Name                                                              Location
 ------------ ---------------------------------------------------------------------
        ascan   /usr/lib/python2.7/dist-packages/sardana/macroserver/macros/scan.py
   amultiscan   /usr/lib/python2.7/dist-packages/sardana/macroserver/macros/scan.py
       a2scan   /usr/lib/python2.7/dist-packages/sardana/macroserver/macros/scan.py
       a3scan   /usr/lib/python2.7/dist-packages/sardana/macroserver/macros/scan.py
       a4scan   /usr/lib/python2.7/dist-packages/sardana/macroserver/macros/scan.py

You may retrieve information about the macros by, e.g.:

p02/door/exp.01 [4]: ct?
Type:           Magic function
Base Class:     <type 'instancemethod'>
String Form:    <bound method MatplotlibMTShell.ct of <IPython.Shell.MatplotlibMTShell object at 0xa6af84c>>
Namespace:      IPython internal
File:           /usr/local/Python26/lib/python2.6/site-packages/sardana/spock/spockms.py
Definition:     ct(shell, parameter_s=”, name='ct')
Docstring:
    Syntax:
            ct <integ_time> -> 
    
    Count for the specified time on the active measurement group
    
    Parameters:
            integ_time : (Float) Integration time
    
    Result: