/** 
 * Wire Slave Receiver
 * by Nicholas Zambetti <http://www.zambetti.com>
 * 
 * Demonstrates use of the Wire library
 * Receives data as an I2C/TWI slave device
 * Refer to the "Wire Master Writer" example for use with this
 */

#include <Wire.h>

void setup()
{
  Wire.begin(4);                 // join i2c bus with address #4
  Wire.onReceive(receiveEvent);  // register event
  Serial.begin(9600);            // start serial for output
}

void loop()
{
  delay(100);
}

// function that executes whenever data is received from master
// this function is registered as an event, see setup()
void receiveEvent(int howMany)
{
  while(1 < Wire.available())  // loop through all but the last
  {
    char c = Wire.receive();   // receive byte as a character
    Serial.print(c);           // print the character
  }
  int x = Wire.receive();      // receive byte as an integer
  Serial.println(x);           // print the integer
}
