Aha, das hast Du nicht geschrieben ;-)
Dann hast Du wohl verloren. Wenn keiner der vorhandenen FB-Treiber im
Kernel dieses SPI Display unterstützt, wird es nicht funktionieren.
Entweder es gibt eine angepasste Raspbian Distro oder du musst wohl oder
übel den Kernel und die Module neu kompilieren. Ist aber auch keine
Hexerei, gibt dutzende guter Tutorials im Netz.
> Entweder es gibt eine angepasste Raspbian Distro oder du musst wohl oder> übel den Kernel und die Module neu kompilieren. Ist aber auch keine> Hexerei, gibt dutzende guter Tutorials im Netz.
Kann man die Module nicht ohne Kernel neu kompilieren laden,
integrieren? Wie bei Device-tree overlays?
Harry L. schrieb:> Schau mal hier:> https://github.com/notro/fbtft/wiki
bei diesem Link wurde ich leider auch nicht schlau. Klickt man auf FBTFT
Raspbian kommt sofort was mit Touchpanel... aber sorry ich will keine
Touchpanel integrieren.
Du musst das Touchpanel ja nicht nutzen, aber mit diesen Treibern hab
ich bisher noch jedes Display das ich in den Fingern hatte am RPi zum
Laufen bekommen.
Der ILI9341 wird auch unterstützt.
Harry L. schrieb:> Du musst das Touchpanel ja nicht nutzen, aber mit diesen Treibern> hab> ich bisher noch jedes Display das ich in den Fingern hatte am RPi zum> Laufen bekommen.> Der ILI9341 wird auch unterstützt.
phuu ich blick da grad nicht durch, so vom Grundaufbau.
FBTFT schein ja auf meinem System schon vorhanden, nur werden da ja
nicht die device angezeigt wie auf der notro/fbttft/wiki Seite (siehe
ganz oben meine Liste)...
wie bekomme ich nun all die notro devices auf mein Raspbian Jessie?
Dann fehlt auf notro der ST7789V, da stellt sich dann die Frage wo
ändere ich die command/data/gram adressen + Initialisierungen.
Wie gesagt ohne neu kompilieren eines Kernels, ist das möglich?? Danke
epidam schrieb:> Wie gesagt ohne neu kompilieren eines Kernels, ist das möglich?? Danke
Ja, geht ohne den Kernel neu zu bauen.
Das Kernel-Modul muß mit den passenden Parametern geladen werden.
Plug&Play gibts da nicht.
Am besten ist es, sich in /etc/modprobe.d eine Datei mit den Parametern
anzulegen.
Die wird dann automatisch berücksichtigt.
Da hilft nur Einlesen.
Harry L. schrieb:> Am besten ist es, sich in /etc/modprobe.d eine Datei mit den Parametern> anzulegen.> Die wird dann automatisch berücksichtigt.
auf notro steht auch was von:
#######################
Make it permanent (Debian Jessie, Arch Linux, systemd)
Add to file /etc/modules-load.d/fbtft.conf
spi-bcm2835
fbtft_device
(the auto loading of spi-bcm2835 is too late for fbtft_device to find
the spi bus, so it has to be manually loaded)
Add to file /etc/modprobe.d/fbtft.conf
options fbtft_device name=adafruit22
#####################
d.h. damit kann man die device laden...
nur wie kriege ich deren device aufs system?
Einfach die c-Datei oder evtl. die kompilierte in den richtigen Ordner
kopieren?
die Module dürften bereits installiert sein.
Die Device-Nodes (in /dev) entstehen automatisch sobald die Module
erfolgreich geladen werden.
In /etc/modules eingetragene Module werden beim Start automatisch
geladen.
Bei mir sieht das so aus:
root@octopi:~# cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
spi-bcm2835
fbtft_device
flexfb
Mit modprobe kannst du die Module auch manuell laden
Bsp.: modprobe fbtft_device
Mit modinfo <module> kannst du dir die möglichen Parameter anzeigen
lassen.
Harry L. schrieb:> Die Device-Nodes (in /dev) entstehen automatisch sobald die Module> erfolgreich geladen werden.>> In /etc/modules eingetragene Module werden beim Start automatisch> geladen.
und wo finde ich die nicht geladenen Module bzw. das File Ili9431?. Wie
ganz oben in der Auflistung zu sehen ist Ili9431 nicht vorhanden...
Also etwas Linux-Grundwissen wirst du dir schon selbst erarbeiten
müssen.
Linux-Kernel-Module findet man unterhalb von /lib/modules
Es ist aber für dein Vorhaben auch egal, wo die tatsächlich liegen.
Die Mod-Utils finden die.
Ein Modul mit dem Namen ILI9341 gibt es auch nicht. und davon steht auch
nichts im GitHub-Wiki.
Der ILI9341 ist einer der von fbtft unterstützten Controller.
Harry L. schrieb:> Der ILI9341 ist einer der von fbtft unterstützten Controller.
ja und wo wäre das c-File von diesem ILI9341 abgelegt (auf einem
frischen Raspbian Jessie)? Ich glaube nämlich immer noch das ich Diese
irgendwie nachladen muss im internet....
Hallo, ich versuche es gerade gemäss dem ersten Link hier im Thread:
http://marcosgildavid.blogspot.ch/2014/02/getting-...
First Step, Installieren fbtft, bei fbtft steht dann folgendes:
INSTALLATION
Download kernel sources
From Linux 3.15
cd drivers/video/fbdev
git clone https://github.com/notro/fbtft.git
Add to drivers/video/fbdev/Kconfig: source
"drivers/video/fbdev/fbtft/Kconfig"
Add to drivers/video/fbdev/Makefile: obj-y += fbtft/
was heisst installation kernel sources? zudem existiert auf mein
raspbian kein fbdev Ordner :-(
ERGÄNZUNG:
ich sehe gerade:
http://lallafa.de/blog/2015/03/fbtft-setup-on-modern-raspbian/
man kann das zeug heute relativ einfach per devitree overlay aktivieren.
Nur eine Frage bleibt da?
Wo kann ich die Initialisierung und die GRAM/DRAM Befehle Adressen etc.
anpassen? Wo finde ich die Quelldatei, den Treiber-Code zum ILI9341 zum
Beispiel...
Also ich hab den Source nicht gebraucht, und du brauchst den auch nicht.
Der Treiber ist bereits Bestandteil des RPi-Kernel.
s.o. den kannst du mit modprobe direkt laden.
Harry L. schrieb:> Also ich hab den Source nicht gebraucht, und du brauchst den auch nicht.> Der Treiber ist bereits Bestandteil des RPi-Kernel.>> s.o. den kannst du mit modprobe direkt laden.
Also ich habe hier TFT's / LCD's mit Controller wie ILI9341, ST7775R,
ST7701, ST7789V und dann noch ein "graustufen" IC ST7586 und mono IC
ST75320 / ST75256
wo finde ich eine Liste aller unterstützten FBTFT Treiber im RPi-Kernel?
Falls ein Treiber nicht existiert muss ich ein exisiterenden anpassen
und kompilieren. Also irgendwann muss ich wohl oder übel zum Code kommen
wo die GRAM, DRAM Adressen festgelegt werden, wäre cool ein Hinweis zu
bekommen wo wie ich danach suchen kann?
Hoffe letzteres geht auch noch ohne Kernel kompilieren...
überlese ich immer was?
was ich suche ist eine Anleitung wo ich von einem File:
https://github.com/notro/fbtft/blob/master/fb_ili9341.c
zum Beispiel folgende Funktion abändern und das File neu komplieren und
verwenden kann:
static void set_addr_win(struct fbtft_par *par, int xs, int ys, int xe,
int ye)
{
fbtft_par_dbg(DEBUG_SET_ADDR_WIN, par,
"%s(xs=%d, ys=%d, xe=%d, ye=%d)\n", _func_, xs, ys, xe, ye);
/* Column address set */
write_reg(par, 0x2A,
(xs >> 8) & 0xFF, xs & 0xFF, (xe >> 8) & 0xFF, xe & 0xFF);
/* Row adress set */
write_reg(par, 0x2B,
(ys >> 8) & 0xFF, ys & 0xFF, (ye >> 8) & 0xFF, ye & 0xFF);
/* Memory write */
write_reg(par, 0x2C);
}
Also quasi die Werte 0x2A, 0x2B und 0x2C hätte ich gern angepasst....
nur habe ich nur schon das Problem dieses File in meinem Raspbian zu
finden. Und wohl viel schwieriger wird es sowas abzuändern oder
abgeändert verwenden zu können?
Wie kommst du auf das schiefe Brett, daß du in der Lage wärst, einen
Kernel-Treiber nach deinen Vorstellungen anzupassen, wenn du nicht
einmal in der Lage bist, bereits fertige Module zum Laufen zu bringen?
Harry L. schrieb:> Wie kommst du auf das schiefe Brett, daß du in der Lage wärst, einen> Kernel-Treiber nach deinen Vorstellungen anzupassen, wenn du nicht> einmal in der Lage bist, bereits fertige Module zum Laufen zu bringen?
zu Letzteres, sollte man zum laufen bringen mit all den Anleitungen
ja...
Zu ersteres finde ich noch nicht so viel aber z.b das da:
http://www.forum-raspberrypi.de/Thread-fbtft-treiber-anpassen-hinzufuegen-ra8875