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