From 955f17403673201de377a2a30c8fc238b7689228 Mon Sep 17 00:00:00 2001 From: Clement Remi <remi.clement@irstea.fr> Date: Wed, 16 Nov 2022 21:56:52 +0100 Subject: [PATCH] correction autogain fonction for measurement board 22.10 --- ohmpi.py | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/ohmpi.py b/ohmpi.py index d7d5c3fe..6c008c9e 100644 --- a/ohmpi.py +++ b/ohmpi.py @@ -759,22 +759,31 @@ class OhmPi(object): if not out_of_range: # we found a Vab in the range so we measure if autogain: - # compute autogain - self.pin0.value = True - self.pin1.value = False - time.sleep(injection_duration) - gain_current = self._gain_auto(AnalogIn(self.ads_current, ads.P0)) - if polarity > 0: - gain_voltage = self._gain_auto(AnalogIn(self.ads_voltage, ads.P0)) - else: - gain_voltage = self._gain_auto(AnalogIn(self.ads_voltage, ads.P2)) - self.pin0.value = False - self.pin1.value = False - self.exec_logger.debug(f'Gain current: {gain_current:.3f}, gain voltage: {gain_voltage:.3f}') - self.ads_current = ads.ADS1115(self.i2c, gain=gain_current, data_rate=860, - address=self.ads_current_address, mode=0) - self.ads_voltage = ads.ADS1115(self.i2c, gain=gain_voltage, data_rate=860, - address=self.ads_voltage_address, mode=0) + if self.board_version == '22.11': + # compute autogain + self.pin0.value = True + self.pin1.value = False + time.sleep(injection_duration) + gain_current = self._gain_auto(AnalogIn(self.ads_current, ads.P0)) + if polarity > 0: + gain_voltage = self._gain_auto(AnalogIn(self.ads_voltage, ads.P0)) + else: + gain_voltage = self._gain_auto(AnalogIn(self.ads_voltage, ads.P2)) + self.pin0.value = False + self.pin1.value = False + self.exec_logger.debug(f'Gain current: {gain_current:.3f}, gain voltage: {gain_voltage:.3f}') + self.ads_current = ads.ADS1115(self.i2c, gain=gain_current, data_rate=860, + address=self.ads_current_address, mode=0) + self.ads_voltage = ads.ADS1115(self.i2c, gain=gain_voltage, data_rate=860, + address=self.ads_voltage_address, mode=0) + elif self.board_version == '22.10': + gain_current = 2 / 3 + gain_voltage = 2 / 3 + self.ads_current = ads.ADS1115(self.i2c, gain=gain_current, data_rate=860, + address=self.ads_current_address, mode=0) + self.ads_voltage = ads.ADS1115(self.i2c, gain=gain_voltage, data_rate=860, + address=self.ads_voltage_address, mode=0) + self.pin0.value = False self.pin1.value = False -- GitLab