Tweaks to code, removed SPI stuff as I realized I definitely can't do that as I only have access to two channels... so I could not properly implement slave select and so I have no interest in adding SPI code at the moment. Maybe in the future but it would depend upon SS on slave being grounded all the time, so it could only work in instances where you had one slave. In other words it could not be seamlessly added to a populated bus whereas I2C could be.