New I2C library available

Several places:

returnStatus = 0;
returnStatus = start();

The 1st assignment (=0) is overridden by the 2nd assignment, so remove the 1st.

This is one of those palm to forehead moments...I honestly don't know why I did that. I'll fix that up in the next rev.

void I2C::setSpeed(uint8_t _fast) why not use bool _fast?

Initially I was going to have a range of speeds available but ultimately didn't include that option so I just left it as a byte.

The scan function was written to be mostly a diagnostic function and not really meant to be incorporated in the main program. Actually I slipped it into the library because I got tired of opening a separate sketch everytime I wanted to scan the bus. The scan function is actually part of a larger sketch I'm working on to diagnose I2C bus problems. I didn't want to parametrize the function because I wanted to gear it towards the person that doesn't know too much about I2C making it as easy as possible (I'm a firm believer in the KISS principle).

Thanks for the feedback...keep it coming. Always looking for improvement ideas. :slight_smile: