+"""
+`busio` - Bus protocol support like I2C and SPI
+=================================================
+
+See `CircuitPython:busio` in CircuitPython for more details.
+
+* Author(s): cefn
+"""
+
from adafruit_blinka import Enum, Lockable, agnostic
+from adafruit_blinka.agnostic import board as boardId
class I2C(Lockable):
def __init__(self, scl, sda, frequency=400000):
def init(self, scl, sda, frequency):
self.deinit()
- from machine import I2C as _I2C
+ if boardId == "raspi_3" or boardId == "raspi_2":
+ from adafruit_blinka.microcontroller.raspi_23.i2c import I2C as _I2C
+ else:
+ from machine import I2C as _I2C
from microcontroller.pin import i2cPorts
for portId, portScl, portSda in i2cPorts:
if scl == portScl and sda == portSda:
- self._i2c = I2C(portId, mode=_I2C.MASTER, baudrate=frequency)
+ self._i2c = _I2C(portId, mode=_I2C.MASTER, baudrate=frequency)
break
else:
raise NotImplementedError("No Hardware I2C on (scl,sda)={}\nValid UART ports".format(
Parity.ODD = Parity()
Parity.EVEN = Parity()
- # TODO investigate UART receiver_buffer_size as e.g. read_buf_len in https://github.com/micropython/micropython/blob/3eb0694b97c6a8f0e93b874549aac40d8b78b0e5/ports/stm32/uart.c
def __init__(self,
tx,
rx,