.. _add_drivers:

Device drivers
==============

Device drivers are handled by the :doc:`terapy.hardware`.

TeraPy comes with the following drivers:

AGUC8
^^^^^

- Device: Newport Agilis AG-UC Motion Controller
- Driver type: *axes*
- Movement type: *Position (um)*

=================== ======== ========== =============================================================
Properties          Type     Default    Description
=================== ======== ========== =============================================================
umperunit           float    0.05       micrometer per device unit
stepsize            int      50         number of units to move at a time (see AG-UC documentation for more infos)
=================== ======== ========== =============================================================

PS10
^^^^

- Device: OWIS PS10 Motion Controller
- Driver type: *axes*
- Movement type: *Position (ps)*

=================== ======== ========== =============================================================
Properties          Type     Default    Description
=================== ======== ========== =============================================================
psperunit           float    1.0        picosecond per device unit
=================== ======== ========== =============================================================

E3647A
^^^^^^

- Device: Agilent E3647A Power Supply
- Driver type: *axes*
- Movement type: *Voltage (V)*

=================== ======== ========== =============================================================
Properties          Type     Default    Description
=================== ======== ========== =============================================================
=================== ======== ========== =============================================================

ESP300
^^^^^^

- Device: Newport ESP300 Motion Controller
- Driver type: *axes*
- Movement type: *Position (ps)*

=================== ======== ========== =============================================================
Properties          Type     Default    Description
=================== ======== ========== =============================================================
psperunit           float    6.6713     picosecond per device unit
=================== ======== ========== =============================================================

SMC100
^^^^^^

- Device: Newport SMC100 Motion Controller
- Driver type: *axes*
- Movement type: *Position (ps)*

=================== ======== ========== =============================================================
Properties          Type     Default    Description
=================== ======== ========== =============================================================
psperunit           float    6.6713     picosecond per device unit
=================== ======== ========== =============================================================


HP34401A
^^^^^^^^

- Device: HP Agilent Multimeter 34401A
- Driver type: *input*
- Read quantities: *Voltage (V)*

=================== ======== ========== =============================================================
Properties          Type     Default    Description
=================== ======== ========== =============================================================
holdoff             float    0.0        time to wait before measurement (s)
=================== ======== ========== =============================================================

ADWinLockIn
^^^^^^^^^^^

- Device: ADwin data acquisition hardware
- Driver type: *input*
- Read quantities: *X (V)*, *Y (V)*, *R (V)*, *Phi (°)*, *f (Hz)*

=================== ======== ========== =============================================================
Properties          Type     Default    Description
=================== ======== ========== =============================================================
signal
PHI
holdoff
amplification
inttime
mode
reftrigger
CH1_f
CH1_A
CH2_f
CH2_A
flock
=================== ======== ========== =============================================================

OphirDevice
^^^^^^^^^^^

- Device: Ophir USB interface adapter
- Driver type: *input*
- Read quantities: *Voltage (V)*

=================== ======== ========== =============================================================
Properties          Type     Default    Description
=================== ======== ========== =============================================================
holdoff
mode
pulselength
wavelength
range
MM_mode
MM_samples
frequency
=================== ======== ========== =============================================================

PXI5122
^^^^^^^

- Device: National Instruments PXI-5122 DAQ card
- Driver type: *input*
- Read quantities: *Voltage (V)*

=================== ======== ========== =============================================================
Properties          Type     Default    Description
=================== ======== ========== =============================================================
holdoff
refpos
records
trig_delay
trig_level
trig_slope
ch0_impedance
ch0_range
ch0_offset
ch1_impedance
ch1_range
ch1_offset
intmode
inttime
refmode
CH1mode
modlevel
gatewidth
=================== ======== ========== =============================================================

PXI5122LockIn
^^^^^^^^^^^^^

- Device: National Instruments PXI-5122 DAQ card - software lock-in amplifier
- Driver type: *input*
- Read quantities: *X (V)*, *Y (V)*, *R (V)*, *Phi (°)*, *f (Hz)*

=================== ======== ========== =============================================================
Properties          Type     Default    Description
=================== ======== ========== =============================================================
signal
PHI
holdoff
ch0_impedance
ch0_filter
ch0_range
ch0_offset
ch1_impedance
ch1_filter
ch1_range
ch1_offset
inttime
=================== ======== ========== =============================================================

SR830
^^^^^

- Device: Stanford Research Systems SR830 Lock-In Amplifier
- Driver type: *input*
- Read quantities: *X (V)*, *Y (V)*, *R (V)*, *Phi (°)*

=================== ======== ========== =============================================================
Properties          Type     Default    Description
=================== ======== ========== =============================================================
holdoff             float    0.0        Time to wait before measurement (s)
automatic           bool     False      If True, set hold-off time from device time constant 
=================== ======== ========== =============================================================