Hallo, mein Raspbian Jessie zeigt folgende fbtft_devices an (siehe ganz unten). Wie kann ich ein ILI9341 und ST7789V device einfach hinzufügen? Leider fällt es mir schwer hierzu ein Tutorial zu finden. pi@raspberrypi:~ $ sudo modprobe fbtft_device name=list modprobe: ERROR: could not insert 'fbtft_device': Operation canceled pi@raspberrypi:~ $ dmesg | grep fbtft [ 3000.852671] fbtft: module is from the staging directory, the quality is unkno wn, you have been warned. [ 3000.857651] fbtft_device: module is from the staging directory, the quality i s unknown, you have been warned. [ 3000.858755] fbtft_device: Supported displays: [ 3000.858764] fbtft_device: adafruit18 [ 3000.858771] fbtft_device: adafruit18_green [ 3000.858779] fbtft_device: adafruit22 [ 3000.858787] fbtft_device: adafruit22a [ 3000.858795] fbtft_device: adafruit28 [ 3000.858803] fbtft_device: adafruit13m [ 3000.858810] fbtft_device: admatec_c-berry28 [ 3000.858818] fbtft_device: agm1264k-fl [ 3000.858826] fbtft_device: dogs102 [ 3000.858833] fbtft_device: er_tftm050_2 [ 3000.858841] fbtft_device: er_tftm070_5 [ 3000.858849] fbtft_device: ew24ha0 [ 3000.858856] fbtft_device: ew24ha0_9bit [ 3000.858864] fbtft_device: flexfb [ 3000.858871] fbtft_device: flexpfb [ 3000.858879] fbtft_device: freetronicsoled128 [ 3000.858887] fbtft_device: hx8353d [ 3000.858894] fbtft_device: hy28a [ 3000.858901] fbtft_device: hy28b [ 3000.858909] fbtft_device: ili9481 [ 3000.858916] fbtft_device: itdb24 [ 3000.858924] fbtft_device: itdb28 [ 3000.858931] fbtft_device: itdb28_spi [ 3000.858938] fbtft_device: mi0283qt-2 [ 3000.858946] fbtft_device: mi0283qt-9a [ 3000.858954] fbtft_device: mi0283qt-v2 [ 3000.858961] fbtft_device: nokia3310 [ 3000.858969] fbtft_device: nokia3310a [ 3000.858976] fbtft_device: nokia5110 [ 3000.858984] fbtft_device: piscreen [ 3000.858991] fbtft_device: pitft [ 3000.858998] fbtft_device: pioled [ 3000.859006] fbtft_device: rpi-display [ 3000.859013] fbtft_device: s6d02a1 [ 3000.859021] fbtft_device: sainsmart18 [ 3000.859028] fbtft_device: sainsmart32 [ 3000.859036] fbtft_device: sainsmart32_fast [ 3000.859043] fbtft_device: sainsmart32_latched [ 3000.859051] fbtft_device: sainsmart32_spi [ 3000.859059] fbtft_device: spidev [ 3000.859066] fbtft_device: ssd1331 [ 3000.859073] fbtft_device: tinylcd35 [ 3000.859081] fbtft_device: tm022hdh26 [ 3000.859088] fbtft_device: tontec35_9481 [ 3000.859096] fbtft_device: tontec35_9486 [ 3000.859104] fbtft_device: upd161704 [ 3000.859111] fbtft_device: waveshare32b [ 3000.859119] fbtft_device: waveshare22 [ 3000.859126] fbtft_device:
Google Suchbegriffe: Raspberry ILI9341 framebuffer Erster Link: http://marcosgildavid.blogspot.ch/2014/02/getting-ili9341-spi-screen-working-on.html Tönt schon mal vielversprechend
diesen Link habe ich auch gesehen, aber da steht was von Kernel neu kompilieren, und das will ich wenn möglich vermeiden...?
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.
:
Bearbeitet durch User
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
und das hier: https://github.com/notro/fbtft/wiki/Development? treiber sind in lib/module/video/fbtft aber ja, ich glaube da liegt noch ein weiter weg vor mir...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.