#!/usr/bin/python3 import os import subprocess import re import wiringpi p = subprocess.Popen(['gpio', 'i2cdetect'],stdout=subprocess.PIPE,) #cmdout = str(p.communicate()) mcps = list() p.stdout.readline() for i in range(1,9): line = str(p.stdout.readline()).split(' ')[1:] for mcp in line: if re.search('\d\d', mcp): mcps.append(mcp) wiringpi.wiringPiSetupGpio() for base_multiplier in range(1,9): base = 64*base_multiplier for mcp in mcps: print("Setting base for MCP: ", mcp, " setting base: ", base) wiringpi.mcp23017Setup(base, int(mcp,16)) for pin in range(16): wiringpi.pinMode(base + pin, 1) wiringpi.digitalWrite(base + pin, 1)