Releases: bitbank2/BitBang_I2C
Support for UNO R4
More devices and capabilities
This new release adds another 14 recognized devices and now the I2CDiscoverDevice() function returns bit flags representing the capabilities of the device (e.g. DEVICE_CAP_GYROSCOPE).
Added Mbed custom pin HW I2C
This release adds the ability to use HW I2C on custom pins with Mbed targets. This includes the RP2040 targets.
Fixed name conflicts with RPI Pico
I had created my own sleep_us() function for microsecond delays and the RPI Pico SDK (underneath the Arduino support) has the same named function. I changed it to my_sleep_us() and that resolved it. The Wire library of the Pico also doesn't allow pin numbers to be used, so I added the RP2040 as an excluded device for that feature.
Added support for BNO055 detection
This release adds support for detecting the Bosch BNO055 and fixes a Wire library compatibility issue with Adafruit nRF52 devices.
Added recognition of Bosch BME680
Added the Bosch BME680 to list of recognized I2C devices
Patch for Teensy 4.x
This latest change fixes a compile error on Teensy 4.x targets. The Wire library on ESP32 and some other MCUs allows the SDA and SCL pins to be specified in the begin() method, but not on the Teensy. This caused a compile error. This release tests for the TEENSYDUINO macro being defined to avoid causing that error.
Added Linux (RPI) support
This can now be built on Raspberry Pi's version of Linux and allows you to control multiple I2C buses either using hardware I2C or bit banging. The GPIO access is provided by Joan's PIGPIO library.
Fixed Wire library init on nRF52 targets
The Cortex-M3/4 in nRF52 devices is capable of having hardware I2C on any of its SERCOM devices, Arduino's library support (and Adafruit) chose to use a single SERCOM for I2C. Therefore, the Wire.begin(SDA, SCL) option is not implemented. In the previous version of BitBang_I2C, I had excluded only AVR targets for lacking this feature, but now I've had to add nRF52 to that list.
Fixed for AVR targets
patch to fix regression bug for AVR targets