 	gpioAB[1] = mcp1.readGPIOAB();
 
 	// process the encoders
-	for (i == 0; i < ENCODERS; ++i) {
+	for (i = 0; i < ENCODERS; ++i) {
 		if (encoders[i].mcpX == &mcp0) {
 			A = bitRead(gpioAB[0], encoders[i].pinA);
 			B = bitRead(gpioAB[0], encoders[i].pinB);

typedef struct string {
	uint8_t pin;
	unsigned int value;
} string_t;

#define STRINGS 8
string_t strings[STRINGS] = {
	{ 0,  0 },
	{ 1,  0 },
	{ 2,  0 },
	{ 3,  0 },
	{ 6,  0 },
	{ 7,  0 },
	{ 8,  0 },
	{ 9,  0 }
};

void setup() {
	int i;

#include <Adafruit_MCP23017.h>

// NOTE: dacb has edited the Adafruit library to include a call to 
// Wire.setClock after Wire.begin to increase the i2c clock to 1.7M
// which is an allowed rate in the MCP23017 datasheet

#undef DEBUG
#define DEBUG
