diff --git a/ohmpi.py b/ohmpi.py index d7d5c3fe9e46a34f79a6232be0432174265aad48..6c008c9eb4f9d87a704e7600120ce19fc2000176 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