diff --git a/ohmpi/hardware_components/abstract_hardware_components.py b/ohmpi/hardware_components/abstract_hardware_components.py index db89f0328e959bbe72bff36090e58392d93aba48..70bbfc1fbff526c2a2ad219392b824dbe4597b22 100644 --- a/ohmpi/hardware_components/abstract_hardware_components.py +++ b/ohmpi/hardware_components/abstract_hardware_components.py @@ -330,6 +330,7 @@ class RxAbstract(ABC): self.exec_logger.debug(f'{self.board_name} RX initialization') self._adc_gain = 1. self._max_sampling_rate = np.inf + self._bias = 0. @property def adc_gain(self): diff --git a/ohmpi/hardware_components/ohmpi_card_3_15.py b/ohmpi/hardware_components/ohmpi_card_3_15.py index fc480edf7234e6f96887115126664acff39ffec7..8aebe656effcc79a0c78758b829ecfbcb7d66d75 100644 --- a/ohmpi/hardware_components/ohmpi_card_3_15.py +++ b/ohmpi/hardware_components/ohmpi_card_3_15.py @@ -254,6 +254,6 @@ class Rx(RxAbstract): """ Gets the voltage VMN in Volts """ self.exec_logger.event(f'{self.board_name}\trx_voltage\tbegin\t{datetime.datetime.utcnow()}') - u = AnalogIn(self._ads_voltage, ads.P0, ads.P1).voltage * self._coef_p2 * 1000. # TODO: check if it should be negative + u = AnalogIn(self._ads_voltage, ads.P0, ads.P1).voltage * self._coef_p2 * 1000. - self._bias # TODO: check if it should be negated self.exec_logger.event(f'{self.board_name}\trx_voltage\tend\t{datetime.datetime.utcnow()}') return u diff --git a/ohmpi/hardware_system.py b/ohmpi/hardware_system.py index e176f2c0af60676ac20b16aaa42e24a1c7ef11d0..0171c50969f1a4f547d22aa7d99504b9fa867445 100644 --- a/ohmpi/hardware_system.py +++ b/ohmpi/hardware_system.py @@ -318,6 +318,10 @@ class OhmPiHardware: fig.legend() plt.show() + def calibrate_rx_bias(self): + self.tx._bias = np.mean(self.readings[self.readings[:, 2] == 1, 4]) \ + + np.mean(self.readings[self.readings[:, 2] == -1, 4]) / 2. + def vab_square_wave(self, vab, cycle_length, sampling_rate=None, cycles=3, polarity=1, append=False): self.exec_logger.event(f'OhmPiHardware\tvab_square_wave\tbegin\t{datetime.datetime.utcnow()}') self.tx.polarity = polarity