Posts by WimAdriaens


    What kind of driver does it need? Any example/tutorial how to set it up on some other distro?

    It's a widely used PiTFT plus version. The drivers are build in in the latest raspbian version.

    But for some reason Kodi always forces to HDMI display. I already got the display at work for various other applications but can't figure out how to get Kodi forced to use this display.

    Here's the procedure for installing the drivers if not yet in the package.
    Overview | Adafruit PiTFT - 2.8" Touchscreen Display for Raspberry Pi | Adafruit Learning System

    So, the waveshare thing is working.

    Next challenge in this story: do the same with the adafruit pitft 2.8" resistive touchscreen. It's GPIO connected instead of HDMI.

    Any suggestions where I do start on this?

    I started all over again and came up with the same problems.

    But apparently it has something to do with how the touchscreen is made. Mine has a resistive touchpad that works as a mouse. So I'm pretty sure anything we tried was going in the wrong direction. When loading a brand new Jessie Raspbian the touch works almost out-of the box. But I need to configure things in a "99-calibration.conf" file.
    Also, the touchscreen gives data through /dev/input/event2 and not "hidraw2" as I always thought.

    Has anyone any new thoughts about this? The combination of a small touchscreen and a kodi-based mediaplayer is definitely worth the effort. Unfortunately I don't have the right development knowledge to figure out the bits and pieces...

    No worry. I just had a calibration screen in kodi once. But the picture was too small and touch didn't workas expected. After reboot I can do the calibration once again but only once after every reboot.
    You already helped me a lot just by asking the right questions.
    If I find out how to get it working, I'll send you a copy of my project.

    WimPiMedia:~ # systemctl stop kodi
    tsWimPiMedia:~ # ts_calibrate.sh
    touchscreen device: /dev/hidraw2
    Stopping Kodi and touchscreen daemon...
    Failed to stop ts_uinput_touch.service: Unit ts_uinput_touch.service not loaded.
    waveshare raw data len: 25 bytes
    Linear calibration constants: 0 369384 -381300 0 221630 -228780 65536
    xres = 1, yres = 1

    Here it freezes. Touch doesn't give any input.
    I got out with CTRL+C

    WimPiMedia:~ # evtest
    No device specified, trying to scan all of /dev/input/event*
    Available devices:
    /dev/input/event0: Microsoft Microsoft 3-Button Mouse with IntelliEye(TM)
    /dev/input/event1: HID 046a:0001
    /dev/input/event2: BYZHYYZHY By ZH851
    Select the device event number [0-2]: 2
    Input driver version is 1.0.1
    Input device ID: bus 0x3 vendor 0xeef product 0x5 version 0x110
    Input device name: "BYZHYYZHY By ZH851"
    Supported events:
    Event type 0 (EV_SYN)
    Event type 1 (EV_KEY)
    Event code 330 (BTN_TOUCH)
    Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
    Value 397
    Min 0
    Max 4095
    Event code 1 (ABS_Y)
    Value 3711
    Min 0
    Max 4095
    Event code 47 (ABS_MT_SLOT)
    Value 0
    Min 0
    Max 1
    Event code 53 (ABS_MT_POSITION_X)
    Value 0
    Min 0
    Max 4095
    Event code 54 (ABS_MT_POSITION_Y)
    Value 0
    Min 0
    Max 4095
    Event code 57 (ABS_MT_TRACKING_ID)
    Value 0
    Min 0
    Max 65535
    Properties:
    Property type 1 (INPUT_PROP_DIRECT)
    Testing ... (interrupt to exit)
    Event: time 1485102062.756399, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 19
    Event: time 1485102062.756399, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 276
    Event: time 1485102062.756399, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 329
    Event: time 1485102062.756399, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
    Event: time 1485102062.756399, type 3 (EV_ABS), code 0 (ABS_X), value 276
    Event: time 1485102062.756399, type 3 (EV_ABS), code 1 (ABS_Y), value 329
    Event: time 1485102062.756399, -------------- SYN_REPORT ------------
    Event: time 1485102062.788379, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 272
    Event: time 1485102062.788379, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 330
    Event: time 1485102062.788379, type 3 (EV_ABS), code 0 (ABS_X), value 272
    Event: time 1485102062.788379, type 3 (EV_ABS), code 1 (ABS_Y), value 330
    Event: time 1485102062.788379, -------------- SYN_REPORT ------------
    Event: time 1485102062.820375, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 275
    Event: time 1485102062.820375, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 335
    Event: time 1485102062.820375, type 3 (EV_ABS), code 0 (ABS_X), value 275
    Event: time 1485102062.820375, type 3 (EV_ABS), code 1 (ABS_Y), value 335
    Event: time 1485102062.820375, -------------- SYN_REPORT ------------
    Event: time 1485102062.852371, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
    Event: time 1485102062.852371, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
    Event: time 1485102062.852371, -------------- SYN_REPORT ------------
    Event: time 1485102064.260380, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 20
    Event: time 1485102064.260380, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 3767
    Event: time 1485102064.260380, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 429
    Event: time 1485102064.260380, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
    Event: time 1485102064.260380, type 3 (EV_ABS), code 0 (ABS_X), value 3767
    Event: time 1485102064.260380, type 3 (EV_ABS), code 1 (ABS_Y), value 429
    Event: time 1485102064.260380, -------------- SYN_REPORT ------------
    Event: time 1485102064.292377, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 431
    Event: time 1485102064.292377, type 3 (EV_ABS), code 1 (ABS_Y), value 431
    Event: time 1485102064.292377, -------------- SYN_REPORT ------------
    Event: time 1485102064.324376, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 3781
    Event: time 1485102064.324376, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 424
    Event: time 1485102064.324376, type 3 (EV_ABS), code 0 (ABS_X), value 3781
    Event: time 1485102064.324376, type 3 (EV_ABS), code 1 (ABS_Y), value 424
    Event: time 1485102064.324376, -------------- SYN_REPORT ------------
    Event: time 1485102064.356372, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
    Event: time 1485102064.356372, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
    Event: time 1485102064.356372, -------------- SYN_REPORT ------------
    Event: time 1485102066.612377, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 21
    Event: time 1485102066.612377, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 216
    Event: time 1485102066.612377, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 3871
    Event: time 1485102066.612377, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
    Event: time 1485102066.612377, type 3 (EV_ABS), code 0 (ABS_X), value 216
    Event: time 1485102066.612377, type 3 (EV_ABS), code 1 (ABS_Y), value 3871
    Event: time 1485102066.612377, -------------- SYN_REPORT ------------
    Event: time 1485102066.756372, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
    Event: time 1485102066.756372, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
    Event: time 1485102066.756372, -------------- SYN_REPORT ------------
    Event: time 1485102067.844378, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 22
    Event: time 1485102067.844378, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 2263
    Event: time 1485102067.844378, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 2062
    Event: time 1485102067.844378, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
    Event: time 1485102067.844378, type 3 (EV_ABS), code 0 (ABS_X), value 2263
    Event: time 1485102067.844378, type 3 (EV_ABS), code 1 (ABS_Y), value 2062
    Event: time 1485102067.844378, -------------- SYN_REPORT ------------
    Event: time 1485102067.940378, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 2258
    Event: time 1485102067.940378, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 2067
    Event: time 1485102067.940378, type 3 (EV_ABS), code 0 (ABS_X), value 2258
    Event: time 1485102067.940378, type 3 (EV_ABS), code 1 (ABS_Y), value 2067
    Event: time 1485102067.940378, -------------- SYN_REPORT ------------
    Event: time 1485102068.004372, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
    Event: time 1485102068.004372, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
    Event: time 1485102068.004372, -------------- SYN_REPORT ------------
    [hr]
    Touch is doing something anyway. What do you mean with "irc"?
    [hr]
    so, with evtest touch is working.

    when i try to start the touchscreen service manually I get this error:

    systemctl start ts_uinput_touch
    Failed to start ts_uinput_touch.service: Unit ts_uinput_touch.service not found.

    Getting closer every minute

    WimPiMedia:~ # pastebinit /sys/class/hidraw/hidraw*/device/uevent
    BVNQ
    WimPiMedia:~ # dmesg | pastebinit
    ISbC
    WimPiMedia:~ # lsusb -vv | pastebinit
    can't get device qualifier: Resource temporarily unavailable
    can't get debug descriptor: Resource temporarily unavailable
    can't get debug descriptor: Resource temporarily unavailable
    can't get debug descriptor: Resource temporarily unavailable
    can't get debug descriptor: Resource temporarily unavailable
    can't get debug descriptor: Resource temporarily unavailable
    can't get device qualifier: Resource temporarily unavailable
    can't get debug descriptor: Resource temporarily unavailable
    VSIG
    [hr]
    EVTEST gives:

    WimPiMedia:~ # evtest
    No device specified, trying to scan all of /dev/input/event*
    Available devices:
    /dev/input/event0: Microsoft Microsoft 3-Button Mouse with IntelliEye(TM)
    /dev/input/event1: HID 046a:0001
    /dev/input/event2: BYZHYYZHY By ZH851
    Select the device event number [0-2]: 2
    Input driver version is 1.0.1
    Input device ID: bus 0x3 vendor 0xeef product 0x5 version 0x110
    Input device name: "BYZHYYZHY By ZH851"
    Supported events:
    Event type 0 (EV_SYN)
    Event type 1 (EV_KEY)
    Event code 330 (BTN_TOUCH)
    Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
    Value 648
    Min 0
    Max 4095
    Event code 1 (ABS_Y)
    Value 705
    Min 0
    Max 4095
    Event code 47 (ABS_MT_SLOT)
    Value 0
    Min 0
    Max 1
    Event code 53 (ABS_MT_POSITION_X)
    Value 0
    Min 0
    Max 4095
    Event code 54 (ABS_MT_POSITION_Y)
    Value 0
    Min 0
    Max 4095
    Event code 57 (ABS_MT_TRACKING_ID)
    Value 0
    Min 0
    Max 65535
    Properties:
    Property type 1 (INPUT_PROP_DIRECT)
    Testing ... (interrupt to exit)
    ***********************************************
    This device is grabbed by another process.
    No events are available to evtest while the
    other grab is active.
    In most cases, this is caused by an X driver,
    try VT-switching and re-run evtest again.
    Run the following command to see processes with
    an open fd on this device
    "fuser -v /dev/input/event2"
    ***********************************************

    1. No background image
    2. Yes, screen works well. Mousepounter with mouse is ok.
    3.ts_calibrate.sh give error:

    WimPiMedia:~ # systemctl stop kodi
    WimPiMedia:~ # ts_calibrate.sh
    PRODUCT_VID_PID: 00000EEF:00000110

    device: /sys/class/hidraw/hidraw0/device/uevent

    device: /sys/class/hidraw/hidraw1/device/uevent

    device: /sys/class/hidraw/hidraw2/device/uevent
    touchscreen device:
    Stopping Kodi and touchscreen daemon...
    Failed to stop ts_uinput_touch.service: Unit ts_uinput_touch.service not loaded.
    ts_open: No such file or directory

    When I look into ts_calibrate.sh:

    oe_setup_addon service.touchscreen

    if [ -d /usr/share/kodi/addons/service.touchscreen ]; then
    # addon included in image
    ADDON_DIR="/usr/share/kodi/addons/service.touchscreen"
    fi

    the "service.touchscreen" is not there.

    Display resolution is 800 x 480

    Indeed, I figured that out in the mean time. Thanks.

    When I run the calibration from kodi I get this error in kodi.log

    12:23:27.417 T:1772090272 WARNING: COMXImageFile::GetCodingType progressive images not supported by decoder
    12:23:27.417 T:1772090272 NOTICE: LoadJpeg: unable to load /storage/.kodi/addons/service.touchscreen/resources/media/background.jpg

    The image is there.

    Tried to change the PID to 0110 but that gave no different behaviour.

    Although I feel I'm getting close ...

    These setting are found under /storage/.kodi/addons/service.touchscreen/config on my system. Any idea if that could be an issue?

    Par of the content is:

    # change vid/pid for waveshare touchscreen device
    PRODUCT_VID=0EEF
    PRODUCT_PID=0005

    # device set directly or find automaticaly at the end of this script
    export TSLIB_TSDEVICE=""
    #export TSLIB_TSDEVICE="/dev/hidrawN"

    export TSLIB_PLUGINDIR=$ADDON_DIR/lib
    export TSLIB_CONSOLEDEVICE=none
    export TSLIB_FBDEVICE=/dev/fb0
    export TSLIB_CALIBFILE=/storage/.kodi/userdata/addon_data/service.touchscreen/pointercal
    export TSLIB_CONFFILE=/storage/.kodi/userdata/addon_data/service.touchscreen/ts.conf

    export TSLIB_RES_X=800
    export TSLIB_RES_Y=480


    When I try manual calibration, I get:

    LibreELEC (official) Version: 7.95.1
    WimPiMedia:~ # cd /storage/.kodi/addons/service.touchscreen
    WimPiMedia:~/.kodi/addons/service.touchscreen # ls
    addon.xml calibrate.py lock-screen.py service.py
    bin config resources system.d
    WimPiMedia:~/.kodi/addons/service.touchscreen # python calibrate.py
    Traceback (most recent call last):
    File "calibrate.py", line 23, in <module>
    import xbmc
    ImportError: No module named xbmc
    WimPiMedia:~

    Well, the point is with calibration I don't get the crosshair on my screen but the panel does respond only in a very small area of the touchpanel.
    If at least I would know the syntax that is in the file, I could experiment with some settings.

    I recently made it to get my configuration work except from the "touch" part.

    RPI3 with waveshare 5inch HDMI LCD (B)

    I made it untill the point that the display is working well but the touch area is only in a very small part of the screen. It's so small I even don't
    get to the point of calibrating the thing.
    I'm figuring out which "default" values I need to set in the pointercal file so I get at least a larger touch area to get the calibration done afterwards?
    Anyone can give me a dump of that file?