This moves all of the I2C code to IRQ based (not DMA _yet_). But it does drastically improve reliability, especially of reads.