From: Francis Guevarra Date: Mon, 2 Dec 2019 23:47:58 +0000 (-0800) Subject: Merge branch 'master' of https://github.com/binhollc/Adafruit_Blinka X-Git-Tag: 3.1.0^2^2~1 X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/commitdiff_plain/76ebb04b49b9a08da7d9cf699be73e5ab9893fe5?hp=fff2c1191a97d32b1144e9f42956cbdf852ed682 Merge branch 'master' of https://github.com/binhollc/Adafruit_Blinka --- diff --git a/setup.py b/setup.py index c326d66..a8f9b1c 100755 --- a/setup.py +++ b/setup.py @@ -49,7 +49,7 @@ setup( install_requires=[ "Adafruit-PlatformDetect", "Adafruit-PureIO", - "spidev; sys_platform=='linux'", + "spidev>=3.4; sys_platform=='linux'", "sysv_ipc; platform_system != 'Windows'" ] + board_reqs, license='MIT', diff --git a/src/adafruit_blinka/microcontroller/bcm283x/pulseio/PulseIn.py b/src/adafruit_blinka/microcontroller/bcm283x/pulseio/PulseIn.py index b918c86..289d106 100644 --- a/src/adafruit_blinka/microcontroller/bcm283x/pulseio/PulseIn.py +++ b/src/adafruit_blinka/microcontroller/bcm283x/pulseio/PulseIn.py @@ -48,7 +48,7 @@ class PulseIn: cmd = [dir_path+"/libgpiod_pulsein", "--pulses", str(maxlen), "--queue", str(self._mq.key)] - if not idle_state: + if idle_state: cmd.append("-i") cmd.append("gpiochip0") cmd.append(str(pin)) diff --git a/src/adafruit_blinka/microcontroller/bcm283x/pulseio/libgpiod_pulsein b/src/adafruit_blinka/microcontroller/bcm283x/pulseio/libgpiod_pulsein index c58b443..3bbb65f 100755 Binary files a/src/adafruit_blinka/microcontroller/bcm283x/pulseio/libgpiod_pulsein and b/src/adafruit_blinka/microcontroller/bcm283x/pulseio/libgpiod_pulsein differ diff --git a/src/adafruit_blinka/microcontroller/ft232h/spi.py b/src/adafruit_blinka/microcontroller/ft232h/spi.py index 2d42ae0..a260e72 100644 --- a/src/adafruit_blinka/microcontroller/ft232h/spi.py +++ b/src/adafruit_blinka/microcontroller/ft232h/spi.py @@ -17,7 +17,12 @@ class SPI: def init(self, baudrate=100000, polarity=0, phase=0, bits=8, firstbit=MSB, sck=None, mosi=None, miso=None): self._port.set_frequency(baudrate) + # FTDI device can only support mode 0 and mode 2 + # due to the limitation of MPSSE engine. + # This means CPHA must = 0 self._port._cpol = polarity + if phase != 0: + raise ValueError("Only SPI phase 0 is supported by FT232H.") self._port._cpha = phase @property diff --git a/src/board.py b/src/board.py index e8b5dc4..e007900 100755 --- a/src/board.py +++ b/src/board.py @@ -58,6 +58,9 @@ elif detector.board.RASPBERRY_PI_B_REV2: elif board_id == ap_board.BEAGLEBONE_BLACK: from adafruit_blinka.board.beaglebone_black import * +elif board_id == ap_board.BEAGLEBONE_GREEN_WIRELESS: + from adafruit_blinka.board.beaglebone_black import * + elif board_id == ap_board.BEAGLEBONE_POCKETBEAGLE: from adafruit_blinka.board.beaglebone_pocketbeagle import * diff --git a/src/busio.py b/src/busio.py index be09cd0..b478ec0 100755 --- a/src/busio.py +++ b/src/busio.py @@ -7,6 +7,8 @@ See `CircuitPython:busio` in CircuitPython for more details. * Author(s): cefn """ +import threading + from adafruit_blinka import Enum, Lockable, agnostic from adafruit_blinka.agnostic import board_id, detector import adafruit_platformdetect.board as ap_board @@ -39,6 +41,8 @@ class I2C(Lockable): "No Hardware I2C on (scl,sda)={}\nValid I2C ports: {}".format((scl, sda), i2cPorts) ) + self._lock = threading.RLock() + def deinit(self): try: del self._i2c @@ -46,9 +50,11 @@ class I2C(Lockable): pass def __enter__(self): + self._lock.acquire() return self def __exit__(self, exc_type, exc_value, traceback): + self._lock.release() self.deinit() def scan(self): diff --git a/src/micropython.py b/src/micropython.py index b5af9b3..620646f 100755 --- a/src/micropython.py +++ b/src/micropython.py @@ -1,2 +1,14 @@ def const(x): return x + + +def native(f): + return f + + +def viper(f): + raise SyntaxError("invalid micropython decorator") + + +def asm_thumb(f): + raise SyntaxError("invalid micropython decorator") \ No newline at end of file