Skip to content

Commit

Permalink
Merge branch 'master' into Thorlabs_OSW12/22
Browse files Browse the repository at this point in the history
  • Loading branch information
Neverhorst authored Jun 11, 2020
2 parents 31a1796 + fc847a9 commit 5e888cf
Show file tree
Hide file tree
Showing 22 changed files with 5,656 additions and 273 deletions.
102 changes: 102 additions & 0 deletions artwork/icons/oxygen/source_svg/camera_lens.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added artwork/icons/qudiTheme/22x22/trace-snapshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
592 changes: 592 additions & 0 deletions artwork/icons/qudiTheme/source_svg/stop-record-counter.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
508 changes: 508 additions & 0 deletions artwork/icons/qudiTheme/source_svg/trace-snapshot.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 32 additions & 3 deletions config/example/default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,23 @@ hardware:
connect:
fitlogic: 'fitlogic'

mydummyinstreamer:
module.Class: 'data_instream_dummy.InStreamDummy'
digital_channels: # optional, must provide at least one digital or analog channel
- 'digital 1'
- 'digital 2'
- 'digital 3'
analog_channels: # optional, must provide at least one digital or analog channel
- 'analog 1'
- 'analog 2'
digital_event_rates: # optional, must have as many entries as digital_channels or just one
- 10
- 1000
- 10000
analog_amplitudes: # optional, must have as many entries as analog_channels or just one
- 5
- 10

mydummycounter:
module.Class: 'slow_counter_dummy.SlowCounterDummy'
source_channels: 4
Expand Down Expand Up @@ -84,6 +101,13 @@ hardware:
cameradummy:
module.Class: 'camera.camera_dummy.CameraDummy'
logic:
timeserieslogic:
module.Class: 'time_series_reader_logic.TimeSeriesReaderLogic'
max_frame_rate: 20
connect:
_streamer_con: 'mydummyinstreamer'
_savelogic_con: 'savelogic'

simpledatalogic:
module.Class: 'simple_data_logic.SimpleDataLogic'
connect:
Expand Down Expand Up @@ -334,10 +358,10 @@ gui:
man:
module.Class: 'manager.managergui.ManagerGui'

counter:
module.Class: 'counter.countergui.CounterGui'
timeseries:
module.Class: 'time_series.time_series_gui.TimeSeriesGui'
connect:
counterlogic1: 'counterlogic'
_time_series_logic_con: 'timeserieslogic'

confocal:
module.Class: 'confocal.confocalgui.ConfocalGui'
Expand Down Expand Up @@ -459,3 +483,8 @@ gui:
connect:
camera_logic: 'camera_logic'
savelogic: 'savelogic'

counter:
module.Class: 'counter.countergui.CounterGui'
connect:
counterlogic1: 'counterlogic'
39 changes: 0 additions & 39 deletions config/test.cfg

This file was deleted.

3 changes: 2 additions & 1 deletion core/interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ def __new__(cls, default_callable, is_abstractmethod=False):

def __init__(self, default_callable, is_abstractmethod=False):
self._obj = None
self._name = default_callable.__name__
if is_abstractmethod:
self._default_callable = abstractmethod(default_callable)
else:
Expand Down Expand Up @@ -100,7 +101,7 @@ def some_arbitrary_name2(self, *args, **kwargs):
def decorator(func):
self.registered[interface] = func
self.__isabstractmethod__ = False
InterfaceMethod._latest_unregistered_instances.pop(func.__name__, None)
InterfaceMethod._latest_unregistered_instances.pop(self._name, None)
return func
return decorator

Expand Down
8 changes: 8 additions & 0 deletions documentation/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,12 @@ The potential sequence_options are:
* `FORCED` (only output as sequence possible)
* Added interfuse to correct geometrical aberration on scanner via polynomial transformations
* added the option to do a purely analog ODMR scan.
* Added new GUI, logic, interface and hardware modules to replace the "slow counter" tool in the
future. The new tools are designed to be able to stream any kind of time series data efficiently
for multiple analog and digital channels. See example config on how to set up the
time series/streaming modules (_time_series_gui.py_, _time_series_reader_logic.py_).
For a drop-in replacement of the obsolete slow counter together with a NI x-series card,
please use _ni_x_series_in_streamer.py_ as hardware module.
* added multi channel option to process_interface and process_control_interface
* added the option of an additional path for fit methods
* added a hardware file for power supply Teledyne T3PS3000
Expand All @@ -70,6 +76,8 @@ The potential sequence_options are:
* reworked the QDPlotter to now contain fits and a scalable number of plots. Attention: custom notebooks might break by this change.
* Set proper minimum wavelength value in constraints of Tektronix AWG7k series HW module
* Added a hardware file for fibered optical switch Thorlabs OSW12/22 via SwitchInterface
* Fixed bug affecting interface overloading of Qudi modules
*


Config changes:
Expand Down
27 changes: 26 additions & 1 deletion gui/counter/countergui.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ def __init__(self, config, **kwargs):
def on_activate(self):
""" Definition and initialisation of the GUI.
"""

self._counting_logic = self.counterlogic1()

#####################
Expand Down Expand Up @@ -193,6 +192,32 @@ def on_activate(self):
self._counting_logic.sigCountingModeChanged.connect(self.update_counting_mode_ComboBox)
self._counting_logic.sigCountStatusChanged.connect(self.update_count_status_Action)

# Throw a deprecation warning pop-up to encourage users to switch to
# TimeSeriesGui/TimeSeriesReaderLogic
dialog = QtWidgets.QDialog(self._mw)
dialog.setWindowTitle('Deprecation warning')
label1 = QtWidgets.QLabel('Deprecation Warning:')
label1.setAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
font = label1.font()
font.setPointSize(12)
label1.setFont(font)
label2 = QtWidgets.QLabel('The modules CounterGui, CounterLogic and '
'NationalInstrumentsXSeries are deprecated for time series '
'streaming (also called "slow counting") and will be removed in '
'the future.\nPlease consider switching to TimeSeriesGui, '
'TimeSeriesReaderLogic and NIXSeriesInStreamer.\nSee default.cfg '
'for a configuration template.')
label2.setAlignment(QtCore.Qt.AlignVCenter)
label2.setWordWrap(True)
button_box = QtWidgets.QDialogButtonBox(QtWidgets.QDialogButtonBox.Ok)
button_box.setCenterButtons(True)
layout = QtWidgets.QVBoxLayout()
layout.addWidget(label1)
layout.addWidget(label2)
layout.addWidget(button_box)
button_box.accepted.connect(dialog.accept)
dialog.setLayout(layout)
dialog.exec()
return 0

def show(self):
Expand Down
Loading

0 comments on commit 5e888cf

Please sign in to comment.