|
1 |
| -# Zurich Instruments Labber Drivers |
| 1 | + |
| 2 | +[](https://codecov.io/gh/zhinst/zhinst-labber) |
| 3 | +[](https://badge.fury.io/py/zhinst-labber) |
| 4 | +[](https://opensource.org/licenses/MIT) |
| 5 | +[](https://github.com/ambv/black) |
| 6 | +[](https://twitter.com/zhinst) |
2 | 7 |
|
3 |
| -The Zurich Instruments Labber Drivers are a collection of instrument drivers for |
4 |
| -the scientific measurement software [Labber](http://labber.org/). They provide |
5 |
| -a high-level interface of Zurich Instruments devices such as |
| 8 | +# Zurich Instruments Labber Drivers |
6 | 9 |
|
7 |
| -* the PQSC Programmable Quantum System Controller |
8 |
| -* the HDAWG Arbitrary Waveform Generator |
9 |
| -* the UHFQA and SHFQA Quantum Analyzers |
10 |
| -* the MFLI and UHFLI Lock-In Amplifiers |
| 10 | +The Zurich Instruments Labber Drivers is a python package that is able to |
| 11 | +automatically generate and update instrument drivers for all Zurich Instruments |
| 12 | +devices for the scientific measurement software [Labber](http://labber.org/). |
11 | 13 |
|
12 | 14 | The Labber drivers are based on the
|
13 | 15 | [Zurich Instruments Toolkit](https://github.com/zhinst/zhinst-toolkit)
|
14 |
| -(*zhinst-toolkit*), an extension of our Python API *ziPython* for high-level |
15 |
| -instrument control. |
| 16 | +(*zhinst-toolkit*), a high level driver of our Python API *ziPython*. |
16 | 17 |
|
| 18 | +> **WARNING** |
| 19 | +> |
| 20 | +> Upgrading from zhinst-labber versions lower than 0.3 needs some special attention |
| 21 | +> since version 0.3 breaks the API in many ways and measurements need to be adapted. |
| 22 | +> If you need more Information on the upgrading process or need assistance feel |
| 23 | +> free to contact the Zurich Instruments support at any time. ([email protected]) |
17 | 24 |
|
18 | 25 | # Status
|
19 | 26 |
|
20 | 27 | The Zurich Instruments Labber Drivers are well tested and considered stable
|
21 | 28 | enough for general usage. The interfaces may have some incompatible changes
|
22 |
| -between releases. Please check the changelog if you are upgrading. |
23 |
| - |
24 |
| - |
25 |
| -# Getting Started |
26 |
| - |
27 |
| -## LabOne |
28 |
| - |
29 |
| -As prerequisite, the LabOne software version 20.01 or later must be installed. |
30 |
| -It can be downloaded for free at https://www.zhinst.com/labone. Follow the |
31 |
| -installation instructions specific to your platform. Verify that you can connect |
32 |
| -to your instrument(s) using the web interface of LabOne. If you are upgrading |
33 |
| -from an older version, be sure to update the firmware of al your devices using |
34 |
| -the web interface before continuing. In principle LabOne can be installed in a |
35 |
| -remote machine, but we highly recommend to install on the local machine where |
36 |
| -you intend to run the experiment. |
| 29 | +between releases. Please check the changelog if you are upgrading to the latest version. |
37 | 30 |
|
| 31 | +## LabOne software |
| 32 | +As a prerequisite, the LabOne software version 22.02 or later must be installed. |
| 33 | +It can be downloaded for free at |
| 34 | +[https://www.zhinst.com/labone](https://www.zhinst.com/labone). Follow the |
| 35 | +installation instructions specific to your platform. Verify that you can |
| 36 | +connect to your instrument(s) using the web interface of LabOne. If you are |
| 37 | +upgrading from an older version, be sure to update the firmware of all |
| 38 | +Zurich Instruments devices in use by using the web interface. |
38 | 39 |
|
39 |
| -## Labber Drivers |
| 40 | +In principle LabOne can be installed in a remote machine, but we highly |
| 41 | +recommend to install it on a local machine where you intend to run the experiment. |
40 | 42 |
|
41 |
| -Download this repository as ZIP folder and unpack its content. It contains a set of |
42 |
| -folders with the names *'Zurich_Instruments_XXXX'* that define the instrument |
43 |
| -drivers. In order to make the drivers available in Labber, the folders |
44 |
| -*'Zurich_Instruments_XXXX'* need to be copied to your *local* Labber Drivers |
45 |
| -folder. It is located in *'C:\Users\USERNAME\Labber\Drivers'* or similar. Once |
46 |
| -the driver folders are copied to your local Labber Drivers folder, they are |
47 |
| -available to be selected in the *Labber Instrument Server*. |
48 |
| - |
49 |
| -## Install dependencies (e.g. `zhinst-toolkit`) |
50 |
| - |
51 |
| -The Zurich Instruments Labber Drivers are based on the |
52 |
| -[Zurich Instruments Toolkit](https://github.com/zhinst/zhinst-toolkit) and a small set of third party packages. |
53 |
| -A complete list can be found inside the [requirements.txt](requirements.txt)[](). |
54 |
| -There are two ways to install these dependencies: |
55 |
| - |
56 |
| -### Using Labber's Python distribution |
| 43 | +# Getting Started |
57 | 44 |
|
58 |
| -Labber comes with its own Python distribution that is used by default. The required packages needs to be installed with to this Python distribution, |
59 |
| -which is done using Labber's own `pip` package manager. It is located |
60 |
| -(on Windows) under C:\Program Files |
61 |
| -*'(x86)\Labber\python-labber\Scripts\pip.exe'* or similar. |
| 45 | +Labber comes with its own Python distribution that is used by default. |
| 46 | +If not specified otherwise (Preferences -> Advanced -> Python distribution) the |
| 47 | +following command needs to be executed within this distribution. |
| 48 | +(C:\\Program Files\\Labber\\python-labber\\Scripts\\pip.exe or similar). |
62 | 49 |
|
63 |
| -From within the unpacked project folder run: |
64 |
| -``` bash |
65 |
| -<path to Labber Scripts folder>\pip install -r requirements.txt |
| 50 | +``` |
| 51 | +pip install zhinst-labber |
66 | 52 | ```
|
67 | 53 |
|
68 |
| -### Use your own Anaconda distribution |
| 54 | +The drivers for an device can now be generated using the command line interface. |
69 | 55 |
|
70 |
| -Alternatively, Labber can also configured to use your own Python distribution. Under *Instrument Server -> Preferences -> Advanced -> Python Distribution* you can |
71 |
| -point Labber to a different Python distribution, for example your *Anaconda* |
72 |
| -environment. If you chose for example you *base* Anaconda environment, install the required packages as followed. |
| 56 | +For example the following command generated the driver for the Device DEV1234 |
| 57 | +inside the Labber driver folder of the ZI user. |
73 | 58 |
|
74 |
| -From within the unpacked project folder run: |
75 | 59 | ```
|
76 |
| -conda activate base |
77 |
| -pip install -r requirements.txt |
| 60 | +zhinst-labber setup "C:\Users\ZI\Labber\Drivers" DEV1234 localhost |
78 | 61 | ```
|
79 | 62 |
|
80 |
| -## Try It Out |
| 63 | +## Documentation |
| 64 | +For a full documentation see [here](https://docs.zhinst.com/zhinst-labber/en/latest). |
| 65 | + |
| 66 | +## Contributing |
| 67 | +We welcome contributions by the community, either as bug reports, fixes and new |
| 68 | +code. Please use the GitHub issue tracker to report bugs or submit patches. |
| 69 | +Before developing something new, please get in contact with us. |
81 | 70 |
|
82 |
| -To see if your installation was successful, try to connect to your device. Add |
83 |
| -the instrument driver of your model to the *Instrument Server* with the serial |
84 |
| -number (e.g. *'dev1234'*) in the *Address* field and start the instrument. If |
85 |
| -the window turns green and no error emssage appears, you are ready to go! |
| 71 | +## License |
| 72 | +This software is licensed under the terms of the MIT license. |
| 73 | +See [LICENSE](LICENSE) for more detail. |
0 commit comments