diff --git a/ohmpi/hardware_components/ohmpi_card_3_15.py b/ohmpi/hardware_components/ohmpi_card_3_15.py index 58a5f0226ca64ce3506fa06f92f2c7321a4e21bb..828d9166870325802e5b7d2f485c99cf7ef48d21 100644 --- a/ohmpi/hardware_components/ohmpi_card_3_15.py +++ b/ohmpi/hardware_components/ohmpi_card_3_15.py @@ -48,6 +48,7 @@ TX_CONFIG['default_voltage'] = np.min([TX_CONFIG.pop('default_voltage', np.inf), TX_CONFIG['mcp_board_address'] = TX_CONFIG.pop('mcp_board_address', tx_mcp_board_address) TX_CONFIG['low_battery'] = TX_CONFIG.pop('low_battery', low_battery) + def _gain_auto(channel): """Automatically sets the gain on a channel @@ -83,8 +84,6 @@ class Tx(TxAbstract): self.current_adjustable = False if self.ctl is None: self.ctl = ctl_module.Ctl() - elif isinstance(self.ctl, dict): - self.ctl = ctl_module.Ctl(dict) # I2C connexion to MCP23008, for current injection self.mcp_board = MCP23008(self.ctl.bus, address=TX_CONFIG['mcp_board_address']) @@ -207,8 +206,6 @@ class Rx(RxAbstract): super().__init__(**kwargs) if self.ctl is None: self.ctl = ctl_module.Ctl() - elif isinstance(self.ctl, dict): - self.ctl = ctl_module.Ctl(dict) # ADS1115 for voltage measurement (MN) self._ads_voltage_address = 0x49 diff --git a/ohmpi/hardware_components/raspberry_pi_i2c.py b/ohmpi/hardware_components/raspberry_pi_i2c.py index 8f8a802c6e30edc4455f288fb6b34ce5f4fbdb3c..aa6d9a37a8eb1345642ca3d8dff3c5bc5210eb89 100644 --- a/ohmpi/hardware_components/raspberry_pi_i2c.py +++ b/ohmpi/hardware_components/raspberry_pi_i2c.py @@ -5,6 +5,7 @@ import os from ohmpi.utils import get_platform from gpiozero import CPUTemperature # noqa + class Ctl(CtlAbstract): def __init__(self, **kwargs): kwargs.update({'board_name': os.path.basename(__file__).rstrip('.py')}) diff --git a/ohmpi/hardware_system.py b/ohmpi/hardware_system.py index 294674f325679f19d4de95d1e5b4dee31c30ad00..ee52b4ca241b4353a1ae085ad1b2bfd9a69763d1 100644 --- a/ohmpi/hardware_system.py +++ b/ohmpi/hardware_system.py @@ -50,9 +50,11 @@ class OhmPiHardware: if self.soh_logger is None: self.soh_logger = create_stdout_logger('soh_hw') self.tx_sync = Event() - self.ctl = kwargs.pop('ctl', ctl_module.Ctl(exec_logger=self.exec_logger, - data_logger=self.data_logger, - soh_logger=self.soh_logger)) + HARDWARE_CONFIG['ctl'].pop('model') + HARDWARE_CONFIG['ctl'].update({'exec_logger': self.exec_logger, 'data_logger': self.data_logger, + 'soh_logger': self.soh_logger}) + self.ctl = kwargs.pop('ctl', ctl_module.Ctl(**HARDWARE_CONFIG['ctl'])) + self.rx = kwargs.pop('rx', rx_module.Rx(exec_logger=self.exec_logger, data_logger=self.data_logger, soh_logger=self.soh_logger,