diff --git a/hardware/abstract_hardware.py b/hardware/abstract_hardware.py index 4082dc670dbf683f922ecbd167e3fd46cd52b4b4..57ff1c7e2d4db3d997d7617184f948f8de6b5c64 100644 --- a/hardware/abstract_hardware.py +++ b/hardware/abstract_hardware.py @@ -127,6 +127,7 @@ class TxAbstract(ABC): self.soh_logger = kwargs.pop('soh_logger', None) if self.soh_logger is None: self.soh_logger = create_stdout_logger('soh_tx') + self.controller = kwargs.pop('controller', None) #self._polarity = polarity self._inj_time = None self._dps_state = 'off' @@ -241,8 +242,11 @@ class RxAbstract(ABC): def __init__(self, **kwargs): self.exec_logger = kwargs.pop('exec_logger', None) if self.exec_logger is None: - self.exec_logger = create_stdout_logger('exec_tx') + self.exec_logger = create_stdout_logger('exec_rx') self.soh_logger = kwargs.pop('soh_logger', None) + if self.soh_logger is None: + self.soh_logger = create_stdout_logger('soh_rx') + self.controller = kwargs.pop('controller', None) self.board_name = kwargs.pop('board_name', 'unknown RX hardware') self._sampling_rate = kwargs.pop('sampling_rate', 1) self.exec_logger.debug(f'{self.board_name} RX initialization') diff --git a/hardware/ohmpi_card_3_15.py b/hardware/ohmpi_card_3_15.py index 3de6a26b08ee157e50a1262e39ae7ce572737e5c..1d7cafdf760a155343c1fb7fc714edbd3e94d729 100644 --- a/hardware/ohmpi_card_3_15.py +++ b/hardware/ohmpi_card_3_15.py @@ -73,7 +73,8 @@ class Tx(TxAbstract): kwargs.update({'board_name': os.path.basename(__file__).rstrip('.py')}) super().__init__(**kwargs) self._voltage = kwargs.pop('voltage', TX_CONFIG['default_voltage']) - self.controller = kwargs.pop('controller', controller_module.Controller()) + if self.controller is None: + self.controller = controller_module.Controller() # I2C connexion to MCP23008, for current injection self.mcp_board = MCP23008(self.controller.bus, address=TX_CONFIG['mcp_board_address']) @@ -208,7 +209,8 @@ class Rx(RxAbstract): def __init__(self, **kwargs): kwargs.update({'board_name': os.path.basename(__file__).rstrip('.py')}) super().__init__(**kwargs) - self.controller = kwargs.pop('controller', controller_module.Controller()) + if self.controller is None: + self.controller = controller_module.Controller() # ADS1115 for voltage measurement (MN) self._ads_voltage_address = 0x49 diff --git a/measure.py b/measure.py index 7662f0850d9ed12876d1abf3106a1830128adbaa..2eff82fe42608f69aba220ca3413f1eab0ffc152 100644 --- a/measure.py +++ b/measure.py @@ -38,11 +38,11 @@ class OhmPiHardware: self.controller = kwargs.pop('controller', controller_module.Controller(exec_logger=self.exec_logger, data_logger=self.data_logger, - soh_logger= self.soh_logger)) + soh_logger=self.soh_logger)) self.rx = kwargs.pop('rx', rx_module.Rx(exec_logger=self.exec_logger, data_logger=self.data_logger, soh_logger=self.soh_logger, - controller = self.controller)) + controller=self.controller)) self.tx = kwargs.pop('tx', tx_module.Tx(exec_logger=self.exec_logger, data_logger=self.data_logger, soh_logger=self.soh_logger, diff --git a/test_measure_with_ohmpi_card_3_15.py b/test_measure_with_ohmpi_card_3_15.py index 378e328c39410df6bbc07971d52dd7e1964026b0..511c54c3ee201aefb1fad0fd776e8abe9da40102 100644 --- a/test_measure_with_ohmpi_card_3_15.py +++ b/test_measure_with_ohmpi_card_3_15.py @@ -13,7 +13,7 @@ k._vab_pulse(vab=12, length=1., sampling_rate=k.rx.sampling_rate, polarity=1) r = k.readings[:,4]/k.readings[:,3] print(f'Mean resistance: {np.mean(r):.3f} Ohms, Dev. {100*np.std(r)/np.mean(r):.1f} %') print(f'sampling rate: {k.rx.sampling_rate:.1f} ms, mean sample spacing: {np.mean(np.diff(k.readings[:,0]))*1000.:.1f} ms') -print('Testing negative _vab_pulse') +print('\nTesting negative _vab_pulse') k._vab_pulse(vab=12, length=1., sampling_rate=k.rx.sampling_rate, polarity=-1) r = k.readings[:,4]/k.readings[:,3] print(f'Mean resistance: {np.mean(r):.3f} Ohms, Dev. {100*np.std(r)/np.mean(r):.1f} %')