Skip to content

Commit 8775e24

Browse files
committed
Updated connection table documentation with links to class documentation.
1 parent 36dad35 commit 8775e24

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

docs/source/connection_table.rst

+5-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@ The connection table maps out the way input/output devices are connected to each
55
.. image:: img/connection_diagram.png
66
:alt: Example wiring diagram.
77

8-
Here we see two :py:class:`PseudoclockDevice <labscript.core.PseudoclockDevice>` instances in the top tier of the diagram. They do not have a parent device that tells them when to update their output (this is true for all :py:class:`PseudoclockDevice <labscript.PseudoclockDevice>` instances). However, all but one (the master pseudoclock device) must be triggered by an output clocked by the master pseudoclock device.
8+
Here we see two :py:class:`PseudoclockDevice <labscript.core.PseudoclockDevice>` instances in the top tier of the diagram. They do not have a parent device that tells them when to update their output (this is true for all :py:class:`PseudoclockDevice <labscript.core.PseudoclockDevice>` instances). However, all but one (the master pseudoclock device) must be triggered by an output clocked by the master pseudoclock device.
99

10-
Each :py:class:`PseudoclockDevice <labscript.PseudoclockDevice>` instance should have one or more :py:class:`Pseudoclock <labscript.Pseudoclock>` children. Some :py:class:`PseudoclockDevice <labscript.PseudoclockDevice>` instances may automatically create these children for you (check the device specific documentation). In turn, each :py:class:`Pseudoclock <labscript.Pseudoclock>` will have one of more :py:class:`ClockLine <labscript.ClockLine>` instances connected to it. These :py:class:`ClockLine <labscript.ClockLine>` instances generally refer to physical outputs of a device which will be used to clock another device. However, in some cases, one or more :py:class:`ClockLine <labscript.ClockLine>` instances may be internally created for you (check the device specific documentation).
10+
Each :py:class:`PseudoclockDevice <labscript.core.PseudoclockDevice>` instance should have one or more :py:class:`Pseudoclock <labscript.core.Pseudoclock>` children. Some :py:class:`PseudoclockDevice <labscript.core.PseudoclockDevice>` instances may automatically create these children for you (check the device specific documentation). In turn, each :py:class:`Pseudoclock <labscript.core.Pseudoclock>` will have one of more :py:class:`ClockLine <labscript.core.ClockLine>` instances connected to it. These :py:class:`ClockLine <labscript.core.ClockLine>` instances generally refer to physical outputs of a device which will be used to clock another device. However, in some cases, one or more :py:class:`ClockLine <labscript.core.ClockLine>` instances may be internally created for you (check the device specific documentation).
1111

12-
If a device is not a :py:class:`PseudoclockDevice <labscript.PseudoclockDevice>`, it must be connected to one via a clockline. such devices inherit from :py:class:`IntermediateDevice <labscript.IntermediateDevice>`. Inputs and outputs are then connected to these devices. If a :py:class:`PseudoclockDevice <labscript.PseudoclockDevice>` also has outputs that are not used for a :py:class:`ClockLine <labscript.ClockLine>`, then an :py:class:`IntermediateDevice <labscript.IntermediateDevice>` is internally instantiated, and should be made available through the ``PseudoclockDevice.direct_outputs`` attribute (for example see PulseBlaster implementation TODO: link!).
12+
If a device is not a :py:class:`PseudoclockDevice <labscript.core.PseudoclockDevice>`, it must be connected to one via a clockline. such devices inherit from :py:class:`IntermediateDevice <labscript.core.IntermediateDevice>`. Inputs and outputs are then connected to these devices. For example, :py:class:`DigitalOut <labscript.outputs.DigitalOut>`, :py:class:`AnalogOut <labscript.outputs.AnalogOut>`, and :py:class:`DDS <labscript.outputs.DDS>`. See :py:module:`labscript.outputs` for a complete list. Note that devices determine what types of inputs and outputs can be connected, see :doc:`labscript-devices <labscript-devices:index>` for device information.
13+
14+
If a :py:class:`PseudoclockDevice <labscript.core.PseudoclockDevice>` also has outputs that are not used for a :py:class:`ClockLine <labscript.core.ClockLine>`, then an :py:class:`IntermediateDevice <labscript.core.IntermediateDevice>` is internally instantiated, and should be made available through the ``PseudoclockDevice.direct_outputs`` attribute (for example see the :py:class:`PulseBlaster <labscript_devices.PulseBlaster.PulseBlaster>` implementation).
1315

0 commit comments

Comments
 (0)