I2C with I/O expander Chip help

Hey guys,
I’m currently trying to test if a board I have works functionally. This involves a CAN chip, I/O expander chip, and a couple other things. Basically I am trying to get started by verifying I2C is working correctly ( CAN data being converted to I2C ) by snooping ( if this is even possible) or picking up the I2C data after it is being processed by the CAN chip.

Can anyone give me a basic idea of a way to kind of “peak” in on I2C data stream to verify it is working? Is it possible to view data as it streams through the SDA and SCLK or would I actually have to set up an imp as master, and send read requests etc to the chips. The flow of data is as follows. CAN data comes into the board -> CAN chip that converts it to SPI / I2C -> I/O expander chip -> off the board.

I get the basic idea behind I2C communication, with masters sending requests to slave addresses with a read or write bit at the end. I tried looking at the API for I2C (http://electricimp.com/docs/api/hardware/i2c/) but it seems the example code to read from the tmp112 might be missing?

I haven’t poked around too much looking for I2C stuff on here, so if anyone has relating posts ( I saw the LCD I2C library example but felt it was a little to different from the situation I was trying to figure out to use ). If someone could point me in the right direction, or give me a quick run down on I2C with some example code that would be great! I am having the most trouble deciding the address ( and converting it from 7 bit to 8 bit to use with the imp?) and how to figure out what the address is from a data sheet. If I want to be using the address for the I/O expander chip as the address, or if the chips coming into the expander have their own addresses very different from the expander.

Thanks in advance!
Aaron

TMP112 code can be found in here: https://github.com/electricimp/examples/blob/master/nora/v2/nora-v2-device.nut

The imp uses 8 bit i2c addresses, ie the entire byte (including the LSB, which is the read/write bit) is counted. If the datasheet quotes a 7 bit address, eg 0110000, then this would turn out to be 01100000 or 0x60.

The datasheets usually make the i2c address pretty clear!