       break;
   }
   
+  disp.writeToDisplay();
+  disp2.writeToDisplay();
+  
+  /*
+  PCComm.print("[Wrote '");
+  PCComm.print(to_write, BIN);
+  PCComm.print("' to board timing: ");
+  PCComm.print(timing); 
+  PCComm.print("]\n\r");
+  */
+  
+  ++timing;
+  
+  timing = timing % TIMING_CONSTANT;
+  
+}
+
+//Drives the I2C interface for the displays
+void dispDrive(){
+	
+  //PCComm.println("[dispDrive]");
+  
+
+  
 
 }
 

	i = ++i%10;
	char temp[2];
	
	disp.setLeft("B1");
	disp.setRight('5');
	//disp.setAll("b15 ");
	
	//disp2.setAll('5');
	disp2.setLeft('5');
	temp[0] = i + 48;
	temp[1] = '4'; //4 + 48;
	disp2.setRight(temp);
  }
  


  
  disp.writeToDisplay();
  disp2.writeToDisplay();
  
  /*
  PCComm.print("[Wrote '");
  PCComm.print(to_write, BIN);
  PCComm.print("' to board timing: ");
  PCComm.print(timing); 
  PCComm.print("]\n\r");
  */
  
  ++timing;
  
  timing = timing % TIMING_CONSTANT;
  
}

//Drives the I2C interface for the displays
void dispDrive(){
	
  PCComm.println("[dispDrive]");
  
  switch(CurrentState) {
    case DISPLEFT:

const uint8_t charsL [16] = {0b1000000,0b1111001,0b0100100,0b0110000,0b0011001,0b0010010,0b0000010,0b1111000,0b0000000,0b0010000,0b0001000,0b0000011,0b1000110,0b0100001,0b0000110,0b0001110};  //Contains the constants for the 7seg values
const uint8_t nothingL = 0b1111111;
const uint8_t errorL = 0b0110110;
const uint8_t iL = 0b1111011; //Just segment c_str
const uint8_t tL = 0b0000111; // c d e f g
const uint8_t nL = 0b0101011; //c g e

enum MasterStates {
  POLLING,
