From 14e5f96ab374308f7e9551cb0abb7cca38db2d23 Mon Sep 17 00:00:00 2001
From: Arnaud Watlet <arnaud.watlet@umons.ac.be>
Date: Tue, 14 Feb 2023 15:42:58 +0100
Subject: [PATCH] Updates mux v2024 addressing

---
 .../relay_board_32/MUX_relays_32_test.py      | 66 +++++++++----------
 1 file changed, 32 insertions(+), 34 deletions(-)

diff --git a/MUX_board/2024.0.0/relay_board_32/MUX_relays_32_test.py b/MUX_board/2024.0.0/relay_board_32/MUX_relays_32_test.py
index c17451d7..6fef64ec 100644
--- a/MUX_board/2024.0.0/relay_board_32/MUX_relays_32_test.py
+++ b/MUX_board/2024.0.0/relay_board_32/MUX_relays_32_test.py
@@ -5,7 +5,7 @@ import busio
 import numpy as np
 import time
 
-def set_mux_addressing_table(addressing_logic_table='addresses_table_2roles.csv',mux_settings=''):
+def set_mux_addressing_table(addressing_logic_table='addresses_table_4roles.csv',mux_settings=''):
     # with open(mux_table, 'r') as myfile:
     #     header = myfile.readlines()[0].strip('\n').split(',')
     # mcp_table = np.genfromtxt(mux_table,dtype=str,
@@ -31,7 +31,7 @@ def set_mux_addressing_table(addressing_logic_table='addresses_table_2roles.csv'
     mux_addr = np.genfromtxt(mux_settings,dtype=str, delimiter=',', skip_header=1,)
     mux_addr = {header[k]: np.atleast_1d(mux_addr.T[k]) for k in range(len(header))}
 
-    keys = ['TCA_address', 'TCA_channel', 'MCP_address', 'Electrode_id', 'Role']
+    keys = ['TCA_address', 'TCA_channel', 'MCP_address', 'Electrode_id', 'MCP_GPIO', 'Role']
     mux_addressing_table = {keys[k]:np.array([]) for k in range(len(keys))}
     print(mux_addr)
    # mux_addressing_table['MCP_address'] = mux_addressing_table['MCP_address'].astype(hex)
@@ -48,13 +48,11 @@ def set_mux_addressing_table(addressing_logic_table='addresses_table_2roles.csv'
         mux_addressing_table['MCP_address'] = np.append(mux_addressing_table['MCP_address'],
                                                         vhex(int(mux_addr['MCP_address'][i],16)+
                                                              addressing_logic_table['MCP_board_id']))
-        mux_addressing_table['MCP_GPIO'] = np.append(mux_addressing_table['TCA_address'],
-                                                        np.repeat(mux_addr['TCA_address'][i],
-                                                                  addressing_logic_table['GPIO'].shape[
-                                                                      0]))
+        mux_addressing_table['MCP_GPIO'] = np.append(mux_addressing_table['MCP_GPIO'],
+                                                     addressing_logic_table['GPIO']).astype(np.uint16)
         mux_addressing_table['Electrode_id'] = np.append(mux_addressing_table['Electrode_id'],
                                                          addressing_logic_table['Electrode_board_id'] +
-                                                         int(mux_addr['Electrode_id_min'][i]))
+                                                         int(mux_addr['Electrode_id_min'][i])).astype(np.uint16)
         mux_addressing_table['Role'] = np.append(mux_addressing_table['Role'],
                                                  addressing_logic_table['Role'])
 
@@ -71,7 +69,7 @@ def set_relay_state(mcp_addr,mcp_pin,state=True):
 addressing_logic_table='addresses_table_4roles.csv'
 mux_table = 'MUX_settings.csv'
 mux_addressing_table = set_mux_addressing_table(addressing_logic_table,mux_table)
-print(mux_addressing_table)
+print("table" , mux_addressing_table)
 header = ','.join([k for k in mux_addressing_table.keys()])
 values = [[(v[i]) for v in mux_addressing_table.values()] for i in range(len(mux_addressing_table['MCP_address']))]
 with open("compiled_mux_addressing_table.csv", "w") as file:
@@ -82,29 +80,29 @@ with open("compiled_mux_addressing_table.csv", "a") as file:
 
 # print('rr',[[(v[i]) for v in mux_addressing_table.values()] for i in range(len(mux_addressing_table['MCP_address']))])
 
-
-a_list = np.arange(1,16,1)
-b_list = np.arange(2,17,1)
-
-electrodes = np.array([a_list,b_list]).T
-# print(np.where((mux_addressing_table['Electrode_board_id']==1) & (mux_addressing_table['Role']=='X')))
-for i,relays in enumerate(electrodes):
-    for r in relays:
-        idx = np.where((mux_addressing_table['Electrode_id']== r) & (mux_addressing_table['Role']=='X'))[0]
-        mcp_addr = hex(int(mux_addressing_table['MCP_address'][idx][0],16))
-        print(mcp_addr[0],mux_addressing_table['MCP_address'])
-        time.sleep(.5)
-        set_relay_state(mcp_addr, r, True)
-    #
-    # for r in relays:
-    #     idx = np.where((mux_addressing_table['Electrode_id']== r) & (mux_addressing_table['Role']=='X'))[0]
-    #     mcp_addr = hex(int(mux_addressing_table['MCP_address'][idx][0],16))
-    #     print(r,idx)
-    #     time.sleep(.5)
-    #     set_relay_state(mcp_addr, r, False)
-    #
-    #
-    #
-    # for r in relays:
-    #     set_relay_state(mcp_addr,r,True)
-    #
+#
+# a_list = np.arange(1,16,1)
+# b_list = np.arange(2,17,1)
+#
+# electrodes = np.array([a_list,b_list]).T
+# # print(np.where((mux_addressing_table['Electrode_board_id']==1) & (mux_addressing_table['Role']=='X')))
+# for i,relays in enumerate(electrodes):
+#     for r in relays:
+#         idx = np.where((mux_addressing_table['Electrode_id']== r) & (mux_addressing_table['Role']=='X'))[0]
+#         mcp_addr = hex(int(mux_addressing_table['MCP_address'][idx][0],16))
+#         print(mcp_addr[0],mux_addressing_table['MCP_address'])
+#         time.sleep(.5)
+#         set_relay_state(mcp_addr, r, True)
+#     #
+#     # for r in relays:
+#     #     idx = np.where((mux_addressing_table['Electrode_id']== r) & (mux_addressing_table['Role']=='X'))[0]
+#     #     mcp_addr = hex(int(mux_addressing_table['MCP_address'][idx][0],16))
+#     #     print(r,idx)
+#     #     time.sleep(.5)
+#     #     set_relay_state(mcp_addr, r, False)
+#     #
+#     #
+#     #
+#     # for r in relays:
+#     #     set_relay_state(mcp_addr,r,True)
+#     #
-- 
GitLab