Commit ca9491bc authored by Olivier Kaufmann's avatar Olivier Kaufmann
Browse files

Fixes issue with RX, TX and MUX controller in OhmPiHardware __init__

No related merge requests found
Showing with 12 additions and 6 deletions
+12 -6
...@@ -127,6 +127,7 @@ class TxAbstract(ABC): ...@@ -127,6 +127,7 @@ class TxAbstract(ABC):
self.soh_logger = kwargs.pop('soh_logger', None) self.soh_logger = kwargs.pop('soh_logger', None)
if self.soh_logger is None: if self.soh_logger is None:
self.soh_logger = create_stdout_logger('soh_tx') self.soh_logger = create_stdout_logger('soh_tx')
self.controller = kwargs.pop('controller', None)
#self._polarity = polarity #self._polarity = polarity
self._inj_time = None self._inj_time = None
self._dps_state = 'off' self._dps_state = 'off'
...@@ -241,8 +242,11 @@ class RxAbstract(ABC): ...@@ -241,8 +242,11 @@ class RxAbstract(ABC):
def __init__(self, **kwargs): def __init__(self, **kwargs):
self.exec_logger = kwargs.pop('exec_logger', None) self.exec_logger = kwargs.pop('exec_logger', None)
if self.exec_logger is 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) 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.board_name = kwargs.pop('board_name', 'unknown RX hardware')
self._sampling_rate = kwargs.pop('sampling_rate', 1) self._sampling_rate = kwargs.pop('sampling_rate', 1)
self.exec_logger.debug(f'{self.board_name} RX initialization') self.exec_logger.debug(f'{self.board_name} RX initialization')
......
...@@ -73,7 +73,8 @@ class Tx(TxAbstract): ...@@ -73,7 +73,8 @@ class Tx(TxAbstract):
kwargs.update({'board_name': os.path.basename(__file__).rstrip('.py')}) kwargs.update({'board_name': os.path.basename(__file__).rstrip('.py')})
super().__init__(**kwargs) super().__init__(**kwargs)
self._voltage = kwargs.pop('voltage', TX_CONFIG['default_voltage']) 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 # I2C connexion to MCP23008, for current injection
self.mcp_board = MCP23008(self.controller.bus, address=TX_CONFIG['mcp_board_address']) self.mcp_board = MCP23008(self.controller.bus, address=TX_CONFIG['mcp_board_address'])
...@@ -208,7 +209,8 @@ class Rx(RxAbstract): ...@@ -208,7 +209,8 @@ class Rx(RxAbstract):
def __init__(self, **kwargs): def __init__(self, **kwargs):
kwargs.update({'board_name': os.path.basename(__file__).rstrip('.py')}) kwargs.update({'board_name': os.path.basename(__file__).rstrip('.py')})
super().__init__(**kwargs) 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) # ADS1115 for voltage measurement (MN)
self._ads_voltage_address = 0x49 self._ads_voltage_address = 0x49
......
...@@ -38,11 +38,11 @@ class OhmPiHardware: ...@@ -38,11 +38,11 @@ class OhmPiHardware:
self.controller = kwargs.pop('controller', self.controller = kwargs.pop('controller',
controller_module.Controller(exec_logger=self.exec_logger, controller_module.Controller(exec_logger=self.exec_logger,
data_logger=self.data_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, self.rx = kwargs.pop('rx', rx_module.Rx(exec_logger=self.exec_logger,
data_logger=self.data_logger, data_logger=self.data_logger,
soh_logger=self.soh_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, self.tx = kwargs.pop('tx', tx_module.Tx(exec_logger=self.exec_logger,
data_logger=self.data_logger, data_logger=self.data_logger,
soh_logger=self.soh_logger, soh_logger=self.soh_logger,
......
...@@ -13,7 +13,7 @@ k._vab_pulse(vab=12, length=1., sampling_rate=k.rx.sampling_rate, polarity=1) ...@@ -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] 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'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(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) k._vab_pulse(vab=12, length=1., sampling_rate=k.rx.sampling_rate, polarity=-1)
r = k.readings[:,4]/k.readings[:,3] 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'Mean resistance: {np.mean(r):.3f} Ohms, Dev. {100*np.std(r)/np.mean(r):.1f} %')
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment