Adafruit_CircuitPython_RGB_Display icon indicating copy to clipboard operation
Adafruit_CircuitPython_RGB_Display copied to clipboard

rgb_display_ili9341test.py fails

Open ojoojoo opened this issue 1 year ago • 2 comments

administrator@raspberrypi:~ $ python3 rgb_display_ili9341test.py Traceback (most recent call last): File "/home/administrator/rgb_display_ili9341test.py", line 25, in spi = busio.SPI(clock=board.SCK, MOSI=board.MOSI, MISO=board.MISO) File "/usr/local/lib/python3.9/dist-packages/busio.py", line 365, in init self._spi = _SPI(portId) File "/usr/local/lib/python3.9/dist-packages/adafruit_blinka/microcontroller/generic_linux/spi.py", line 25, in init self._spi = spi.SPI(device=(portid, 0)) File "/usr/local/lib/python3.9/dist-packages/Adafruit_PureIO/spi.py", line 149, in init raise IOError(f"{device} does not exist") OSError: /dev/spidev0.0 does not exist

Whats wrong here?

ojoojoo avatar Mar 03 '24 15:03 ojoojoo

Without knowing the specifics of your setup, it's most likely one of:

  • SPI not enabled
  • Kernel Driver is in use

makermelissa avatar Mar 04 '24 16:03 makermelissa

Sometimes things are that easy...

But it's still not working, still a white screen and now I don't get any error at all, it's just this:

administrator@raspberrypi:~ $ python3 rgb_display_ili9341test.py

And than nothing.... no red or blue pixel, only white.

This is the script I'm using:

SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries

SPDX-License-Identifier: MIT

Quick test of TFT FeatherWing (ILI9341) with Feather M0 or M4

Will fill the TFT black and put a red pixel in the center, wait 2 seconds,

then fill the screen blue (with no pixel), wait 2 seconds, and repeat.

import time import random import busio import digitalio import board

from adafruit_rgb_display.rgb import color565 from adafruit_rgb_display import ili9341

Configuratoin for CS and DC pins (these are FeatherWing defaults on M0/M4):

cs_pin = digitalio.DigitalInOut(board.D9) dc_pin = digitalio.DigitalInOut(board.D10)

Config for display baudrate (default max is 24mhz):

BAUDRATE = 24000000

Setup SPI bus using hardware SPI:

spi = busio.SPI(clock=board.SCK, MOSI=board.MOSI, MISO=board.MISO)

Create the ILI9341 display:

display = ili9341.ILI9341(spi, cs=cs_pin, dc=dc_pin, baudrate=BAUDRATE)

Main loop:

while True: # Fill the screen red, green, blue, then black: for color in ((255, 0, 0), (0, 255, 0), (0, 0, 255)): display.fill(color565(color)) # Clear the display display.fill(0) # Draw a red pixel in the center. display.pixel(display.width // 2, display.height // 2, color565(255, 0, 0)) # Pause 2 seconds. time.sleep(2) # Clear the screen a random color

ojoojoo avatar Mar 05 '24 18:03 ojoojoo