Skip to content

Commit

Permalink
Increasing coverage to the rest of the devices, excluding a few remai…
Browse files Browse the repository at this point in the history
…ning

pseudoclocks.

I have used an alternate file structure for the docs on the DummyIntermediateDevice
as an example of another method of documenting.
  • Loading branch information
dihm committed May 31, 2021
1 parent 19e42fd commit 79a3e58
Show file tree
Hide file tree
Showing 16 changed files with 520 additions and 56 deletions.
7 changes: 0 additions & 7 deletions docs/source/devices/IMAQdx.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ The "master" camera device from which all others derive.
labscript_devices.IMAQdxCamera.labscript_devices
labscript_devices.IMAQdxCamera.blacs_tabs
labscript_devices.IMAQdxCamera.blacs_workers
labscript_devices.IMAQdxCamera.register_classes

Installation
~~~~~~~~~~~~
Expand Down Expand Up @@ -46,9 +45,3 @@ Detailed Documentation
:undoc-members:
:show-inheritance:
:private-members:

.. automodule:: labscript_devices.IMAQdxCamera.register_classes
:members:
:undoc-members:
:show-inheritance:
:private-members:
22 changes: 21 additions & 1 deletion docs/source/devices/alazartechboard.rst
Original file line number Diff line number Diff line change
@@ -1,2 +1,22 @@
Alazar Tech Board
=================
=================

A labscript device class for data acquisition boards made by Alazar Technologies Inc (ATS).

Installation
~~~~~~~~~~~~

This device requires the atsapi.py wrapper. It should be installed into site-packages or
kept in the local directory.

It also uses the tqdm progress bar, which is not a standard dependency for the labscript-suite.

Detailed Documentation
~~~~~~~~~~~~~~~~~~~~~~

.. automodule:: labscript_devices.AlazarTechBoard
:members:
:undoc-members:
:show-inheritance:
:member-order: bysource
:private-members:
43 changes: 42 additions & 1 deletion docs/source/devices/andorsolis.rst
Original file line number Diff line number Diff line change
@@ -1,2 +1,43 @@
Andor Solis Cameras
===================
===================

A labscript device for controlling Andor scientific cameras via the Andor SDK3 interface.

Presently, this device is hard-coded for use with the iXon camera. Minor modifications can allow use with other Andor cameras, so long as they are compatible with the Andor SDK3 library.

.. autosummary::
labscript_devices.AndorSolis.labscript_devices
labscript_devices.AndorSolis.blacs_tabs
labscript_devices.AndorSolis.blacs_workers

Installation
~~~~~~~~~~~~

The Andor SDK is available from Andor as a paid product (typically purchased with the camera). It must be installed with the SDK directory added to the system path.

Detailed Documentation
~~~~~~~~~~~~~~~~~~~~~~

.. automodule:: labscript_devices.AndorSolis
:members:
:undoc-members:
:show-inheritance:
:private-members:

.. automodule:: labscript_devices.AndorSolis.labscript_devices
:members:
:undoc-members:
:show-inheritance:
:private-members:

.. automodule:: labscript_devices.AndorSolis.blacs_tabs
:members:
:undoc-members:
:show-inheritance:
:private-members:

.. automodule:: labscript_devices.AndorSolis.blacs_workers
:members:
:undoc-members:
:show-inheritance:
:private-members:
10 changes: 9 additions & 1 deletion docs/source/devices/dummyintermediate.rst
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
Dummy Intermediate Device
=========================
=========================

.. automodule:: labscript_devices.DummyIntermediateDevice
:members:
:undoc-members:
:show-inheritance:
:member-order: bysource
:private-members:

63 changes: 62 additions & 1 deletion docs/source/devices/dummypseudoclock.rst
Original file line number Diff line number Diff line change
@@ -1,2 +1,63 @@
Dummy Pseudoclock
=================
=================

This device represents a dummy labscript device for purposes of testing BLACS
and labscript. The device is a PseudoclockDevice, and can be the sole device
in a connection table or experiment.

.. autosummary::
labscript_devices.DummyPseudoclock.labscript_devices
labscript_devices.DummyPseudoclock.blacs_tabs
labscript_devices.DummyPseudoclock.blacs_workers
labscript_devices.DummyPseudoclock.runviewer_parsers

Usage
~~~~~

.. code-block:: python
from labscript import *
from labscript_devices.DummyPseudoclock.labscript_devices import DummyPseudoclock
from labscript_devices.DummyIntermediateDevice import DummyIntermediateDevice
DummyPseudoclock(name='dummy_clock',BLACS_connection='dummy')
DummyIntermediateDevice(name='dummy_device',BLACS_connection='dummy2',
parent_device=dummy_clock.clockline)
start()
stop(1)
Detailed Documentation
~~~~~~~~~~~~~~~~~~~~~~

.. automodule:: labscript_devices.DummyPseudoclock
:members:
:undoc-members:
:show-inheritance:
:private-members:

.. automodule:: labscript_devices.DummyPseudoclock.labscript_devices
:members:
:undoc-members:
:show-inheritance:
:private-members:

.. automodule:: labscript_devices.DummyPseudoclock.blacs_tabs
:members:
:undoc-members:
:show-inheritance:
:private-members:

.. automodule:: labscript_devices.DummyPseudoclock.blacs_workers
:members:
:undoc-members:
:show-inheritance:
:private-members:

.. automodule:: labscript_devices.DummyPseudoclock.runviewer_parsers
:members:
:undoc-members:
:show-inheritance:
:private-members:
77 changes: 76 additions & 1 deletion docs/source/devices/flycapture2.rst
Original file line number Diff line number Diff line change
@@ -1,2 +1,77 @@
FlyCapture2 Cameras
===================
===================

This device allows control of FLIR (formerly Point Grey) scientific cameras via the `FlyCapture2 SDK <https://www.flir.com/products/flycapture-sdk/>`_ with the now deprecated PyCapture2 wrapper. In order to use this device, both the SDK and the python wrapper must be installed. Note that PyCapture2 only supports up to Python 3.6.

.. autosummary::
labscript_devices.FlyCapture2Camera.labscript_devices
labscript_devices.FlyCapture2Camera.blacs_tabs
labscript_devices.FlyCapture2Camera.blacs_workers

Installation
~~~~~~~~~~~~

First ensure that the FlyCapture2 SDK is installed.

The python wrapper is available via FLIR and is only released for Python up to 3.6. It must be installed separately to pointed to the correct conda environment during install.


For GigE cameras, ensure that the network interface card (NIC) on the computer with the BLACS controlling the camera has enabled Jumbo Frames. That maximum allowed value (typically 9000) is preferable to avoid dropped frames.

Usage
~~~~~

Like the :doc:`IMAQdxCamera <IMAQdx>` device, the bulk of camera configuration is performed using a dictionary of kwargs, where the key names and values mirror those provided by the FlyCapture2 SDK interface. Which parameters can/need to be set depend on the communication interface. Discovery of what parameters are available can be done in three ways:

1. Careful reading of the FlyCapture2 SDK docs.
2. Mirroring the FlyCap Viewer parameter names and values.
3. Connecting to the camera with a minimal configuration, viewing the current parameters dictionary, and copying the relevant values to the connection table (preferred).

Below is a generic configuration.

.. code-block:: python
from labscript import *
from labscript_devices.FlyCapture2Camera.labscript_devices import FlyCapture2Camera
FlyCapture2Camera('gigeCamera',parent_device=parent,connection=conn,
serial_number=1234567, # set to the camera serial number
minimum_recovery_time=36e-6, # the minimum exposure time depends on the camera model & configuration
camera_attributs={},
manual_camera_attributes={})
start()
gigeCamera.expose(t=0.5,'exposure1')
stop(1)
Detailed Documentation
~~~~~~~~~~~~~~~~~~~~~~

.. automodule:: labscript_devices.FlyCapture2Camera
:members:
:undoc-members:
:show-inheritance:
:private-members:

.. automodule:: labscript_devices.FlyCapture2Camera.labscript_devices
:members:
:undoc-members:
:show-inheritance:
:private-members:

.. automodule:: labscript_devices.FlyCapture2Camera.blacs_tabs
:members:
:undoc-members:
:show-inheritance:
:private-members:

.. automodule:: labscript_devices.FlyCapture2Camera.blacs_workers
:members:
:undoc-members:
:show-inheritance:
:private-members:
44 changes: 43 additions & 1 deletion docs/source/devices/functionrunner.rst
Original file line number Diff line number Diff line change
@@ -1,2 +1,44 @@
Function Runner
===============
===============

A labscript device to run custom functions before, after, or during (not yet
implemented) the experiment in software time.

.. autosummary::
labscript_devices.FunctionRunner.labscript_devices
labscript_devices.FunctionRunner.blacs_tabs
labscript_devices.FunctionRunner.blacs_workers
labscript_devices.FunctionRunner.utils

Detailed Documentation
~~~~~~~~~~~~~~~~~~~~~~

.. automodule:: labscript_devices.FunctionRunner
:members:
:undoc-members:
:show-inheritance:
:private-members:

.. automodule:: labscript_devices.FunctionRunner.labscript_devices
:members:
:undoc-members:
:show-inheritance:
:private-members:

.. automodule:: labscript_devices.FunctionRunner.blacs_tabs
:members:
:undoc-members:
:show-inheritance:
:private-members:

.. automodule:: labscript_devices.FunctionRunner.blacs_workers
:members:
:undoc-members:
:show-inheritance:
:private-members:

.. automodule:: labscript_devices.FunctionRunner.utils
:members:
:undoc-members:
:show-inheritance:
:private-members:
17 changes: 16 additions & 1 deletion docs/source/devices/lightcrafterdmd.rst
Original file line number Diff line number Diff line change
@@ -1,2 +1,17 @@
Light Crafter DMD
=================
=================

This device allows for control of Light Crafter development module boards.
It is currently hard-coded to work with a DLPC300 with a fixed DLP 0.3 WVGA
resolution. Extenstion to other models involves subclassing and altering
relevant class attributes.

Detailed Documentation
~~~~~~~~~~~~~~~~~~~~~~

.. automodule:: labscript_devices.LightCrafterDMD
:members:
:undoc-members:
:show-inheritance:
:member-order: bysource
:private-members:
15 changes: 14 additions & 1 deletion docs/source/devices/novatechDDS9m.rst
Original file line number Diff line number Diff line change
@@ -1,2 +1,15 @@
Novatech DDS 9m
===============
===============

Labscript device for control of the Novatech DDS9m synthesizer.
With minor modifications, it can also control the Novatech 409B DDS.

Detailed Documentation
~~~~~~~~~~~~~~~~~~~~~~

.. automodule:: labscript_devices.NovaTechDDS9M
:members:
:undoc-members:
:show-inheritance:
:member-order: bysource
:private-members:
17 changes: 15 additions & 2 deletions docs/source/devices/phasematrixquicksyn.rst
Original file line number Diff line number Diff line change
@@ -1,2 +1,15 @@
Phase Matrix Quick Synthesizer
==============================
QuickSyn FSW-0010 Synthesizer
=============================

A labscript device that controlls the NI Quicksyn FSW-0010 Microwave Synthesizer
(formerly PhaseMatrix).

Detailed Documentation
~~~~~~~~~~~~~~~~~~~~~~

.. automodule:: labscript_devices.PhaseMatrixQuickSyn
:members:
:undoc-members:
:show-inheritance:
:member-order: bysource
:private-members:
Loading

0 comments on commit 79a3e58

Please sign in to comment.