Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix for PDF docs build #82

Merged
merged 3 commits into from
Jul 17, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/source/adding_devices.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ There are currently two supported file organization styles for a labscript-devic

The old style has the `labscript_device`, `BLACS_tab`, `BLACS_worker`, and `runviewer_parser` all in the same file, which typically has the same name as the `labscript_device` class name.

The new style allows for arbitrary code organization, but typically has a folder named after the `labscript_device` with each device component in a different file (ie `labscript_devices.py`, `BLACS_workers.py`, etc). With this style, the folder requires an `__init__.py` file (which can be empty) as well as a `register_classes.py` file. This file imports :ref:`<labscript-utils/device_registry>` via
The new style allows for arbitrary code organization, but typically has a folder named after the `labscript_device` with each device component in a different file (ie `labscript_devices.py`, `BLACS_workers.py`, etc). With this style, the folder requires an `__init__.py` file (which can be empty) as well as a `register_classes.py` file. This file imports :obj:`<labscript-utils:labscript_utils.device_registry>` via

.. code-block:: python

Expand Down
7 changes: 7 additions & 0 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,13 @@
else:
todo_include_todos = True

# -- Options for PDF output --------------------------------------------------

latex_elements = {
# make entire document landscape
'geometry': '\\usepackage[landscape]{geometry}',
}

# -- Options for HTML output -------------------------------------------------

# The theme to use for HTML and HTML Help pages. See the documentation for
Expand Down
9 changes: 7 additions & 2 deletions docs/source/devices/ni_daqs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,12 @@ The current list of pre-subclassed devices is:
Usage
~~~~~

NI Multifunction DAQs generally provide hardware channels for the :ref:`StaticAnalogOut <labscript/StaticAnalogOut>`, :ref:`StaticDigitalOut <labscript/StaticDigitalOut>`, :ref:`AnalogOut <labscript/AnalogOut>`, :ref:`DigitalOut <labscript/DigitalOut>`, and :ref:`AnalogIn <labscript/AnalogIn>` labscript quantities for use in experiments. Exact numbers of channels, performance, and configuration depend on the model of DAQ used.
NI Multifunction DAQs generally provide hardware channels for
:class:`StaticAnalogOut <labscript:labscript.labscript.StaticAnalogOut>`,
:class:`StaticDigitalOut <labscript:labscript.labscript.StaticDigitalOut>`,
:class:`AnalogOut <labscript:labscript.labscript.AnalogOut>`,
:class:`DigitalOut <labscript:labscript.labscript.DigitalOut>`,
and :class:`AnalogIn <labscript:labscript.labscript.AnalogIn>` labscript quantities for use in experiments. Exact numbers of channels, performance, and configuration depend on the model of DAQ used.

.. code-block:: python

Expand All @@ -73,7 +78,7 @@ NI Multifunction DAQs generally provide hardware channels for the :ref:`StaticAn
AnalogOut('daq_ao0',daq,'ao0')
AnalogIn('daq_ai1',daq,'ai1')

NI DAQs are also used within labscript to provide a :ref:`WaitMonitor <labscript/waitmonitor>`. When configured, the `WaitMonitor` allows for arbitrary-length pauses in experiment execution, waiting for some trigger to restart. The monitor provides a measurement of the duration of the wait for use in interpreting the resulting data from the experiment.
NI DAQs are also used within labscript to provide a :class:`WaitMonitor <labscript:labscript.labscript.waitmonitor>`. When configured, the `WaitMonitor` allows for arbitrary-length pauses in experiment execution, waiting for some trigger to restart. The monitor provides a measurement of the duration of the wait for use in interpreting the resulting data from the experiment.

Configuration uses three digital I/O connections on the DAQ:

Expand Down
8 changes: 4 additions & 4 deletions docs/source/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,20 @@ The **labscript_devices** module contains the low-level hardware interfacing cod

Each "device" is made up of four classes that handle the various tasks.

* `labscript_device` (derives from :doc:`labscript.Device <labscript:api/device>`)
* `labscript_device` (derives from :obj:`Device <labscript:labscript.labscript.Device>`)

- Defines the interface between the **labscript** API and generates hardware instructions that can be saved to the shot h5 file.

* `BLACS_tab` (derives from :doc:`blacs.device_base_class.DeviceTab <blacs:index>`)
* `BLACS_tab` (derives from :obj:`DeviceTab <blacs:blacs.device_base_class.DeviceTab>`)

- Defines the graphical tab that is present in the **BLACS** GUI. This tab provides graphical widgets for controlling hardware outputs and visualizing hardware inputs.

* `BLACS_worker` (derives from :doc:`blacs.tab_base_classes.Worker <blacs:index>`)
* `BLACS_worker` (derives from :class:`Worker <blacs:blacs.tab_base_classes.Worker>`)

- Defines the software control interface to the hardware. The `BLACS_tab` spawns a process that uses this class to send and receive commands with the hardware.

* `runviewer_parser`

- Defines a software interface that interprets hardware instructions in a shot h5 file and displays them in the :doc:`runviewer <runviewer:index>` GUI.

The **labscript_suite** provides an extensive :doc:`list of device classes <devices>` for commercially available hardware. Furthermore, it is simple to add local :doc:`user devices <user_devices>` to control instruments not already within the labscript-suite.
The **labscript_suite** provides an extensive :doc:`list of device classes <devices>` for commercially available hardware. Furthermore, it is simple to add local :doc:`user devices <user_devices>` to control instruments not already within the labscript-suite.
6 changes: 6 additions & 0 deletions labscript_devices/LightCrafterDMD.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@ class ImageSet(Output):
height = HEIGHT
# Set default value to be a black image. Here's a raw BMP!
default_value = BLANK_BMP
"""bytes: A black image.

Raw bitmap data hidden from docs.

:meta hide-value:
"""

def __init__(self, name, parent_device, connection = 'Mirror'):
Output.__init__(self, name, parent_device, connection)
Expand Down