You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I don't think this is a bug. We keep I2C around when used by a display so that it can be used internally. Do displayio.release_displays() to release it.
It's not a displayio display. I just stumbled upon the bug with it.
It can be repro'ed with just import board, busio; busio.I2C(board.GP17, board.GP16), reloading and running it again.
Adafruit CircuitPython 9.2.0-beta.0-25-g7f14b9c49a on 2024-10-04; Raspberry Pi Pico 2 with rp2350a
>>> import board, busio;busio.I2C(board.GP17, board.GP16)
<I2C>
>>>
soft reboot
Auto-reload is off.
Running in safe mode! Not running saved code.
You are in safe mode because:
The `microcontroller` module was used to boot into safe mode.
Press reset to exit safe mode.
Press any key to enter the REPL. Use CTRL-D to reload.
Adafruit CircuitPython 9.2.0-beta.0-25-g7f14b9c49a on 2024-10-04; Raspberry Pi Pico 2 with rp2350a
>>> import board, busio;busio.I2C(board.GP17, board.GP16)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: I2C peripheral in use
>>>
I tried latest main with a SAMD21 board, and I2C cleanup is acting flaky, though I haven't got a reproducer yet. I think this may be due to #9671, which removed i2c_reset() on various ports.
CircuitPython version
Code/REPL
Behavior
SSD1306 display properly attached
First time works, then if we reload and run it again:
ValueError: I2C peripheral in use
Description
No response
Additional information
No response
The text was updated successfully, but these errors were encountered: