Adafruit_CircuitPython_RGB_Display icon indicating copy to clipboard operation
Adafruit_CircuitPython_RGB_Display copied to clipboard

examples/rgb_display_minipitftstats.py does not work on Pi 5/Bookworm

Open johnwebbcole opened this issue 1 year ago • 2 comments

I'm trying to run the examples/rgb_display_minipitftstats.py and I get the following error:

Traceback (most recent call last):
  File "/home/pi/src/picam3-minipitft/button.py", line 11, in <module>
    cs_pin = digitalio.DigitalInOut(board.CE0)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/digitalio.py", line 191, in __init__
    self.direction = Direction.INPUT
    ^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/digitalio.py", line 221, in direction
    self._pin.init(mode=Pin.IN)
  File "/usr/local/lib/python3.11/dist-packages/adafruit_blinka/microcontroller/bcm283x/pin.py", line 40, in init
    GPIO.setup(self.id, GPIO.IN)
  File "/home/pi/.local/lib/python3.11/site-packages/RPi/GPIO/__init__.py", line 696, in setup
    _check(lgpio.gpio_claim_input(_chip, gpio, {
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/lgpio.py", line 755, in gpio_claim_input
    return _u2i(_lgpio._gpio_claim_input(handle&0xffff, lFlags, gpio))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/lgpio.py", line 458, in _u2i
    raise error(error_text(v))
lgpio.error: 'GPIO busy'

I was able to get the requirements loaded with the following:

sudo pip3 install --break-system-packages adafruit-circuitpython-rgb-display
sudo pip3 install --break-system-packages spidev
sudo pip3 install --break-system-packages --upgrade adafruit-python-shell click setuptools
wget https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/libgpiod.py
sudo python3 libgpiod.py

Are there any updates or instructions to get the minipitft board working with a Pi5/Bookworm? This does work on a Pi4/Bookworm.

johnwebbcole avatar Jul 02 '24 15:07 johnwebbcole

I was also getting: lgpio.error: 'GPIO busy' for a different example.

I had to "disable them from Operating System" using this guide:
https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/spi-sensors-devices#reassigning-or-disabling-the-spi-chip-enable-lines-3097985

sudo -E env PATH=$PATH python3 raspi-spi-reassign.py --ce0=disabled --ce1=disabled

mores avatar Aug 24 '24 13:08 mores

Thanks, @mores, I've followed those instructions but I'm getting the following error now:

(env) pi@picam2:~ $ python3 rgb_display_minipitfttest.py 
Traceback (most recent call last):
  File "/home/pi/rgb_display_minipitfttest.py", line 11, in <module>
    cs_pin = digitalio.DigitalInOut(board.CE0)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/env/lib/python3.11/site-packages/digitalio.py", line 197, in __init__
    self.direction = Direction.INPUT
    ^^^^^^^^^^^^^^
  File "/home/pi/env/lib/python3.11/site-packages/digitalio.py", line 227, in direction
    self._pin.init(mode=Pin.IN)
  File "/home/pi/env/lib/python3.11/site-packages/adafruit_blinka/microcontroller/bcm283x/pin.py", line 40, in init
    GPIO.setup(self.id, GPIO.IN)
RuntimeError: Cannot determine SOC peripheral base address

johnwebbcole avatar Nov 11 '24 17:11 johnwebbcole