From cf03a3343db19fcce3c73a3a61ab863563950878 Mon Sep 17 00:00:00 2001 From: Clement Remi <remi.clement@irstea.fr> Date: Sat, 15 Apr 2023 19:03:05 +0200 Subject: [PATCH] update test_mux function and fix some bugs --- ohmpi.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ohmpi.py b/ohmpi.py index fbbc5cd9..b151d7cc 100644 --- a/ohmpi.py +++ b/ohmpi.py @@ -1582,18 +1582,19 @@ class OhmPi(object): # find I2C address of the electrode and corresponding relay # considering that one MCP23017 can cover 16 electrodes i2c_address = 7 - (electrode_nr - 1) // 16 # quotient without rest of the division - relay_nr = electrode_nr - (electrode_nr // 16) * 16 + 1 + relay_nr = (electrode_nr-1) - ((electrode_nr-1) // 16) * 16 + if i2c_address is not None: # select the MCP23017 of the selected MUX board mcp2 = MCP23017(tca[i2c_address]) - mcp2.get_pin(relay_nr - 1).direction = digitalio.Direction.OUTPUT + mcp2.get_pin(relay_nr).direction = digitalio.Direction.OUTPUT # activate relay for given time - mcp2.get_pin(relay_nr - 1).value = True + mcp2.get_pin(relay_nr).value = True print('electrode:', electrode_nr, ' activated...', end='', flush=True) time.sleep(activation_time) - mcp2.get_pin(relay_nr - 1).value = False + mcp2.get_pin(relay_nr).value = False print(' deactivated') time.sleep(activation_time) print('Test finished.') -- GitLab