Ulm-IQO / qudi

(Legacy project) A modular laboratory experiment management suite, predecessor to qudi-core.
GNU General Public License v3.0
167 stars 141 forks source link

can't instantiate pulsestreamer #545

Closed zchen665 closed 5 years ago

zchen665 commented 5 years ago

What is affected by this bug?

I was trying to connect swabian pulse streamer but i came into this error

Error while loading hardware module: pulse_streamer Traceback (most recent call last): File "C:\Users\zchen665\Desktop\qudi-master\qudi-master\core\manager.py", line 807, in loadConfigureModule self.configureModule(modObj, base, class_name, key, defined_module) File "C:\Users\zchen665\Desktop\qudi-master\qudi-master\core\manager.py", line 598, in configureModule instance = modclass(manager=self, name=instanceName, config=configuration) TypeError: Can't instantiate abstract class PulseStreamer with abstract methods delete_sequence, delete_waveform, get_loaded_assets, get_sequence_names, get_waveform_names, load_sequence, load_waveform, write_sequence, write_waveform Stopping module loading after loading failure.

When does this occur?

Where on the platform does it happen?

How do we replicate the issue?

config i used: pulse_streamer: module.Class: 'swabian_instruments.pulse_streamer.PulseStreamer' pulsestreamer_ip: '169.254.8.2' laser_channel: 0 uw_x_channel: 2

Expected behavior (i.e. solution)

Other Comments

Neverhorst commented 5 years ago

Since qudi release v0.10 pulser_interface.py defining what methods each pulse generator hardware module must implement has changed. This was a necessary change in the course of Pulsed 3.0. I have asked people working with Swabian Instruments devices since autumn 2018 to implement the changes in the corresponding hardware modules but I have never received a reply. We do not have Swabian Instruments hardware available so it was not possible to maintain the module without testing the changes. Nobody has complained so far meaning people either do not use these devices or someone has a working hardware module in his lab that he does not contribute to this repository.

Long story short: If you want to work with it, you need to change /hardware/swabian_instruments/pulse_streamer.py to satisfy /interface/pulser_interface.py. Or alternatively you could ask around who is using the latest version of qudi with this device and can give you the module he/she is using. I would be very happy if you could do either and open a pull request to incorporate these changes in the current version of qudi so others can benefit.