From 3b7ef968a4f57c7b65e91a56a32fc432020bc07d Mon Sep 17 00:00:00 2001
From: su530201 <olivier.kaufmann@umons.ac.be>
Date: Sun, 30 Apr 2023 15:01:00 +0200
Subject: [PATCH] Fixes bug related to MUX_CONFIG in hardware_system

---
 hardware_system.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/hardware_system.py b/hardware_system.py
index 3b7aa9b5..d93b1974 100644
--- a/hardware_system.py
+++ b/hardware_system.py
@@ -11,15 +11,18 @@ controller_module = importlib.import_module(f'OhmPi.hardware_components.{HARDWAR
 tx_module = importlib.import_module(f'OhmPi.hardware_components.{HARDWARE_CONFIG["tx"]["model"]}')
 rx_module = importlib.import_module(f'OhmPi.hardware_components.{HARDWARE_CONFIG["rx"]["model"]}')
 MUX_CONFIG = {}
+mux_boards = []
 for mux_id, mux_config in HARDWARE_CONFIG['mux']['boards'].items():
     mux_module = importlib.import_module(f'OhmPi.hardware_components.{mux_config["model"]}')
     MUX_CONFIG[mux_id] = mux_module.MUX_CONFIG
-    MUX_CONFIG.update(mux_config)
+    MUX_CONFIG[mux_id].update(mux_config)
+    MUX_CONFIG[mux_id].update({'id': mux_id})
+    mux_boards.append(mux_id)
 TX_CONFIG = tx_module.TX_CONFIG
 RX_CONFIG = rx_module.RX_CONFIG
 
-current_max = np.min([TX_CONFIG['current_max'], MUX_CONFIG['current_max']])
-voltage_max = np.min([TX_CONFIG['voltage_max'], MUX_CONFIG['voltage_max']])
+current_max = np.min([TX_CONFIG['current_max'], np.min([MUX_CONFIG[i].pop('current_max', np.inf) for i in mux_boards])])
+voltage_max = np.min([TX_CONFIG['voltage_max'], np.min([MUX_CONFIG[i].pop('voltage_max', np.inf) for i in mux_boards])])
 voltage_min = RX_CONFIG['voltage_min']
 
 default_mux_cabling = MUX_CONFIG.pop('default_mux_cabling', None)
-- 
GitLab