From 01d5d883a56acbc8e7a640b0d9155caeb417a6bf Mon Sep 17 00:00:00 2001 From: Arnaud Watlet <arnaud.watlet@umons.ac.be> Date: Tue, 12 Dec 2023 15:17:27 +0100 Subject: [PATCH] Tries enabling switch_pwr during injection for polarity 0 on pwr_batt and pwr_dps5005_fixed --- ohmpi/hardware_components/mb_2024_0_2.py | 27 +++++++++++++++++++ ohmpi/hardware_components/pwr_batt.py | 7 ----- .../hardware_components/pwr_dps5005_fixed.py | 1 - 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/ohmpi/hardware_components/mb_2024_0_2.py b/ohmpi/hardware_components/mb_2024_0_2.py index 2c756dfa..9aa25e89 100644 --- a/ohmpi/hardware_components/mb_2024_0_2.py +++ b/ohmpi/hardware_components/mb_2024_0_2.py @@ -129,6 +129,33 @@ class Tx(Tx_mb_2023): self.exec_logger.debug(f'Switching DPS off') self._pwr_state = 'off' + @property + def polarity(self): + return self._polarity + + @polarity.setter + def polarity(self, polarity): + assert polarity in [-1, 0, 1] + self._polarity = polarity + if polarity == 1: + if self.pwr.voltage_adjustable: + self.pwr_state = 'on' + self.pin0.value = True + self.pin1.value = False + time.sleep(self._activation_delay) + elif polarity == -1: + if self.pwr.voltage_adjustable: + self.pwr_state = 'on' + self.pin0.value = False + self.pin1.value = True + time.sleep(self._activation_delay) + else: + if self.pwr.voltage_adjustable: + self.pwr_state = 'off' + self.pin0.value = False + self.pin1.value = False + time.sleep(self._release_delay) + class Rx(Rx_mb_2023): def __init__(self, **kwargs): diff --git a/ohmpi/hardware_components/pwr_batt.py b/ohmpi/hardware_components/pwr_batt.py index e9d819eb..c66ad8e3 100644 --- a/ohmpi/hardware_components/pwr_batt.py +++ b/ohmpi/hardware_components/pwr_batt.py @@ -26,7 +26,6 @@ class Pwr(PwrAbstract): self.exec_logger.event(f'{self.model}\tpwr_init\tbegin\t{datetime.datetime.utcnow()}') self._voltage = kwargs['voltage'] self._current = np.nan - self._switch_pwr_on_zero = True # self._state = 'on' if not subclass_init: self.exec_logger.event(f'{self.model}\tpwr_init\tend\t{datetime.datetime.utcnow()}') @@ -46,9 +45,3 @@ class Pwr(PwrAbstract): @voltage.setter def voltage(self, value): PwrAbstract.voltage.fset(self, value) - - def voltage_pulse(self, voltage=0., length=None, polarity=1): - self.voltage_pulse(voltage=voltage, length=length, polarity=polarity, switch_pwr=self._switch_pwr_on_zero) - - def inject(self, polarity=1, injection_duration=None): - self.inject(polarity=polarity, injection_duration=injection_duration, switch_pwr=self._switch_pwr_on_zero) diff --git a/ohmpi/hardware_components/pwr_dps5005_fixed.py b/ohmpi/hardware_components/pwr_dps5005_fixed.py index 1aba1ec7..0bdbe072 100644 --- a/ohmpi/hardware_components/pwr_dps5005_fixed.py +++ b/ohmpi/hardware_components/pwr_dps5005_fixed.py @@ -32,7 +32,6 @@ class Pwr(Pwr_batt): self.exec_logger.event(f'{self.model}\tpwr_init\tbegin\t{datetime.datetime.utcnow()}') self._voltage = kwargs['voltage'] self._current = np.nan - self._switch_pwr_on_zero = True # self._state = 'on' if not subclass_init: self.exec_logger.event(f'{self.model}\tpwr_init\tend\t{datetime.datetime.utcnow()}') -- GitLab