Startet man ein einfaches Testprogramm, etwa
Code: Alles auswählen
# Display-Test:
from machine import Pin, SPI
import st7789
spi = SPI(2, baudrate=20000000, polarity=1, sck=Pin(18), mosi=Pin(19))
display = st7789.ST7789(spi, 135, 240, reset=Pin(23, Pin.OUT), cs=Pin(5, Pin.OUT), dc=Pin(16, Pin.OUT), backlight=Pin(4, Pin.OUT), rotation=3)
display.init()
display.fill(st7789.WHITE) # Bildschirm weiß
Da es keine Fehlermeldung gab, vermutete ich, dass es vielleicht an der Konfiguration liegen könnte. Weil die Anschlüsse für sck und mosi durch die Hardware des TTGO-Moduls festgelegt sind, kümmerte ich mich um die anderen Parameter. U. A. veränderte ich auch den ersten Parameter des SPI-Konstruktors: Mit diesem Wert wird festgelegt, welches der vier SPI-Interfaces des ESP32 eingesetzt werden soll. Von diesen Interfaces SPI0 bis SPI3 stehen dem Anwender nur die letzten beiden zur Verfügung; diese werden häufig als HSPI und VSPI (mit den Identifiern 1 bzw. 2) bezeichnet. Die Anschlüsse dieser Interfaces sind standardmäßig:
Code: Alles auswählen
| HSPI (id = 1) | VSPI (id = 2)
--------------+--------------------------------
sck | 14 | 18
mosi | 13 | 23
miso | 12 | 19
Wer jetzt die Version 1.18 von Russ Hughes benutzen möchte, braucht bei der Initialisierung des Displays den Identifier 2 lediglich durch 1 ersetzen!!!. Die Firmware ist unter https://github.com/russhughes/st7789_mpy erhältlich; ich habe sie aber auch im Anhang zum Download bereit gestellt.
Sollten Sie (wie ich) auf Ihren TTGOs verschiedene Firmware-Versionen, z. B. 1.12, 1.14 und 1.18 haben, dann können Sie mit Hilfe der folgenden Programmzeilen automatisch den richtigen Identifier benutzen:
Code: Alles auswählen
import os
release = os.uname().release[0:4]
# print(release)
id = 2 # z. B. für V 1.12 und V 1.14
if release == '1.18':
id = 1
spi = SPI(id, baudrate=20000000, polarity=1, sck=Pin(18), mosi=Pin(19))
Welche Neuerungen bringt nun die Version 1.18 gegenüber der Version?
An dieser Stelle möchte ich nur zwei davon angeben:
- Gegenüber der Version 1.14 sind die Zeichensätze mit den Sonderzeichen wieder in die Firmware integriert. Bei dem Programm zu Abb. 1 musste deswegen nur noch der griechische Zeichensatz in den Flash-Speicher geladen werden.
- Es gibt weitere Grafik-Methoden, z. B. eine Methode zum Darstellen von Polygonen (vgl. Abb. 2). Das zugehörige Programm findet man in der Anlage.
Detaillierte Hinweise findet man wieder unter https://github.com/russhughes/st7789_mpy. Da diese Website einem ständigem Wandel unterliegt, habe ich sie in der Anlage als pdf-Datei Doku_zu_V_1_18.pdf hinterlegt.
.