macros

class scan.a2scan

two-motor scan. a2scan scans two motors, as specified by motor1 and motor2. Each motor moves the same number of intervals with starting and ending positions given by start_pos1 and final_pos1, start_pos2 and final_pos2, respectively. The step size for each motor is (start_pos-final_pos)/nr_interv. The number of data points collected will be nr_interv+1. Count time is given by time which if positive, specifies seconds and if negative, specifies monitor counts.

class scan.a2scanc

two-motor continuous scan

class scan.a3scan

three-motor scan . a3scan scans three motors, as specified by motor1, motor2 and motor3. Each motor moves the same number of intervals with starting and ending positions given by start_pos1 and final_pos1, start_pos2 and final_pos2, start_pos3 and final_pos3, respectively. The step size for each motor is (start_pos-final_pos)/nr_interv. The number of data points collected will be nr_interv+1. Count time is given by time which if positive, specifies seconds and if negative, specifies monitor counts.

class scan.a3scanc

three-motor continuous scan

class scan.a4scan

four-motor scan . a4scan scans four motors, as specified by motor1, motor2, motor3 and motor4. Each motor moves the same number of intervals with starting and ending positions given by start_posN and final_posN (for N=1,2,3,4). The step size for each motor is (start_pos-final_pos)/nr_interv. The number of data points collected will be nr_interv+1. Count time is given by time which if positive, specifies seconds and if negative, specifies monitor counts.

class scan.a4scanc

four-motor continuous scan

class scan.amultiscan

Multiple motor scan. amultiscan scans N motors, as specified by motor1, motor2,...,motorN. Each motor moves the same number of intervals with starting and ending positions given by start_posN and final_posN (for N=1,2,...). The step size for each motor is (start_pos-final_pos)/nr_interv. The number of data points collected will be nr_interv+1. Count time is given by time which if positive, specifies seconds and if negative, specifies monitor counts.

class scan.ascan

Do an absolute scan of the specified motor. ascan scans one motor, as specified by motor. The motor starts at the position given by start_pos and ends at the position given by final_pos. The step size is (start_pos-final_pos)/nr_interv. The number of data points collected will be nr_interv+1. Count time is given by time which if positive, specifies seconds and if negative, specifies monitor counts.

class scan.ascanc

Do an absolute continuous scan of the specified motor. ascanc scans one motor, as specified by motor.

class scan.ascanh

Do an absolute scan of the specified motor. ascan scans one motor, as specified by motor. The motor starts at the position given by start_pos and ends at the position given by final_pos. The step size is (start_pos-final_pos)/nr_interv. The number of data points collected will be nr_interv+1. Count time is given by time which if positive, specifies seconds and if negative, specifies monitor counts.

class demo.clear_sar_demo

Undoes changes done with sar_demo

class expert.commit_ctrllib

Puts the contents of the given data in a file inside the pool

class standard.ct

Count for the specified time on the active measurement group

class scan.d2scan

two-motor scan relative to the starting position. d2scan scans two motors, as specified by motor1 and motor2. Each motor moves the same number of intervals. If each motor is at a position X before the scan begins, it will be scanned from X+start_posN to X+final_posN (where N is one of 1,2). The step size for each motor is (start_pos-final_pos)/nr_interv. The number of data points collected will be nr_interv+1. Count time is given by time which if positive, specifies seconds and if negative, specifies monitor counts.

class scan.d2scanc

continuous two-motor scan relative to the starting positions

class scan.d3scan

three-motor scan . d3scan scans three motors, as specified by motor1, motor2 and motor3. Each motor moves the same number of intervals. If each motor is at a position X before the scan begins, it will be scanned from X+start_posN to X+final_posN (where N is one of 1,2,3) The step size for each motor is (start_pos-final_pos)/nr_interv. The number of data points collected will be nr_interv+1. Count time is given by time which if positive, specifies seconds and if negative, specifies monitor counts.

class scan.d3scanc

continuous three-motor scan

class scan.d4scan

four-motor scan relative to the starting positions a4scan scans four motors, as specified by motor1, motor2, motor3 and motor4. Each motor moves the same number of intervals. If each motor is at a position X before the scan begins, it will be scanned from X+start_posN to X+final_posN (where N is one of 1,2,3,4). The step size for each motor is (start_pos-final_pos)/nr_interv. The number of data points collected will be nr_interv+1. Count time is given by time which if positive, specifies seconds and if negative, specifies monitor counts. Upon termination, the motors are returned to their starting positions.

class scan.d4scanc

continuous four-motor scan relative to the starting positions

class expert.defctrl

Creates a new controller ‘role_prop’ is a sequence of roles and/or properties. - A role is defined as <role name>=<role value> (only applicable to pseudo controllers) - A property is defined as <property name> <property value>

If both roles and properties are supplied, all roles must come before properties. All controller properties that don’t have default values must be given.

Example of creating a motor controller (with a host and port properties):

[1]: defctrl SuperMotorController myctrl host homer.springfield.com port 5000

Example of creating a Slit pseudo motor (sl2t and sl2b motor roles, Gap and Offset pseudo motor roles):

[1]: defctrl Slit myslit sl2t=mot01 sl2b=mot02 Gap=gap01 Offset=offset01

class expert.defelem

Creates an element on a controller with an axis

class expert.defm

Creates a new motor in the active pool

class expert.defmeas

Create a new measurement group. First channel in channel_list MUST be an internal sardana channel. At least one channel MUST be a Counter/Timer (by default, the first Counter/Timer in the list will become the master).

class scan.dmultiscan

Multiple motor scan relative to the starting positions. dmultiscan scans N motors, as specified by motor1, motor2,...,motorN. Each motor moves the same number of intervals If each motor is at a position X before the scan begins, it will be scanned from X+start_posN to X+final_posN (where N is one of 1,2,...) The step size for each motor is (start_pos-final_pos)/nr_interv. The number of data points collected will be nr_interv+1. Count time is given by time which if positive, specifies seconds and if negative, specifies monitor counts.

class scan.dscan

motor scan relative to the starting position. dscan scans one motor, as specified by motor. If motor motor is at a position X before the scan begins, it will be scanned from X+start_pos to X+final_pos. The step size is (start_pos-final_pos)/nr_interv. The number of data points collected will be nr_interv+1. Count time is given by time which if positive, specifies seconds and if negative, specifies monitor counts.

class scan.dscanc

continuous motor scan relative to the starting position.

class env.dumpenv

Dumps the complete environment

class expert.edctrl

Returns the contents of the library file which contains the given controller code.

class expert.edctrllib

Returns the contents of the given library file

class scan.fscan

N-dimensional scan along user defined paths. The motion path for each motor is defined through the evaluation of a user-supplied function that is evaluated as a function of the independent variables. -independent variables are supplied through the indepvar string. The syntax for indepvar is “x=expresion1,y=expresion2,...” -If no indep vars need to be defined, write ”!” or “*” or “None” -motion path for motor is generated by evaluating the corresponding function ‘func’ -Count time is given by integ_time. If integ_time is a scalar, then the same integ_time is used for all points. If it evaluates as an array (with same length as the paths), fscan will assign a different integration time to each acquisition point. -If integ_time is positive, it specifies seconds and if negative, specifies monitor counts.

IMPORTANT Notes: -no spaces are allowed in the indepvar string. -all funcs must evaluate to the same number of points

EXAMPLE: fscan x=[1,3,5,7,9],y=arange(5) motor1 x**2 motor2 sqrt(y*x-3) 0.1

class communication.get

Reads and outputs the data from the communication channel

class env.load_env

Read environment variables from config_env.xml file

class lists.ls0d

Lists all 0D experiment channels

class lists.ls1d

Lists all 1D experiment channels

class lists.ls2d

Lists all 2D experiment channels

class lists.lsa

Lists all existing objects

class lists.lscom

Lists all communication channels

class lists.lsct

Lists all Counter/Timers

class lists.lsctrl

Lists all existing controllers

class lists.lsctrllib

Lists all existing controller classes

class lists.lsdef

List all macro definitions

class env.lsenv

Lists the environment

class lists.lsexp

Lists all experiment channels

class lists.lsi

Lists all existing instruments

class lists.lsior

Lists all IORegisters

class lists.lsm

Lists all motors

class lists.lsmac

Lists existing macros

class lists.lsmaclib

Lists existing macro libraries.

class lists.lsmeas

List existing measurement groups

class lists.lspc

Lists all pseudo counters

class lists.lspm

Lists all existing motors

class env.lsvo

Lists the view options

class mca.mca_start

Starts an mca

class mca.mca_stop

Stops an mca

class scan.mesh

2d grid scan . The mesh scan traces out a grid using motor1 and motor2. The first motor scans from m1_start_pos to m1_final_pos using the specified number of intervals. The second motor similarly scans from m2_start_pos to m2_final_pos. Each point is counted for for integ_time seconds (or monitor counts, if integ_time is negative). The scan of motor1 is done at each point scanned by motor2. That is, the first motor scan is nested within the second motor scan.

class scan.meshc

2d grid scan. scans continuous

class standard.mstate

Prints the state of a motor

class standard.mv

Move motor(s) to the specified position(s)

class standard.mvr

Move motor(s) relative to the current position(s)

class expert.prdef

Returns the the macro code for the given macro name.

class communication.put

Sends a string to the communication channel

class standard.pwa

Show all motor positions in a pretty table

class standard.pwm

Show the position of the specified motors in a pretty table

class ioregister.read_ioreg

Reads an output register

class expert.addmaclib

Loads a new macro library.

Warning

Keep in mind that macros from the new library can override macros already present in the system.

class expert.rellib

Reloads the given python library code from the macro server filesystem.

Warning

use with extreme care! Accidentally reloading a system module or an installed python module may lead to unpredictable behavior

Warning

Prior to the Sardana version 1.6.0 this macro was successfully reloading python libraries located in the MacroPath. The MacroPath is not a correct place to locate your python libraries. They may be successfully loaded on the MacroServer startup, but this can not be guaranteed. In order to use python libraries within your macro code, locate them in either of valid system PYTHONPATH or MacroServer’s PythonPath property (of the host where MacroServer runs). In order to achieve the previous behavior, just configure the the same directory in both system PYTHONPATH (or MacroServer’s PythonPath) and MacroPath.

Note

if python module is used by any macro, don’t forget to reload the corresponding macros afterward so the changes take effect.

class expert.relmac

Reloads the given macro code from the macro server filesystem. Attention: All macros inside the same file will also be reloaded.

class expert.relmaclib

Reloads the given macro library code from the macro server filesystem.

class standard.report

Logs a new record into the message report system (if active)

class demo.sar_demo

Sets up a demo environment. It creates many elements for testing

class expert.sar_info

Prints details about the given sardana object

class scan.scanhist

Shows scan history information. Give optional parameter scan number to display details about a specific scan

class expert.send2ctrl

Sends the given data directly to the controller

class env.senv

Sets the given environment variable to the given value

class sequence.sequence

This macro executes a sequence of macros. As a parameter it receives a string which is a xml structure. These macros which allow hooks can nest another sequence (xml structure). In such a case, this macro is executed recursively.

class standard.set_lim

Sets the software limits on the specified motor hello

class standard.set_lm

Sets the dial limits on the specified motor

class standard.set_pos

Sets the position of the motor to the specified value

class standard.set_user_pos

Sets the USER position of the motor to the specified value (by changing OFFSET and keeping DIAL)

class standard.settimer

Defines the timer channel for the active measurement group

class env.setvo

Sets the given view option to the given value

class standard.uct

Count on the active measurement group and update

class expert.udefctrl

Deletes an existing controller

class expert.udefelem

Deletes an existing element

class expert.udefmeas

Deletes an existing measurement group

class standard.umv

Move motor(s) to the specified position(s) and update

class standard.umvr

Move motor(s) relative to the current position(s) and update

class env.usenv

Unsets the given environment variable

class env.usetvo

Resets the value of the given view option

class standard.wa

Show all motor positions

class standard.wm

Show the position of the specified motors.

class ioregister.write_ioreg

Writes a value to an input register

class standard.wu

Show all user motor positions

class standard.wum

Show the user position of the specified motors.