Skip to content

Releases: bitbank2/BitBang_I2C

Fixed ATtiny85 build

18 Mar 23:44
ab0ddf4
Compare
Choose a tag to compare

The latest change for 2.0.0 had regressed when building on ATtiny85. This fixes the bugs.

Merged multi-bitbang logic and improved HW I2C support

09 Mar 00:21
07ba4be
Compare
Choose a tag to compare

This release required changes to the function definitions, but it was worth the hassle. Now it supports an OOP method of instantiation which allows an infinite number of I2C buses to be defined, each with unique bit-bang or hardware I2C parameters.

Fixed for Nano Every

16 Nov 17:04
Compare
Choose a tag to compare

The Nano Every (ATmega4809) doesn't use the same port names or scheme to directly access GPIO pins and didn't compile with the latest Arduino board support. I changed the #ifdef statements to disable direct port access on that target so that the library can compile successfully and work (although slower).

Added Wire library wrapper and merged with I2C_Detector

08 Jul 16:28
Compare
Choose a tag to compare

I kept finding myself writing Wire library wrapper functions in my other libraries to simultaneously support bit banged I2C as well as hardware I2C, so I decided to incorporate that logic here. By specifying GPIO SDA/SCL pins of -1, it will use the Wire library. Any other values will use those pin numbers to bit-bang the protocol. I also incorporated my I2C_Detector logic in the library to scan and recognize (currently 25) different common I2C devices. This allows your projects to find and activate devices without having to know their addresses. I find this especially useful when I test I2C sensors and don't connect anything to the address selection bits. I can just find them and start using them in my code.

New function

16 Jun 14:55
Compare
Choose a tag to compare

Added a function to test the presence of a device at a single address:

I2CTest(uint8_t address);

returns 0 if no device found, 1 if a device responds

First Release

31 May 14:26
Compare
Choose a tag to compare

Added library properties to allow automatic addition to Arduino IDE library manager