Code: Select all
>>> import os
>>> os.environ.get('BLINKA_U2IF')
'1'
>>> import board
>>> dir(board)
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__']
Moderators: adafruit_support_bill, adafruit
Code: Select all
>>> import os
>>> os.environ.get('BLINKA_U2IF')
'1'
>>> import board
>>> dir(board)
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__']
Code: Select all
$ python3
Python 3.8.10 (default, Mar 13 2023, 10:26:41)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import hid
>>> device = hid.device()
>>> device.open(0x239A, 0x0109)
>>>
adafruit_support_carter wrote: ↑Fri May 26, 2023 2:26 pm The environment variable does not need to be set every time before running Python. Just once per terminal session. Adding to PATH would not fix this. Not sure how this is done on a Mac, but it'd be something like adding it to .bashrc.
Now the environment variable is returning as expected, but the board listing is not.
Try the basic connection test:
https://learn.adafruit.com/circuitpytho ... 40-3098088
Code: Select all
$ python3 Python 3.8.10 (default, Mar 13 2023, 10:26:41) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import hid >>> device = hid.device() >>> device.open(0x239A, 0x0109) >>>
Code: Select all
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: adafruit-blinka in /Library/Python/3.8/site-packages (8.19.0)
Requirement already satisfied: Adafruit-PlatformDetect>=3.13.0 in /Library/Python/3.8/site-packages (from adafruit-blinka) (3.46.0)
Requirement already satisfied: Adafruit-PureIO>=1.1.7 in /Library/Python/3.8/site-packages (from adafruit-blinka) (1.1.10)
Requirement already satisfied: pyftdi>=0.40.0 in /Library/Python/3.8/site-packages (from adafruit-blinka) (0.54.0)
Requirement already satisfied: adafruit-circuitpython-typing in /Library/Python/3.8/site-packages (from adafruit-blinka) (1.9.2)
Requirement already satisfied: pyusb!=1.2.0,>=1.0.0 in /Library/Python/3.8/site-packages (from pyftdi>=0.40.0->adafruit-blinka) (1.2.1)
Requirement already satisfied: pyserial>=3.0 in /Library/Python/3.8/site-packages (from pyftdi>=0.40.0->adafruit-blinka) (3.5)
Requirement already satisfied: adafruit-circuitpython-busdevice in /Users/dpuerto/Library/Python/3.8/lib/python/site-packages (from adafruit-circuitpython-typing->adafruit-blinka) (5.2.5)
Requirement already satisfied: adafruit-circuitpython-requests in /Library/Python/3.8/site-packages (from adafruit-circuitpython-typing->adafruit-blinka) (1.13.2)
Requirement already satisfied: typing-extensions~=4.0 in /Library/Python/3.8/site-packages (from adafruit-circuitpython-typing->adafruit-blinka) (4.5.0)
Code: Select all
>>> import os
>>> os.environ.get('BLINKA_U2IF')
'1'
>>> import board
>>> dir(board)
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__']
>>> exit()
➜ sensors git:(master) ✗ pip3 install --upgrade adafruit-blinka
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: adafruit-blinka in /Library/Python/3.8/site-packages (8.19.0)
Requirement already satisfied: Adafruit-PlatformDetect>=3.13.0 in /Library/Python/3.8/site-packages (from adafruit-blinka) (3.46.0)
Requirement already satisfied: Adafruit-PureIO>=1.1.7 in /Library/Python/3.8/site-packages (from adafruit-blinka) (1.1.10)
Requirement already satisfied: pyftdi>=0.40.0 in /Library/Python/3.8/site-packages (from adafruit-blinka) (0.54.0)
Requirement already satisfied: adafruit-circuitpython-typing in /Library/Python/3.8/site-packages (from adafruit-blinka) (1.9.2)
Requirement already satisfied: pyusb!=1.2.0,>=1.0.0 in /Library/Python/3.8/site-packages (from pyftdi>=0.40.0->adafruit-blinka) (1.2.1)
Requirement already satisfied: pyserial>=3.0 in /Library/Python/3.8/site-packages (from pyftdi>=0.40.0->adafruit-blinka) (3.5)
Requirement already satisfied: adafruit-circuitpython-busdevice in /Users/dpuerto/Library/Python/3.8/lib/python/site-packages (from adafruit-circuitpython-typing->adafruit-blinka) (5.2.5)
Requirement already satisfied: adafruit-circuitpython-requests in /Library/Python/3.8/site-packages (from adafruit-circuitpython-typing->adafruit-blinka) (1.13.2)
Requirement already satisfied: typing-extensions~=4.0 in /Library/Python/3.8/site-packages (from adafruit-circuitpython-typing->adafruit-blinka) (4.5.0)
➜ sensors git:(master) ✗
Code: Select all
pip3 install --upgrade --force-reinstall adafruit-blinka
Code: Select all
$ python3
Python 3.8.10 (default, Mar 13 2023, 10:26:41)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import board
>>> dir(board)
['BUTTON', 'I2C', 'NEOPIXEL', 'SCL', 'SDA', '__blinka__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__repo__', '__spec__', '__version__', 'ap_board', 'board_id', 'detector', 'pin', 'sys']
>>>
Code: Select all
>>> import board
>>> dir(board)
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__']
>>>
Code: Select all
>>> import board
>>> print(board.__file__)
Code: Select all
dir(board)
['BUTTON', 'NEOPIXEL', 'SCL', 'SDA', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', 'pin']
Code: Select all
File "trinkey.py", line 11, in <module>
bme = adafruit_bme280.Adafruit_BME280_I2C(i2c)
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_bme280/basic.py", line 368, in __init__
super().__init__(I2C_Impl(i2c, address))
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_bme280/basic.py", line 96, in __init__
chip_id = self._read_byte(_BME280_REGISTER_CHIPID)
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_bme280/basic.py", line 303, in _read_byte
return self._read_register(register, 1)[0]
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_bme280/basic.py", line 314, in _read_register
return self._bus_implementation.read_register(register, length)
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_bme280/protocol.py", line 25, in read_register
i2c.readinto(result)
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_bus_device/i2c_device.py", line 82, in readinto
self.i2c.readfrom_into(self.device_address, buf, start=start, end=end)
File "/Users/dpuerto/Sites/XXXX.com/sensors/busio.py", line 186, in readfrom_into
return self._i2c.readfrom_into(address, buffer, stop=stop)
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_blinka/microcontroller/rp2040_u2if/i2c.py", line 30, in readfrom_into
rp2040_u2if.i2c_readfrom_into(address, buffer, start=start, end=end)
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_blinka/microcontroller/rp2040_u2if/rp2040_u2if.py", line 268, in i2c_readfrom_into
self._i2c_read(address, buffer, start, end)
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_blinka/microcontroller/rp2040_u2if/rp2040_u2if.py", line 257, in _i2c_read
raise RuntimeError("I2C write error")
RuntimeError: I2C write error
Code: Select all
>>> from adafruit_platformdetect import Detector
>>> detector = Detector()
>>> print("Chip id: ", detector.chip.id)
Chip id: RP2040_U2IF
>>> print("Board id: ", detector.board.id)
Board id: QT2040_TRINKEY_U2IF
>>>
Code: Select all
Traceback (most recent call last):
File "trinkey.py", line 11, in <module>
bme = adafruit_bme280.Adafruit_BME280_I2C(i2c)
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_bme280/basic.py", line 368, in __init__
super().__init__(I2C_Impl(i2c, address))
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_bme280/basic.py", line 96, in __init__
chip_id = self._read_byte(_BME280_REGISTER_CHIPID)
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_bme280/basic.py", line 303, in _read_byte
return self._read_register(register, 1)[0]
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_bme280/basic.py", line 314, in _read_register
return self._bus_implementation.read_register(register, length)
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_bme280/protocol.py", line 25, in read_register
i2c.readinto(result)
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_bus_device/i2c_device.py", line 82, in readinto
self.i2c.readfrom_into(self.device_address, buf, start=start, end=end)
File "/Users/dpuerto/Sites/XXXX.com/sensors/busio.py", line 186, in readfrom_into
return self._i2c.readfrom_into(address, buffer, stop=stop)
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_blinka/microcontroller/rp2040_u2if/i2c.py", line 30, in readfrom_into
rp2040_u2if.i2c_readfrom_into(address, buffer, start=start, end=end)
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_blinka/microcontroller/rp2040_u2if/rp2040_u2if.py", line 268, in i2c_readfrom_into
self._i2c_read(address, buffer, start, end)
File "/Users/dpuerto/Sites/XXXX.com/sensors/adafruit_blinka/microcontroller/rp2040_u2if/rp2040_u2if.py", line 257, in _i2c_read
raise RuntimeError("I2C write error")
RuntimeError: I2C write error
Code: Select all
>>> device.open(0x239A, 0x00F1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "hid.pyx", line 139, in hid.device.open
OSError: open failed
>>> device.open(0x239A, 0x00F1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "hid.pyx", line 139, in hid.device.open
OSError: open failed
>>> import board
>>>
>>> i2c = board.I2C()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'board' has no attribute 'I2C'
>>> import busio
>>> i2c = busio.I2C(scl=board.SCL_PIN_NAME, sda=board.SDA_PIN_NAME)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'board' has no attribute 'SCL_PIN_NAME'
>>> i2c = busio.I2C(scl=board.SCL_PIN_NAME, sda=board.SDA_PIN_NAME)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'board' has no attribute 'SCL_PIN_NAME'
Code: Select all
>>> import time
>>> import board
>>> import busio
>>> import adafruit_scd4x
>>> i2c = busio.I2C(board.SDA, board.SCL, frequency=400000, u2if=True)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: __init__() got an unexpected keyword argument 'u2if'
Code: Select all
$ python3
Python 3.8.10 (default, Mar 13 2023, 10:26:41)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import board
>>> from adafruit_bme280 import basic as adafruit_bme280
>>> bme280 = adafruit_bme280.Adafruit_BME280_I2C(board.I2C())
>>> bme280.pressure
1005.2158232262514
>>>