Atomize icon indicating copy to clipboard operation
Atomize copied to clipboard

Do you know pymeasure device driver library?

Open BenediktBurger opened this issue 2 months ago • 6 comments

I see, you have another collection of driver devices.

Do you know pymeasure, the device driver library?

BenediktBurger avatar Sep 09 '25 13:09 BenediktBurger

Yes, I followed this project from the very beginning. But I have never use it. We mostly used fsc2 in our laboratory, and at some point we decided to do everything from scratch. After the prototype was ready, I found pymeasre, but decided to continue with the atomize project. It looks like that we should merge at some point, but this is quite complicated. I am spending quite a lot of time to create more or less complete system for controlling EPR spectrometers. Actually, there are more projects like pymeasure and atomize, pymodac, for example.

I see, you have another collection of driver devices.

Do you know pymeasure, the device driver library?

Anatoly1010 avatar Sep 09 '25 13:09 Anatoly1010

PyMoDAQ is just the GUI/automation part.

PyMeasure also contains GUI/automation, but PyMeasure's most important and most valuable part are the instrument definitions.

I understand that your GUI/setup suits your needs. I also never used PyMeasure's GUI. However, the device drivers are something which several projects could use. For example, PyMoDAQ now proposes to add drivers to PyMeasure and use them, instead of reinventing the wheel again.

BenediktBurger avatar Sep 09 '25 17:09 BenediktBurger

However, the device drivers are something which several projects could use. For example, PyMoDAQ now proposes to add drivers to PyMeasure and use them, instead of reinventing the wheel again.

This is quite interesting. How do they solve the problem of different structure/design of modules/drivers? Do they still treat their projects as individual projects? In our case, we cannot contribute much to pymeasure, but it is a good idea nonetheless.

Anatoly1010 avatar Sep 10 '25 05:09 Anatoly1010

PyMoDAQ needs "Plugin Definitions" in order to use devices etc. in PyMoDAQ. Such a Plugin has to be compatible to the PyMoDAQ interface with PyQt bindings etc. However, these Plugin definitions can use either a custom written device driver or a Pymeasure driver to talk to the measurement instrument. Basically, these Plugins are adapters to make anything compatible with PyMoDAQ.

Initially, they wrote their own drivers and shipped them with the Plugin, now they propose to write a driver in PyMeasure and import that into a Plugin, such that the device driver can leverage PyMeasure's infrastructure and test framework.

BenediktBurger avatar Sep 10 '25 06:09 BenediktBurger

Thank you. I should check the driver architecture in pymeasure in more detail.. Perhaps in our case there is an easier way too. But our modules are much simpler.

Anatoly1010 avatar Sep 10 '25 10:09 Anatoly1010

Dear Benedikt,

Thanks again for the great idea about the interface between PyMeasure and Atomize. Do you think we should open an issue in the PyMeasure repository to discuss this? In Atomize, similar instruments have methods with the same names and, as far as possible, the same arguments. Therefore, such an interface will not be straightforward.

Anatoly1010 avatar Sep 24 '25 10:09 Anatoly1010