Hallo zusammen,
Ich habe einen Pi 3 Model B mit einem 3,5 Display von Waveshare bekommen.
Habe soweit alles gemacht Update Upgrade.
Dann habe ich das Display, wie hier beschriebenhttp://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A) , Installiert. Nun ist aber der Mauszeiger nicht an der Stelle wo ich auf dem Display
Touche ( Siehe Bilder im Anhang rote Markierung = Touchstelle ) was kann da falsch gelaufen sein ?
Waveshare 3,5 Touch screen calibration
-
Thomas601 -
24. Januar 2017 um 08:59 -
Erledigt
Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
-
-
Waveshare 3,5 Touch screen calibration? Schau mal ob du hier fündig wirst!
-
Wie sieht denn aktuell bei Dir /etc/X11/xorg.conf.d/99-calibration.conf aus? Und wie verhält sich der Mauszeiger, wenn Du den Finger nach unten bzw. rechts bewegst? Geht er dann ebenfalls noch unten bzw. rechts oder horizontal, vertikal oder entlang beider Achsen in die jeweils entgegengesetzte Richtung?
-
Die Datei /etc/X11/xorg.conf.d/99-calibration.conf
sieht so bei mir aus.Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "3919 208 236 3913"
Option "SwapAxes" "1"
EndSectionJa wenn ich nach oben gehe geht der zeiger nach links, runter nach recht, rechts nach oben und links nach unten.
-
Dann setze mal bei SwapAxes "0" statt "1". Isses dann besser?
-
Nein ist das gleiche, alles beim alten.
-
X11 (oder ersatzweise den Pi) neu gestartet hast Du aber? Was steht denn in /var/log/Xorg.0.log?
-
Dann setze mal bei SwapAxes "0" statt "1". Isses dann besser?
X11 (oder ersatzweise den Pi) neu gestartet hast Du aber? Was steht denn in /var/log/Xorg.0.log?diese Sieht so aus:
[ 11.834]
X.Org X Server 1.18.4
Release Date: 2016-07-19
[ 11.834] X Protocol Version 11, Revision 0
[ 11.834] Build Operating System: Linux 4.4.26-v7+ armv7l Raspbian
[ 11.834] Current Operating System: Linux raspberrypi 4.4.38-v7+ #938 SMP Thu Dec 15 15:22:21 GMT 2016 armv7l
[ 11.834] Kernel command line: 8250.nr_uarts=1 dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1024 bcm2708_fb.fbheight=600 bcm2709.boardrev=0xa02082 bcm2709.serial=0x53e9190d smsc95xx.macaddr=B8:27:EB:E9:19:0D bcm2708_fb.fbswap=1 bcm2709.uart_clock=48000000 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000 dwc_otg.lpm_enable=0 console=tty1 console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo
[ 11.834] Build Date: 11 November 2016 11:59:59AM
[ 11.834] xorg-server 2:1.18.4-2+rpi1 (https://www.debian.org/support)
[ 11.834] Current version of pixman: 0.33.3
[ 11.835] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 11.835] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 11.835] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Jan 24 11:14:20 2017
[ 11.853] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 11.853] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 11.889] (==) No Layout section. Using the first Screen section.
[ 11.889] (==) No screen section available. Using defaults.
[ 11.889] (**) |-->Screen "Default Screen Section" (0)
[ 11.889] (**) | |-->Monitor "<default monitor>"
[ 11.899] (==) No device specified for screen "Default Screen Section".
Using the first device section listed.
[ 11.899] (**) | |-->Device "Allwinner A10/A13 FBDEV"
[ 11.899] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[ 11.899] (==) Automatically adding devices
[ 11.899] (==) Automatically enabling devices
[ 11.899] (==) Automatically adding GPU devices
[ 11.899] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 11.926] (WW) The directory "/usr/share/fonts/X11/misc" does not exist.
[ 11.926] Entry deleted from font path.
[ 11.926] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[ 11.926] Entry deleted from font path.
[ 11.950] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[ 11.950] Entry deleted from font path.
[ 11.961] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[ 11.961] Entry deleted from font path.
[ 11.961] (==) FontPath set to:
/usr/share/fonts/X11/100dpi/:unscaled,
/usr/share/fonts/X11/Type1,
/usr/share/fonts/X11/100dpi,
built-ins
[ 11.961] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 11.962] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 11.962] (II) Loader magic: 0x54d70f20
[ 11.962] (II) Module ABI versions:
[ 11.962] X.Org ANSI C Emulation: 0.4
[ 11.962] X.Org Video Driver: 20.0
[ 11.962] X.Org XInput driver : 22.1
[ 11.962] X.Org Server Extension : 9.0
[ 11.964] (++) using VT number 7[ 11.964] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[ 11.964] (II) no primary bus or device found
[ 11.983] (II) LoadModule: "glx"
[ 12.048] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 12.256] (II) Module glx: vendor="X.Org Foundation"
[ 12.256] compiled for 1.18.4, module version = 1.0.0
[ 12.256] ABI class: X.Org Server Extension, version 9.0
[ 12.256] (==) AIGLX enabled
[ 12.256] (II) LoadModule: "fbturbo"
[ 12.256] (II) Loading /usr/lib/xorg/modules/drivers/fbturbo_drv.so
[ 12.278] (II) Module fbturbo: vendor="X.Org Foundation"
[ 12.278] compiled for 1.18.4, module version = 0.5.1
[ 12.278] Module class: X.Org Video Driver
[ 12.278] ABI class: X.Org Video Driver, version 20.0
[ 12.278] (II) FBTURBO: driver for framebuffer: fbturbo
[ 12.282] (WW) Falling back to old probe method for fbturbo
[ 12.282] (II) Loading sub module "fbdevhw"
[ 12.282] (II) LoadModule: "fbdevhw"
[ 12.283] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 12.295] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 12.295] compiled for 1.18.4, module version = 0.0.2
[ 12.295] ABI class: X.Org Video Driver, version 20.0
[ 12.296] (II) FBTURBO(0): using /dev/fb1
[ 12.296] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[ 12.296] (II) FBTURBO(0): Creating default Display subsection in Screen section
"Default Screen Section" for depth/fbbpp 16/16
[ 12.296] (==) FBTURBO(0): Depth 16, (==) framebuffer bpp 16
[ 12.296] (==) FBTURBO(0): RGB weight 565
[ 12.296] (==) FBTURBO(0): Default visual is TrueColor
[ 12.296] (==) FBTURBO(0): Using gamma correction (1.0, 1.0, 1.0)
[ 12.296] (II) FBTURBO(0): hardware: fb_ili9486 (video memory: 300kB)
[ 12.296] (**) FBTURBO(0): Option "fbdev" "/dev/fb1"
[ 12.296] (**) FBTURBO(0): Option "SwapbuffersWait" "true"
[ 12.297] (II) FBTURBO(0): processor: Unknown
[ 12.297] (II) FBTURBO(0): checking modes against framebuffer device...
[ 12.297] (II) FBTURBO(0): checking modes against monitor...
[ 12.297] (--) FBTURBO(0): Virtual size is 480x320 (pitch 480)
[ 12.297] (**) FBTURBO(0): Built-in mode "current"
[ 12.297] (==) FBTURBO(0): DPI set to (96, 96)
[ 12.297] (II) Loading sub module "fb"
[ 12.297] (II) LoadModule: "fb"
[ 12.298] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 12.321] (II) Module fb: vendor="X.Org Foundation"
[ 12.321] compiled for 1.18.4, module version = 1.0.0
[ 12.321] ABI class: X.Org ANSI C Emulation, version 0.4
[ 12.321] (II) FBTURBO(0): FBIOBLANK: Invalid argument (Screen blanking not supported by kernel - disabling)
[ 12.363] (II) FBTURBO(0): using backing store heuristics
[ 12.372] (II) FBTURBO(0): can't load 'g2d_23' kernel module
[ 12.372] (II) FBTURBO(0): failed to enable the use of sunxi display controller
[ 12.372] (II) FBTURBO(0): No sunxi-g2d hardware detected (check /dev/disp and /dev/g2d)
[ 12.372] (II) FBTURBO(0): G2D hardware acceleration can't be enabled
[ 12.372] (II) FBTURBO(0): enabled VFP/NEON optimizations
[ 12.373] (==) FBTURBO(0): Backing store enabled
[ 12.396] (==) FBTURBO(0): DPMS enabled
[ 12.396] (II) FBTURBO(0): failed to enable hardware cursor
[ 12.396] (II) FBTURBO(0): no 3D acceleration because the driver has been compiled without libUMP
[ 12.396] (II) FBTURBO(0): if this is wrong and needs to be fixed, please check ./configure log
[ 12.402] (==) RandR enabled
[ 12.466] (II) SELinux: Disabled on system
[ 12.477] (II) AIGLX: Screen 0 is not DRI2 capable
[ 12.477] (EE) AIGLX: reverting to software rendering
[ 14.985] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
[ 14.987] (II) AIGLX: Loaded and initialized swrast
[ 14.987] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[ 15.830] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/event0)
[ 15.830] (**) ADS7846 Touchscreen: Applying InputClass "evdev touchscreen catchall"
[ 15.830] (**) ADS7846 Touchscreen: Applying InputClass "libinput touchscreen catchall"
[ 15.830] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[ 15.831] (II) LoadModule: "libinput"
[ 15.831] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[ 16.079] (II) Module libinput: vendor="X.Org Foundation"
[ 16.079] compiled for 1.18.4, module version = 0.20.0
[ 16.079] Module class: X.Org XInput Driver
[ 16.079] ABI class: X.Org XInput driver, version 22.1
[ 16.079] (II) Using input driver 'libinput' for 'ADS7846 Touchscreen'
[ 16.079] (**) ADS7846 Touchscreen: always reports core events
[ 16.079] (**) Option "Device" "/dev/input/event0"
[ 16.079] (**) Option "_source" "server/udev"
[ 16.080] (II) input device 'ADS7846 Touchscreen', /dev/input/event0 is tagged by udev as: Touchscreen
[ 16.081] (II) input device 'ADS7846 Touchscreen', /dev/input/event0 is a touch device
[ 16.120] (**) Option "config_info" "udev:/sys/devices/platform/soc/http://3f204000.spi/spi_master/spi…t/input0/event0"
[ 16.120] (II) XINPUT: Adding extended input device "ADS7846 Touchscreen" (type: TOUCHSCREEN, id 6)
[ 16.121] (**) Option "AccelerationScheme" "none"
[ 16.121] (**) ADS7846 Touchscreen: (accel) selected scheme none/0
[ 16.121] (**) ADS7846 Touchscreen: (accel) acceleration factor: 2.000
[ 16.121] (**) ADS7846 Touchscreen: (accel) acceleration threshold: 4
[ 16.122] (II) input device 'ADS7846 Touchscreen', /dev/input/event0 is tagged by udev as: Touchscreen
[ 16.122] (II) input device 'ADS7846 Touchscreen', /dev/input/event0 is a touch device
[ 16.123] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/mouse0)
[ 16.123] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[ 16.123] (II) No input driver specified, ignoring this device.
[ 16.123] (II) This device may have been added with another device file. -
-
Hab schon vergessen wi ichs genau gemacht habe aber es war ungefähr so:
1) xrdp installiert damit ich vom PC auf die Grafikoberfläche zugreifen kann
2) Dann das Programm zur Kalibrierung vom Hersteller runtergeladen und händisch installiert (google hat geholfen)
3) Nach reboot konnte ich dann das Programm im Pixel-Menue sehen und aufrufen un den Touchscreen kalibrieren -
Hallo,
ich hab ebenfalls das Problem mit meinem Sunfounder Display. Der Zeiger ist immer woanders als der touch-Punkt. Wenn ich nach rechts ziehe, bewegt sich der Zeiger nach links. Die Installation & Kalibrierung habe ich nach dieser Anleitung durchgeführt, aber immer das selbe Ergebnis. :s
-
Hi,
ich habe die Kalibrierung über das enthaltene Programm durchgeführt und den Code eingefügt.
Meine /etc/X11/xorg.conf.d/99-calibration.conf hat diesen Inhalt:CodeSection "InputClass" Identifier "calibration" MatchProduct "ADS7846 Touchscreen" Option "MinX" "5564" Option "MaxX" "62632" Option "MinY" "61882" Option "MaxY" "4266" Option "SwapXY" "1" # unless it was already set to 1 EndSection
Bewege ich den Finger oder Stift nach:
rechts geht der Zeiger nach oben
links gehts nach unten
oben gehts nach links
unten gehts nach rechtsLG
Micha -
Bewege ich den Finger oder Stift nach
rechts geht der Zeiger nach oben
links gehts nach unten
oben gehts nach links
unten gehts nach rechtsLG
MichaTach'chen,
Du musst einfach nur die Zeile
einfügen. (ich habe mein Display mit ./LCD-show 180 gedreht)und die Matrix wie im Link beschrieben anpassen:
https://wiki.ubuntu.com/X/InputCoordinateTransformation
Der Cursor folgt dann dem Touch-Punkt.
Allerdings habe ich mit dem aktuellen Waveshare Treiber das Problem,
dass der Mouse-Pointer nach rechts neben dem Touch-Point versetzt ist, wenn man am Rand des Displays
etwas anklicken will. Wenn man z.B. auf die Himbeere des LXDE Startmenüs klickt, dann schwebt der Mouse-Cursor
über dem Web-Browser Icon Ich habe versucht die Werte in der 99-calibration.conf
einzustellen, aber je weiter man an den Rand kommt, desto größer wird der Versatz. Nur in der Displaymitte ist
der Cursor direkt unter dem Touch-Point.Eine Option wie man das einstellen kann habe ich nirgends gefunden.
/luetzel
-
Hallo luetzel
konntest du das Problem mit dem vorauseilenden Mouse Pointer klären.
Hab hier auch das Problemrookie1
-
Tach'chen,
ja ich konnte das Problem inzwischen beheben, bin mir aber nicht sicher welche Einstellung letztendlich dafür verantwortlich war.
Deshalb habe ich auch noch nichts Neues hier gepostet. Aber vielleicht hilft es dir, wenn ich die betreffenden Stellen der relevanten
Dateien zum Besten gebe:/boot/config.txt
Codedtoverlay=waveshare35a:rotate=270 dtoverlay=ads7846,cs=1,penirq=17,penirq_pull=2,speed=1000000,keep_vref_on=1,swapxy=1,pmax=255,xohms=60,xmin=200,xmax=3900,ymin=200,ymax=3900
/boot/cmdline.txt
Codedwc_otg.lpm_enable=0 console=tty1 console=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait fbcon=map:1 fbcon=font:ProFont6x11 logo.nologo
/etc/X11/xorg.conf.d/99-calibration.conf
Code
Alles anzeigenIdentifier "calibration" MatchProduct "ADS7846 Touchscreen" Option "TransformationMatrix" "0 1 0 -1 0 1 0 0 1" Option "Calibration" "150 3912 3843 255" Option "MinX" "5245" Option "MaxX" "62133" Option "MinY" "4591" Option "MaxY" "60432" Option "InvertX" "0" #Option "SwapXY" "1" Option "InvertY" "1" EndSection
Ich hatte bisher noch keine Zeit zu prüfen, welche der Optionen wirklich notwendig sind, bzw.
relevant für die Kalibrierung. Da kommt mir Vieles irgendwie redundant vor - aber weil es funktioniert
habe ich es vorläufig so gelassen.Siehe auch: https://wiki.ubuntu.com/X/InputCoordinateTransformation
Die folgenden Dateien waren verlinkt mit den Dateien in /usr/share/X11/xorg.conf.d.
Ich habe die symbolic links entfernt und die Dateien nach /etc/X11/xorg.conf.d kopiert und verändert,
weil ich das "Gefühl" hatte, dass die beim Starten von X.org einfach ignoriert oder nicht gelesen wurden:/etc/X11/xorg.conf.d/10-evdev.conf
Code
Alles anzeigenSection "InputClass" Identifier "evdev pointer catchall" MatchIsPointer "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection Section "InputClass" Identifier "evdev keyboard catchall" MatchIsKeyboard "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection Section "InputClass" Identifier "evdev touchpad catchall" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection Section "InputClass" Identifier "evdev tablet catchall" MatchIsTablet "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection Section "InputClass" Identifier "evdev touchscreen catchall" MatchIsTouchscreen "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection
Gefehlt haben bei mir außerdem die Pakete:
Und ich habe auch noch eine /etc/pointercal mit folgendem Inhalt angelegt:
Und mit:
überprüft (auf der Konsole, kein X.org gestartet).
Auch wenn mein Display von Waveshare ist, bin ich Teilen der Adafruit-Anleitung gefolgt, die
hier zu finden ist:https://learn.adafruit.com/adafruit-2-8-p…ive-touchscreen
(Beim Adafruit Display ist lediglich ein anderer Controller-Chip verbaut ft6x06_ts d.h.
es wird ein anderes Kernel-Modul geladen, ansonsten sieht die Konfiguration recht
ähnlich aus.)Dort gibt es sogar einen "Python-Helper", der den Prozess der Kalibrierung automatisieren soll:
https://raw.githubusercontent.com/adafruit/PiTFT…ft_touch_cal.pyWenn man das Skript mit dem Waveshare Display verwendet, wird natürlich nur der pointercal-Teil ausgeführt.
Ich wollte es deshalb für das Waveshare Display anpassen, damit die korrekten Einträge in /etc/X11/xorg.conf.d/99-calibration.conf
gemacht werden.Ich bin aus Zeitgründen aber noch nicht dazu gekommen.
Beste Grüße,
/luetzel -
Danke.
ich werde mich mal durcharbeiten, und bei Fragen mich einfach nochmal melden, bzw wenn es vielleicht nur eine Einstellung damit melden
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!