I2C bit bang code for PIC32MM devices

This
project allows adding I2C interface for PIC32 devices without I2C hardware
module. The
code supports master and slave modes. The master side code requires about 660
bytes of flash and doesn’t use RAM. At 24 MIPS the master can work with the I2C
clock up to 1 MHz. The slave code requires 720 bytes of flash and 8 bytes of
RAM. At 24 MIPS the slave I2C clock can be up to 150 kHz.