diff --git a/src/calng/base_correction.py b/src/calng/base_correction.py index 459ef83f37da4c27d289b9d0b71ff53f47252204..6d56b2d26d6508a079f32276dd85f0be995a8076 100644 --- a/src/calng/base_correction.py +++ b/src/calng/base_correction.py @@ -545,9 +545,7 @@ class BaseCorrection(PythonDevice): addon_prefix = f"addons.{addon_class.__name__}" if not self.get(f"{addon_prefix}.enable"): continue - addon = addon_class(self._parameters[addon_prefix]) - addon._device = self - addon._prefix = addon_prefix + addon = addon_class(self, addon_prefix, self._parameters[addon_prefix]) self._enabled_addons.append(addon) if ( (self.get("useShmemHandles") != self._use_shmem_handles) diff --git a/src/calng/correction_addons/base_addon.py b/src/calng/correction_addons/base_addon.py index b5578c1e5166948d5bbfbad8cf5075c28c477dd7..0a063bde862cecf7f5755aba34e8b53a14019d53 100644 --- a/src/calng/correction_addons/base_addon.py +++ b/src/calng/correction_addons/base_addon.py @@ -15,9 +15,10 @@ class BaseCorrectionAddon: and add properties to it.""" pass - def __init__(self, config): + def __init__(self, device, prefix, config): """Will be given the node from extend_device_schema, no prefix needed here""" - pass + self._device = device + self._prefix = prefix def post_correction( self, train_id, processed_data, cell_table, pulse_table, output_hash diff --git a/src/calng/correction_addons/integrated_intensity.py b/src/calng/correction_addons/integrated_intensity.py index 5cfaad9ee436c64c66ecc05f43a2c76b3270b68a..188b6d4f26ac629a9a323d646aca54f120be2568 100644 --- a/src/calng/correction_addons/integrated_intensity.py +++ b/src/calng/correction_addons/integrated_intensity.py @@ -11,7 +11,8 @@ def maybe_get(a): class IntegratedIntensity(BaseCorrectionAddon): - def __init__(self, config): + def __init__(self, device, prefix, config): + super().__init__(device, prefix, config) global cupy import cupy diff --git a/src/calng/correction_addons/litpixel_counter.py b/src/calng/correction_addons/litpixel_counter.py index 7baa14fd506e2a45d2fab61a0944c85c66c05d42..cc1c9a4ca698dd2555f6fe7014d4c0b05dd84806 100644 --- a/src/calng/correction_addons/litpixel_counter.py +++ b/src/calng/correction_addons/litpixel_counter.py @@ -6,7 +6,8 @@ from .base_addon import BaseCorrectionAddon class LitPixelCounter(BaseCorrectionAddon): - def __init__(self, config): + def __init__(self, device, prefix, config): + super().__init__(device, prefix, config) global cupy import cupy diff --git a/src/calng/correction_addons/peakfinder9.py b/src/calng/correction_addons/peakfinder9.py index dba7421411a5b64371ffef2bbc99aaf9836685ae..1647350cb0e7e7a9cb567d99d77159e966a76d52 100644 --- a/src/calng/correction_addons/peakfinder9.py +++ b/src/calng/correction_addons/peakfinder9.py @@ -169,7 +169,8 @@ class Peakfinder9(BaseCorrectionAddon): except AttributeError: pass - def __init__(self, config): + def __init__(self, device, prefix, config): + super().__init__(device, prefix, config) global cupy import cupy diff --git a/src/calng/correction_addons/random_frames.py b/src/calng/correction_addons/random_frames.py index d3447710323565099626cfa1bc29e6533b1ed172..bfbb78cf2a12681133081d5fc0c6c506543849a2 100644 --- a/src/calng/correction_addons/random_frames.py +++ b/src/calng/correction_addons/random_frames.py @@ -30,7 +30,8 @@ class RandomFrames(BaseCorrectionAddon): .commit(), ) - def __init__(self, config): + def __init__(self, device, prefix, config): + super().__init__(device, prefix, config) # TODO: figure out why no / 100 here... self._probability = config["probability"] diff --git a/src/calng/correction_addons/saturation_monitor.py b/src/calng/correction_addons/saturation_monitor.py index 1c48a2196e06496db11a9208f3266f15f2afb259..31bcec59791bbe7957a9ee1830ffb48eb10829c2 100644 --- a/src/calng/correction_addons/saturation_monitor.py +++ b/src/calng/correction_addons/saturation_monitor.py @@ -87,7 +87,8 @@ def saturation_monitoring_schema(schema=None): class SaturationMonitor(BaseCorrectionAddon): - def __init__(self, config): + def __init__(self, device, prefix, config): + super().__init__(device, prefix, config) global cupy import cupy self._alarmThreshold = config["alarmThreshold"]