From 73295021089d1c419a493288bfc031a799123cff Mon Sep 17 00:00:00 2001 From: Blaise Thompson Date: Fri, 29 Jan 2021 07:54:06 -0600 Subject: more hardware-control packages --- posts/hardware-control.md | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/posts/hardware-control.md b/posts/hardware-control.md index 8fd838a..cf44b75 100644 --- a/posts/hardware-control.md +++ b/posts/hardware-control.md @@ -1,5 +1,5 @@ -title: hardware control -date: 2021-01-25 +title: hardware-control +date: 2021-01-28 tags: instrumental python roundup This post is a roundup of open source hardware control projects that I know of. @@ -8,14 +8,22 @@ Each of these projects allows users to communicate with instrumental hardware. | project | notes | | :------ | :---- | | [acq4](http://www.acq4.org/) | Python. Neurophysiology. Built on ZeroMQ. | +| [Basil](https://github.com/SiLab-Bonn/basil) | Python and Verilog. Implements low-level serial standards. | | [Bluesky](https://blueskyproject.io/) | Python. The future, I hope. | +| [DataLog](https://github.com/SeanDS/datalog) | Python. For PicoTech "PicoLog" hardware. | | [EPICS](https://epics.anl.gov/) | Multilingual framework. [Supported hardware](https://epics.anl.gov/modules/manufacturer.php). | | [Exopy](http://exopy.readthedocs.io/) | Python. | | [Experimentor](https://github.com/aquilesC/experimentor) | Python. Opinionated, clean. By [python for the lab](https://www.pythonforthelab.com/) team. -| [Instrbuilder](https://lucask07.github.io/instrbuilder/build/html/) | Python, Bluesky. Drivers without code. | +| [Hardware-Control](https://bitbucket.org/berkeleylab/hardware-control/src/main/) | Python. See [JOSS review](https://github.com/openjournals/joss-reviews/issues/2688). | +| [IIO](https://www.kernel.org/doc/html/v4.14/driver-api/iio/intro.html) | Linux subsystem with impressive sensor support. | +| [Instrbuilder](https://lucask07.github.io/instrbuilder/build/html/) | Python, Bluesky. See [JOSS](https://doi.org/10.21105/joss.01172) and [IEEE](https://doi.org/10.1109/TIM.2019.2914711) papers. | | [Instrumental](https://instrumental-lib.readthedocs.io/) | Python. [Supported hardware](https://instrumental-lib.readthedocs.io/en/stable/overview.html#drivers). | +| [InstrumentKit](https://instrumentkit.readthedocs.io/en/latest/intro.html) | Python. Just a collection of [hardware enablement classes](https://instrumentkit.readthedocs.io/en/latest/apiref/index.html). | | [Lantz](https://github.com/lantzproject) | Python. Project seems to be on life support. | +| [libiio](https://wiki.analog.com/resources/tools-software/linux-software/libiio) | C. Library for interfacing with IIO devices. | +| [magdynlab](https://github.com/Vrekrer/magdynlab) | Python. Brazilian Center for Physics Research. | [micro-manager](https://micro-manager.org/) | C++. Impressive, see [whitepaper](https://github.com/nicost/uScopeControl/blob/master/Software%20for%20Microscopy%20Workshop%20WhitePaper.pdf) and [class reference](https://valelab4.ucsf.edu/~MM/doc/MMCore/html/class_c_m_m_core.html). | +| [picosdk-python](https://github.com/picotech/picosdk-python-wrappers) | Python. Official support for [PicoScope](https://www.picotech.com/products/oscilloscope) devices. | | [Py-Hardware-Support](https://ddietze.github.io/Py-Hardware-Support/index.html) | Python. Small project implementing a few camera drivers. | | [pyacq](https://github.com/pyacq/pyacq) | Python. Built on ZeroMQ. | | [Pychron](https://github.com/NMGRL/pychron) | Python. Focus on noble gas mass spectrometry. | @@ -24,14 +32,17 @@ Each of these projects allows users to communicate with instrumental hardware. | [PyMoDAQ](https://pymodaq.cnrs.fr) | Python. Developed within French [CNRS](https://www.cnrs.fr/en/cnrs). Seems popular. | | [python-microscopy](http://www.python-microscopy.org/) | Python. [Supported hardware](http://www.python-microscopy.org/doc/supported_hardware.html). | | [python-seabreeze](https://python-seabreeze.readthedocs.io/) | Python. Interface to Ocean Optics spectrometers. | +| [REP-instrumentation](https://github.com/ptomato/REP-instrumentation) | Python. Collection of hardware enablement classes. | | [Qcodes](http://qcodes.github.io/Qcodes/index.html) | Python. [Supported hardware](https://qcodes.github.io/Qcodes/api/generated/qcodes.instrument_drivers.html). | | [Qudi](https://github.com/Ulm-IQO/qudi) | Python. Spectroscopy focused. | | [ScopeFoundry](http://www.scopefoundry.org/) | Python. Ducktyped extensible hardware interface. | | [SFGacquisition](https://github.com/GeigerGroup/SFGacquisition) | Python. Small group project, abandoned. | | [storm-control](https://github.com/ZhuangLab/storm-control) | Python. Monolithic software for STORM experiments. | +| [Subdue](https://pythonhosted.org/subdue/) | Python. [Supported hardware](https://pythonhosted.org/subdue/supported_devices/) | | [thorpy](https://github.com/UniNE-CHYN/thorpy) | Python. Thorlabs APT serial interface. | | [thorlabs_apt](https://github.com/qpit/thorlabs_apt) | Python. Thorlabs APT dll interface. | -| [Virgo](https://github.com/0xCoto/Virgo) | Python. Radio astronomy. Built on top of GNU Radio. +| [Virgo](https://github.com/0xCoto/Virgo) | Python. Radio astronomy. Built on top of GNU Radio. | | [yaq](https://yaq.fyi) | Multilingual framework. Built with love by me 🥰! | +| [Zorg](https://zorg.github.io/) | Python. Framework for robotics with hardware abstraction. | The folks over at python-data-acquisition also have a list of [existing-packages](https://github.com/python-data-acquisition/meta/blob/master/existing_packages.md). \ No newline at end of file -- cgit v1.2.3