Skip to content

Commit 5347098

Browse files
committed
Populated README.md with styling, iconogrpahy, prose, and badges
1 parent 535c9b3 commit 5347098

File tree

1 file changed

+69
-5
lines changed

1 file changed

+69
-5
lines changed

README.md

Lines changed: 69 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,73 @@
1-
# labscript_devices
1+
<img src="https://raw.githubusercontent.com/labscript-suite/labscript-suite/master/art/labscript_32nx32n.svg" height="64" alt="the labscript suite" align="right">
22

3-
Device drivers for the labscript suite
3+
# the _labscript suite_ » labscript-devices
44

5-
(
6-
[view on Github](https://github.com/labscript-suite/labscript_devices)
7-
)
5+
### Plugin architecture for controlling experiment hardware
86

7+
[![Actions Status](https://github.com/labscript-suite/labscript-devices/workflows/Build%20and%20Release/badge.svg?branch=maintenance%2F3.0.x)](https://github.com/labscript-suite/labscript-devices/actions)
8+
[![License](https://img.shields.io/pypi/l/labscript-devices.svg)](https://github.com/labscript-suite/labscript-devices/raw/master/LICENSE.txt)
9+
[![Python Version](https://img.shields.io/pypi/pyversions/labscript-devices.svg)](https://python.org)
10+
[![PyPI](https://img.shields.io/pypi/v/labscript-devices.svg)](https://pypi.org/project/labscript-devices)
11+
[![Conda Version](https://img.shields.io/conda/v/labscript-suite/labscript-devices)](https://anaconda.org/labscript-suite/labscript-devices)
12+
[![Google Group](https://img.shields.io/badge/Google%20Group-labscriptsuite-blue.svg)](https://groups.google.com/forum/#!forum/labscriptsuite)
13+
<!-- [![DOI](http://img.shields.io/badge/DOI-10.1063%2F1.4817213-0F79D0.svg)](https://doi.org/10.1063/1.4817213) -->
914

15+
16+
A modular and extensible plugin architecture to control experiment hardware using the [*labscript suite*](https://github.com/labscript-suite/labscript-suite).
17+
18+
The *labscript suite* supports a range of commercial and open-source hardware, and is modular by design. Adding support for new devices involves writing Python functions for a well-defined set of primitives to program instructions, and transition between buffered I/O and manual states. See the [documentation](http://labscriptsuite.org/documentation) for more details on adding new devices.
19+
20+
21+
## Supported hardware
22+
23+
The following devices have been implemented in the _labscript suite_:<sup>†</sup>
24+
* [LightCrafter DMD](http://www.ti.com/tool/DLPLCR4500EVM) Digital Micro-mirror Device (PR [#43](https://bitbucket-archive.labscriptsuite.org/#!/labscript_suite/labscript_devices/pull-requests/43))
25+
* [MOGLabs Agile RF Synthesizers](https://www.moglabs.com/products/rf-electronics/agile-rf-synth) (ARF/XRF)
26+
* [National Instruments Data Acquisition](http://www.ni.com/data-acquisition/) ([DAQmx](https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P8baSAC)) devices:
27+
* [cDAQ-9184](https://www.ni.com/en-us/support/model.cdaq-9184.html) CompactDAQ Chassis
28+
* [PCI 6251](https://www.ni.com/en-au/support/model.pci-6251.html) Multifunction I/O Device
29+
* [PCI 6533/6534](http://www.ni.com/pdf/manuals/371464d.pdf) High-Speed Digital Pattern I/O
30+
* [PCI-6713](https://www.ni.com/en-au/support/model.pci-6713.html) Analog Output Device
31+
* [PCI-6733](https://www.ni.com/en-au/support/model.pci-6733.html) Analog Output Device
32+
* PCI-DIO-32HS High-Speed Digital I/O
33+
* [PCIe-6363](https://www.ni.com/en-us/support/model.pcie-6363.html) Multifunction I/O Device
34+
* [PCIe-6738](https://www.ni.com/en-us/support/model.pcie-6738.html) Analog Output Device
35+
* [PXI-6733](https://www.ni.com/en-au/support/model.pxi-6733.html) PXI Analog Output Module
36+
* [PXIe-6361](https://www.ni.com/en-au/support/model.pxie-6361.html) PXI Multifunction I/O Module
37+
* [PXIe-6535](https://www.ni.com/en-ie/support/model.pxie-6535.html) PXI Digital I/O Module
38+
* [PXIe-6738](https://www.ni.com/en-au/support/model.pxie-6738.html) PXI Analog Output Module
39+
* [USB-6008](https://www.ni.com/en-au/support/model.usb-6008.html) Multifunction I/O Device
40+
* [USB-6229](https://www.ni.com/en-my/support/model.usb-6229.html) Multifunction I/O Device
41+
* [USB-6343](https://www.ni.com/en-us/support/model.usb-6343.html) Multifunction I/O Device
42+
* [Quicksyn FSW-0010](http://ni-microwavecomponents.com/quicksyn-full) Microwave Synthesizer (formerly PhaseMatrix)
43+
44+
**Note:** Since v2.5.0 (June 2019), [`labscript_devices.NI_DAQmx`](https://github.com/labscript-suite/labscript-devices/tree/master/labscript_devices/NI_DAQmx) can be used to automatically generate a labscript device class for _any_ NI-DAQmx device! (PR [#56](https://bitbucket-archive.labscriptsuite.org/#!/labscript_suite/labscript_devices/pull-requests/56))
45+
46+
* [OpalKelly XEM3001](https://opalkelly.com/products/xem3001/) FPGA Boards used by the Cicero control system (PR [#50](https://bitbucket-archive.labscriptsuite.org/#!/labscript_suite/labscript_devices/pull-requests/50))
47+
* [PineBlaster](http://labscriptsuite.org/hardware/pineblaster) Open-source Digital Pattern Generator
48+
* [SpinCore](https://www.spincore.com/products/#pulsegeneration) Programmable Pulse Generators and Direct Digital Synthesis
49+
* [PulseBlasterDDS-II-300-AWG](http://www.spincore.com/products/PulseBlasterDDS-II-300/)
50+
* [PulseBlasterESR-PRO](https://www.spincore.com/products/PulseBlasterESR-PRO/)
51+
* [PulseBlasterESR-CompactPCI](https://www.spincore.com/products/PulseBlasterESR-CompactPCI/)
52+
* [PulseBlaster](https://www.spincore.com/products/PulseBlaster/) e.g. SP2 Model: PB24-100-32k
53+
* [PulseBlasterUSB](https://www.spincore.com/products/PulseBlasterUSB/)
54+
* [Tektronix oscilloscopes](https://www.tek.com/oscilloscope) (PR [#61](https://bitbucket-archive.labscriptsuite.org/#!/labscript_suite/labscript_devices/pull-requests/56))
55+
* [Zaber](https://www.zaber.com) Motion Controllers, e.g. linear translation stages (PR [#85](https://bitbucket-archive.labscriptsuite.org/#!/labscript_suite/labscript_devices/pull-requests/85))
56+
57+
58+
### Supported cameras
59+
60+
The following cameras are implemented by subclassing [`labscript_devices.Camera`](https://github.com/labscript-suite/labscript-devices/tree/master/labscript_devices/Camera.py), a Python-based camera server which can be controlled directly from [**blacs**](https://github.com/labscript-suite/blacs).
61+
62+
* [FLIR](https://www.flir.com) cameras (e.g. [FlyCapture 2](https://github.com/labscript-suite/labscript-devices/tree/master/labscript_devices/FlyCapture2Camera)) using the free PyCapture2 API (PR [#71](https://bitbucket-archive.labscriptsuite.org/#!/labscript_suite/labscript_devices/pull-requests/9))
63+
* [Andor](https://github.com/labscript-suite/labscript-devices/tree/master/labscript_devices/AndorSolis) cameras (PR [#80](https://github.com/labscript-suite/labscript-devices/tree/master/labscript_devices/AndorSolis))
64+
* [Basler pylon](https://github.com/labscript-suite/labscript-devices/tree/master/labscript_devices/PylonCamera) (PRs [#69](https://bitbucket-archive.labscriptsuite.org/#!/labscript_suite/labscript_devices/pull-requests/69) and [#74](https://bitbucket-archive.labscriptsuite.org/#!/labscript_suite/labscript_devices/pull-requests/74)).
65+
* Any camera compatible with National Instruments [IMAQdx](https://github.com/labscript-suite/labscript-devices/tree/master/labscript_devices/IMAQdxCamera) (PRs [#70](https://bitbucket-archive.labscriptsuite.org/#!/labscript_suite/labscript_devices/pull-requests/70), [#72](https://bitbucket-archive.labscriptsuite.org/#!/labscript_suite/labscript_devices/pull-requests/72), [#73](https://bitbucket-archive.labscriptsuite.org/#!/labscript_suite/labscript_devices/pull-requests/73), [#77](https://bitbucket-archive.labscriptsuite.org/#!/labscript_suite/labscript_devices/pull-requests/77), [#79](https://bitbucket-archive.labscriptsuite.org/#!/labscript_suite/labscript_devices/pull-requests/79), [#83](https://bitbucket-archive.labscriptsuite.org/#!/labscript_suite/labscript_devices/pull-requests/83)).
66+
* This includes most cameras compliant with the [GigE Vision](https://en.wikipedia.org/wiki/GigE_Vision) interface standard, such as [Allied Vision](https://www.alliedvision.com/en/products/cameras.html) cameras.
67+
68+
† We do not endorse the use of any particular hardware.
69+
70+
71+
## Installation
72+
73+
labscript-devices is distributed as a Python package on [PyPI](https://pypi.org/user/labscript-suite) and [Anaconda Cloud](https://anaconda.org/labscript-suite), and should be installed with other components of the _labscript suite_. Please see the [installation guide](https://docs.labscriptsuite.org/en/latest/installation) for details.

0 commit comments

Comments
 (0)