uk-train-departure-display LCD Display Issue

Hi,
I am using Balena OS 5.0.8 to boot a Raspberry PI 3 Model B and 2.8" Capacitive IPS LCD connected directly to the board using the 40PIN GPIO interface to run a UK Train Departure Display, but am unable to get the LCD to work with the default configuration. Tried many options to get the screen working but so far been unable to get anything displayed. This Wiki suggested a number of things, but getting errors when applying them and not sure what route is best for this particular OS. https://www.waveshare.com/wiki/2.8inch_DPI_LCD
Anyone overcome this or can give me some pointers?
Thanks. Garry.

Hi, and welcome to the community. Did you already try to setup the display manually as explained in the document you mention? To recap:

On a running device, access the hostOS and do:

  • Configure /mnt/boot/config.txt with:
dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-DPI-28inch
dtoverlay=waveshare-28dpi-3b-4b   
dtoverlay=waveshare-28dpi-3b
dtoverlay=waveshare-28dpi-4b
  • Extract the overlay files and copy them into /mnt/boot/overlays.
  • Reboot the system.

Hi,
Thank you for the response. I have now had a response from the screen provider and I have the screen running with this added to the config for a standard PI OS setup so my next step is to try to add this code to the config for the Departure-Display. Just need to work out the best way to edit the config.
gpio=0-9=a2
gpio=12-17=a2
gpio=20-25=a2
dtoverlay=dpi24
enable_dpi_lcd=1
display_default_lcd=1
extra_transpose_buffer=2
dpi_group=2
dpi_mode=87
dpi_output_format=0x7F216
hdmi_timings=480 0 26 16 10 640 0 25 10 15 0 0 0 60 0 32000000 1
dtoverlay=waveshare-28dpi-3b-4b
dtoverlay=waveshare-28dpi-3b
dtoverlay=waveshare-28dpi-4b

Thanks. Garry.

I’ve updated this and now get this error in logs.

Starting Train Departure Display v0.5.4 /usr/src/python-packages/luma/core/interface/serial.py:203: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings. self._gpio.setup(pin, self._gpio.OUT) Traceback (most recent call last): File "/usr/src/python-packages/luma/core/interface/serial.py", line 306, in __init__ self._spi.open(port, device) FileNotFoundError: [Errno 2] No such file or directory During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/src/app/src/main.py", line 486, in serial = spi(port=0) ^^^^^^^^^^^ File "/usr/src/python-packages/luma/core/interface/serial.py", line 317, in __init__ raise luma.core.error.DeviceNotFoundError('SPI device not found') luma.core.error.DeviceNotFoundError: SPI device not found Service exited 'main sha256:417e712fe8660b56a0ab946b577e70631dfb738f318a47ff0e89da182c544274'

Hi, the recommended way to configure config.txt is to add the corresponding BALENA_HOST_CONFIG_ configuration variables as explained in Advanced boot settings - Balena Documentation.

Doing it like that guarantees the supervisor won’t overwrite the settings with the target state configuration.

As per the error, it seem to be expecting an SPI device, while the link you reference above states the LCD display has an I2C touch interface. Could you please verify what type of interface is it using? Also, you can compare with the working RaspberryPi OS setup and see what type of device node it tries to access.

I am using a LCD Display so does this mean that I need to disable the SPI device it is expecting? How do I do this? I am a novice here!!