This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM3358: Touchscreen calibration fails

Part Number: AM3358


Tool/software: Linux

Hi Ti,

      I am trying to integrate a 4-wire resistive touch panel with my AM3358 custom board based on BBB.The board can boot up and Matrix-Gui launched successfully.

     But I got a problem when I tried to calibrate the touch screen.I can see the cross on the screen after using weston-calibrator,however there's a wrong result after fininshing the calibration :

root@am335x-evm:/usr/bin# weston-calibrator
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
Calibration values: 0.000000 -388.560181 -nan 0.000000 -182.137589 -nan

   The touch panel doesn't work. Testing with evtest showed that the  the X-Y coordinates are now changed but the values looks not right.I have checked the connecting wires on touchscreen which is correct.Here is the relative node configuration in the dts file:

&tscadc {
status = "okay";
tsc {
ti,wires = <4>;
ti,x-plate-resistance = <610>;
ti,coordinate-readouts = <5>;
ti,wire-config = <0x00 0x11 0x22 0x33>;
};
adc {
ti,adc-channels = <4 5 6 7>;
};

};

The screen size is 10.1'.

The SDK version : ti-processor-sdk-linux-am335x-evm-04.00.00.04.

Any assistance will be grateful!

   

  • The software team have been notified. They will respond here.
  • Hello tyrael,

    Can you export this parameter and see if this fixes the mismatching coordinates?
    export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS="rotate=180"

    Best regards,
    Kemal

  • Hi Kemal,
    Thanks for your reply.
    I did what you suggest and nothing changed.
  • See <linux-version>/Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt

    Can you add these properties to your touch screen node and retry?

    touchscreen-size-x = <horizontal resolution pixels>
    touchscreen-size-y = <vertical resolution in pixels>

  • I will try and update this thread on Monday.
    Thanks again!
  • If the touchscreen sizing doesn't help, compare your touch screen wiring to adc channels with this one of the am335x evaluation module and reorder the touch signals if they are differently tied like "ti,wire-config = <0x01 0x10 0x23 0x32>;".
  • Hi Kemal,

         Sorry for the delay! I reordered the touch signals,but that didn't help. There's no touchscreen node in my dts since I use the am335x-evmsk as reference design.Do I have to create one in the file?

        By the way , my screen's resolution is 1280x800 , could it affects the touchscreen co-ordinates?

        Below is weston log:

    Date: 2017-06-28 UTC                                                                                

    [20:20:31.457] weston 1.11.0                                                                        

                                                                       

                  Bug reports to:

    weston&version=1.11.0                                                                              

                  Build: 1.10.93-2-g2d825ed configure.ac: bump to version 1.11.0 for the official relea

    se (2016-05-31 17:10:40 -0700)                                                                      

    [20:20:31.457] OS: Linux, 4.9.28-geed43d1050, #1 PREEMPT Thu Dec 14 15:36:05 CST 2017, armv7l      

    [20:20:31.459] Using config file '/etc//weston.ini'                                                

    [20:20:31.462] Output repaint window is 7 ms maximum.                                              

    [20:20:31.465] Loading module '/usr/lib/weston/drm-backend.so'                                      

    [20:20:31.496] initializing drm backend                                                            

    [20:20:31.521] using /dev/dri/card0                                                                

    [20:20:31.524] Loading module '/usr/lib/weston/gl-renderer.so'                                      

    failed to load module: /usr/lib/gbm/gbm_dri.so: cannot open shared object file: No such file or dire

    ctory                                                                                              

    failed to load module: /usr/lib/gbm/gbm_gallium_drm.so: cannot open shared object file: No such file

    or directory                                                                                      

    loaded module : gbm_pvr.so                                                                          

    found valid GBM backend : gbm_pvr.so                                                                

    [20:20:31.670] warning: either no EGL_EXT_platform_base support or specific platform support; fallin

    g back to eglGetDisplay.                                                                            

    [20:20:31.713] warning: EGL_EXT_buffer_age not supported. Performance could be affected.            

    [20:20:31.714] Retrieving EGL client extension string failed.                                      

    [20:20:31.719] input device 'ti-tsc', /dev/input/event0 is tagged by udev as: Touchscreen          

    [20:20:31.719] input device 'ti-tsc', /dev/input/event0 is a touch device                          

    [20:20:31.836] EGL version: 1.4 build 1.14@3699939 (MAIN)                                          

    [20:20:31.836] EGL vendor: Imagination Technologies                                                

    [20:20:31.836] EGL client APIs: OpenGL_ES                                                          

    [20:20:31.836] EGL extensions: EGL_IMG_client_api_ogl EGL_KHR_image                                

                  EGL_KHR_image_base EGL_KHR_gl_texture_2D_image                                      

                  EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image                      

                  EGL_KHR_vg_parent_image EGL_IMG_cl_image EGL_KHR_fence_sync                          

                  EGL_IMG_context_priority EGL_IMG_hibernate_process                                  

                  EGL_IMG_image_plane_attribs EGL_KHR_surfaceless_context                              

                  EGL_KHR_wait_sync EGL_KHR_create_context                                            

                  EGL_WL_bind_wayland_display EGL_EXT_image_dma_buf_import                            

    [20:20:31.836] GL version: OpenGL ES 2.0 build 1.14@3699939 (MAIN)                                  

    [20:20:31.836] GLSL version: OpenGL ES GLSL ES 1.00 build 1.14@3699939 (MAIN)                      

    [20:20:31.836] GL vendor: Imagination Technologies                                                  

    [20:20:31.836] GL renderer: PowerVR SGX 530                                                        

    [20:20:31.836] GL extensions: GL_OES_rgb8_rgba8 GL_OES_depth24                                      

                  GL_OES_vertex_half_float GL_OES_texture_float                                        

                  GL_OES_texture_half_float GL_OES_element_index_uint                                  

                  GL_OES_mapbuffer GL_OES_fragment_precision_high                                      

                  GL_OES_compressed_ETC1_RGB8_texture GL_OES_EGL_image                                

                  GL_OES_EGL_image_external GL_OES_required_internalformat                            

                  GL_OES_depth_texture GL_OES_get_program_binary                                      

                  GL_OES_packed_depth_stencil GL_OES_standard_derivatives                              

                  GL_OES_vertex_array_object GL_OES_egl_sync                                          

                  GL_OES_surfaceless_context GL_EXT_discard_framebuffer                                

                  GL_EXT_blend_minmax GL_EXT_multi_draw_arrays                                        

                  GL_EXT_multisampled_render_to_texture GL_EXT_shader_texture_lod                      

                  GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg                                    

                  GL_IMG_shader_binary GL_IMG_texture_compression_pvrtc                                

                  GL_IMG_texture_npot GL_IMG_texture_format_BGRA8888                                  

                  GL_IMG_read_format GL_IMG_program_binary                                            

                  GL_IMG_uniform_buffer_object                                                        

                  GL_IMG_multisampled_render_to_texture GL_KHR_debug                                  

    [20:20:31.837] GL ES 2 renderer features:                                                          

                  read-back format: RGBA                                                              

                  wl_shm sub-image to texture: no                                                      

                  EGL Wayland extension: yes                                                          

    [20:20:31.837] Chosen EGL config details:                                                          

                  RGBA bits: 8 8 8 8                                                                  

                  swap interval range: 1 - 1                                                          

    [20:20:31.837] cursor buffers unavailable, using gl cursors                                        

    [20:20:31.837] Initialized backlight, device /sys/class/backlight/backlight                        

    [20:20:31.838] Applying calibration: 0.000000 -364.942505 -nan 0.000000 -171.066803 -nan (normalized

    -nan -nan)                                                                                        

    [20:20:31.839] EDID data 'LNX', 'Linux WXGA', 'Linux #0'                                            

    [20:20:31.839] Output LVDS-1, (connector 26, crtc 24)                                              

                  mode 1280x800@60.0, preferred, current                                              

    [20:20:31.839] Compositor capabilities:                                                            

                  arbitrary surface rotation: yes                                                      

                  screen capture uses y-flip: yes                                                      

                  presentation clock: CLOCK_MONOTONIC, id 1                                            

    [20:20:31.844] Loading module '/usr/lib/weston/desktop-shell.so'                                    

    [20:20:31.850] launching '/usr/libexec/weston-keyboard'                                            

    [20:20:31.860] launching '/usr/libexec/weston-desktop-shell'                                        

    [20:20:32.059] DRM: DPMS: failed property set for LVDS-1                                            

    could not load cursor 'dnd-move'                                                                    

    could not load cursor 'dnd-copy'                                                                    

    could not load cursor 'dnd-none'                                                                    

    could not load cursor 'dnd-move'                                                                    

    could not load cursor 'dnd-copy'                                                                    

    could not load cursor 'dnd-none'                                                                    

    [20:23:20.237] SYN_DROPPED event from "ti-tsc" - some input events have been lost.                  

    [20:23:21.670] SYN_DROPPED event from "ti-tsc" - some input events have been lost.  

  • I made some test:

    1.I modified the ti_am335x_tsc file to output the co-ordinates value when screen is touched.

    static void titsc_read_coordinates(struct titsc *ts_dev,

    u32 *x, u32 *y, u32 *z1, u32 *z2)

    {

    unsigned int yvals[7], xvals[7];

    unsigned int i, xsum = 0, ysum = 0;

    unsigned int creads = ts_dev->coordinate_readouts;

    for (i = 0; i < creads; i++) {

    yvals[i] = titsc_readl(ts_dev, REG_FIFO0);

    yvals[i] &= 0xfff;

    }

    *z1 = titsc_readl(ts_dev, REG_FIFO0);

    *z1 &= 0xfff;

    *z2 = titsc_readl(ts_dev, REG_FIFO0);

    *z2 &= 0xfff;

    for (i = 0; i < creads; i++) {

    xvals[i] = titsc_readl(ts_dev, REG_FIFO0);

    xvals[i] &= 0xfff;

    }

    /*

    * If co-ordinates readouts is less than 4 then

    * report the average. In case of 4 or more

    * readouts, sort the co-ordinate samples, drop

    * min and max values and report the average of

    * remaining values.

    */

    if (creads <=  3) {

    for (i = 0; i < creads; i++) {

    ysum += yvals[i];

    xsum += xvals[i];

    }

    ysum /= creads;

    xsum /= creads;

    } else {

    sort(yvals, creads, sizeof(unsigned int),

        titsc_cmp_coord, NULL);

    sort(xvals, creads, sizeof(unsigned int),

        titsc_cmp_coord, NULL);

    for (i = 1; i < creads - 1; i++) {

    ysum += yvals[i];

    xsum += xvals[i];

    }

    ysum /= creads - 2;

    xsum /= creads - 2;

    }

    *y = ysum;

    *x = xsum;

    // added by tyrael

          printk(KERN_INFO"xsum is %d/n",xsum);

          printk(KERN_INFO"ysum is %d/n",ysum);

    }

    2. exeuted " weston-calibrator" to get coordinates' value.Below is the result:

      A. when I touched the lower-left corner of the screen ,the values were:

      xsum is 247[ 2162.954325] ysum is 3684 

     xsum is 248[ 2162.959587] ysum is 3683 

     xsum is 246[ 2162.964932] ysum is 3685
     xsum is 245[ 2162.970255] ysum is 3685
     xsum is 246[ 2162.975621] ysum is 3685
     xsum is 243[ 2162.980881] ysum is 3682
     xsum is 243[ 2162.986282] ysum is 3684
     xsum is 245[ 2162.991598] ysum is 3684
     xsum is 245[ 2162.997002] ysum is 3682
     xsum is 246[ 2163.002341] ysum is 3684
     xsum is 243[ 2163.007690] ysum is 3683
     xsum is 243[ 2163.013031] ysum is 3683
     xsum is 245[ 2163.018223] ysum is 3685
     xsum is 244[ 2163.023499] ysum is 3684
     xsum is 244[ 2163.028767] ysum is 3683
     xsum is 245[ 2163.034034] ysum is 3684
     xsum is 4095[ 2163.039382] ysum is 3844

       B.when I touched the upper-left corner of the screen ,the values were:

    xsum is 291[ 2310.332506] ysum is 430
    xsum is 290[ 2310.337794] ysum is 430
    xsum is 290[ 2310.343032] ysum is 430
    xsum is 291[ 2310.348230] ysum is 431
    xsum is 291[ 2310.353410] ysum is 430
    xsum is 290[ 2310.358558] ysum is 428
    xsum is 289[ 2310.363689] ysum is 432
    xsum is 292[ 2310.368758] ysum is 432
    xsum is 290[ 2310.373835] ysum is 433
    xsum is 290[ 2310.378902] ysum is 433
    xsum is 289[ 2310.383962] ysum is 434
    xsum is 288[ 2310.389048] ysum is 440
    xsum is 287[ 2310.394139] ysum is 442

      C.when I touched the upper-right corner of the screen,the values were:

    xsum is 3864[ 2432.843337] ysum is 499
    xsum is 3863[ 2432.848594] ysum is 497
    xsum is 3861[ 2432.853876] ysum is 496
    xsum is 3861[ 2432.859194] ysum is 497
    xsum is 3862[ 2432.864466] ysum is 497
    xsum is 3862[ 2432.869746] ysum is 498
    xsum is 3861[ 2432.875132] ysum is 495
    xsum is 3862[ 2432.880421] ysum is 494
    xsum is 3860[ 2432.885825] ysum is 496
    xsum is 3862[ 2432.891120] ysum is 496
    xsum is 3864[ 2432.896504] ysum is 493
    xsum is 3864[ 2432.901728] ysum is 488
    xsum is 3865[ 2432.907047] ysum is 486
    xsum is 3865[ 2432.912298] ysum is 485
    xsum is 3869[ 2432.917621] ysum is 482
    xsum is 3870[ 2432.922856] ysum is 481
    xsum is 3873[ 2432.928218] ysum is 477
    xsum is 3876[ 2432.933439] ysum is 474
    xsum is 3878[ 2432.938646] ysum is 473
    xsum is 3882[ 2432.943909] ysum is 472
    xsum is 3883[ 2432.949136] ysum is 472
    xsum is 3882[ 2432.954372] ysum is 472
    xsum is 3883[ 2432.959634] ysum is 473
    xsum is 3881[ 2432.964951] ysum is 472
    xsum is 3883[ 2432.970146] ysum is 475
    xsum is 3884[ 2432.975400] ysum is 471
    xsum is 3883[ 2432.980586] ysum is 474
    xsum is 3883[ 2432.985844] ysum is 473
    xsum is 3884[ 2432.991059] ysum is 472
    xsum is 3885[ 2432.996309] ysum is 471
    xsum is 3884[ 2433.001515] ysum is 473
    xsum is 3885[ 2433.006791] ysum is 474

    D.when I touched the lower-right corner of the screen,the values were:

    xsum is 3710[ 2540.032423] ysum is 3580
    xsum is 3711[ 2540.037877] ysum is 3582
    xsum is 3711[ 2540.043225] ysum is 3581
    xsum is 3708[ 2540.048570] ysum is 3582
    xsum is 3709[ 2540.053940] ysum is 3581
    xsum is 3711[ 2540.059267] ysum is 3583
    xsum is 3710[ 2540.064659] ysum is 3581
    xsum is 3710[ 2540.070006] ysum is 3583
    xsum is 3710[ 2540.075495] ysum is 3581
    xsum is 3711[ 2540.080854] ysum is 3584
    xsum is 3711[ 2540.086298] ysum is 3583
    xsum is 3709[ 2540.091684] ysum is 3582
    xsum is 3711[ 2540.097127] ysum is 3583
    xsum is 3709[ 2540.102483] ysum is 3581
    xsum is 3769[ 2540.107976] ysum is 3581

           I think the driver's output is quite stable and right.However,the weston-calibrator doesn't work properly for some reason !

           Does anyone know the reason ?

           Any help would be greatly appreciated!

  • Can you run the evtest and see what is going on?

  • Hi Kermal,
    Thanks for reply!
    Here are the messages from the evtest
    A. the lower-left corner of the screen:


    Event: time 1498683357.454662, -------------- SYN_REPORT ------------
    Event: time 1498683357.463898, type 3 (EV_ABS), code 0 (ABS_X), value 300
    Event: time 1498683357.463898, type 3 (EV_ABS), code 1 (ABS_Y), value 3690
    Event: time 1498683357.463898, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 245
    Event: time 1498683357.463898, -------------- SYN_REPORT ------------
    Event: time 1498683357.473229, type 3 (EV_ABS), code 0 (ABS_X), value 302
    Event: time 1498683357.473229, -------------- SYN_REPORT ------------
    Event: time 1498683357.482453, type 3 (EV_ABS), code 0 (ABS_X), value 303
    Event: time 1498683357.482453, type 3 (EV_ABS), code 1 (ABS_Y), value 3692
    Event: time 1498683357.482453, -------------- SYN_REPORT ------------
    Event: time 1498683357.491719, type 3 (EV_ABS), code 1 (ABS_Y), value 3691
    Event: time 1498683357.491719, -------------- SYN_REPORT ------------
    Event: time 1498683357.500950, type 3 (EV_ABS), code 0 (ABS_X), value 301
    Event: time 1498683357.500950, type 3 (EV_ABS), code 1 (ABS_Y), value 3694
    Event: time 1498683357.500950, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 246
    Event: time 1498683357.500950, -------------- SYN_REPORT ------------
    Event: time 1498683357.510261, type 3 (EV_ABS), code 0 (ABS_X), value 300
    Event: time 1498683357.510261, type 3 (EV_ABS), code 1 (ABS_Y), value 3696
    Event: time 1498683357.510261, -------------- SYN_REPORT ------------
    Event: time 1498683357.519516, type 3 (EV_ABS), code 0 (ABS_X), value 299
    Event: time 1498683357.519516, type 3 (EV_ABS), code 1 (ABS_Y), value 3697
    Event: time 1498683357.519516, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 245
    Event: time 1498683357.519516, -------------- SYN_REPORT ------------
    Event: time 1498683357.528822, type 3 (EV_ABS), code 0 (ABS_X), value 298
    Event: time 1498683357.528822, type 3 (EV_ABS), code 1 (ABS_Y), value 3701
    Event: time 1498683357.528822, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 246
    Event: time 1498683357.528822, -------------- SYN_REPORT ------------
    Event: time 1498683357.538041, type 3 (EV_ABS), code 0 (ABS_X), value 300
    Event: time 1498683357.538041, type 3 (EV_ABS), code 1 (ABS_Y), value 3699
    Event: time 1498683357.538041, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 244
    Event: time 1498683357.538041, -------------- SYN_REPORT ------------
    Event: time 1498683357.538344, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
    Event: time 1498683357.538344, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
    Event: time 1498683357.538344, -------------- SYN_REPORT ------------

    B.the upper-left corner of the screen:

    Event: time 1498683357.454662, -------------- SYN_REPORT ------------
    Event: time 1498683357.463898, type 3 (EV_ABS), code 0 (ABS_X), value 300
    Event: time 1498683357.463898, type 3 (EV_ABS), code 1 (ABS_Y), value 3690
    Event: time 1498683357.463898, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 245
    Event: time 1498683357.463898, -------------- SYN_REPORT ------------
    Event: time 1498683357.473229, type 3 (EV_ABS), code 0 (ABS_X), value 302
    Event: time 1498683357.473229, -------------- SYN_REPORT ------------
    Event: time 1498683357.482453, type 3 (EV_ABS), code 0 (ABS_X), value 303
    Event: time 1498683357.482453, type 3 (EV_ABS), code 1 (ABS_Y), value 3692
    Event: time 1498683357.482453, -------------- SYN_REPORT ------------
    Event: time 1498683357.491719, type 3 (EV_ABS), code 1 (ABS_Y), value 3691
    Event: time 1498683357.491719, -------------- SYN_REPORT ------------
    Event: time 1498683357.500950, type 3 (EV_ABS), code 0 (ABS_X), value 301
    Event: time 1498683357.500950, type 3 (EV_ABS), code 1 (ABS_Y), value 3694
    Event: time 1498683357.500950, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 246
    Event: time 1498683357.500950, -------------- SYN_REPORT ------------
    Event: time 1498683357.510261, type 3 (EV_ABS), code 0 (ABS_X), value 300
    Event: time 1498683357.510261, type 3 (EV_ABS), code 1 (ABS_Y), value 3696
    Event: time 1498683357.510261, -------------- SYN_REPORT ------------
    Event: time 1498683357.519516, type 3 (EV_ABS), code 0 (ABS_X), value 299
    Event: time 1498683357.519516, type 3 (EV_ABS), code 1 (ABS_Y), value 3697
    Event: time 1498683357.519516, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 245
    Event: time 1498683357.519516, -------------- SYN_REPORT ------------
    Event: time 1498683357.528822, type 3 (EV_ABS), code 0 (ABS_X), value 298
    Event: time 1498683357.528822, type 3 (EV_ABS), code 1 (ABS_Y), value 3701
    Event: time 1498683357.528822, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 246
    Event: time 1498683357.528822, -------------- SYN_REPORT ------------
    Event: time 1498683357.538041, type 3 (EV_ABS), code 0 (ABS_X), value 300
    Event: time 1498683357.538041, type 3 (EV_ABS), code 1 (ABS_Y), value 3699
    Event: time 1498683357.538041, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 244
    Event: time 1498683357.538041, -------------- SYN_REPORT ------------
    Event: time 1498683357.538344, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
    Event: time 1498683357.538344, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
    Event: time 1498683357.538344, -------------- SYN_REPORT ------------

    C.the  upper-right corner of the screen:

    Event: time 1498683605.548071, -------------- SYN_REPORT ------------
    Event: time 1498683605.557414, type 3 (EV_ABS), code 0 (ABS_X), value 3808
    Event: time 1498683605.557414, type 3 (EV_ABS), code 1 (ABS_Y), value 573
    Event: time 1498683605.557414, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 163
    Event: time 1498683605.557414, -------------- SYN_REPORT ------------
    Event: time 1498683605.566781, type 3 (EV_ABS), code 0 (ABS_X), value 3812
    Event: time 1498683605.566781, type 3 (EV_ABS), code 1 (ABS_Y), value 578
    Event: time 1498683605.566781, -------------- SYN_REPORT ------------
    Event: time 1498683605.576088, type 3 (EV_ABS), code 0 (ABS_X), value 3813
    Event: time 1498683605.576088, type 3 (EV_ABS), code 1 (ABS_Y), value 582
    Event: time 1498683605.576088, -------------- SYN_REPORT ------------
    Event: time 1498683605.585453, type 3 (EV_ABS), code 0 (ABS_X), value 3815
    Event: time 1498683605.585453, type 3 (EV_ABS), code 1 (ABS_Y), value 592
    Event: time 1498683605.585453, -------------- SYN_REPORT ------------
    Event: time 1498683605.594815, type 3 (EV_ABS), code 0 (ABS_X), value 3814
    Event: time 1498683605.594815, type 3 (EV_ABS), code 1 (ABS_Y), value 596
    Event: time 1498683605.594815, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 166
    Event: time 1498683605.594815, -------------- SYN_REPORT ------------
    Event: time 1498683605.604134, type 3 (EV_ABS), code 1 (ABS_Y), value 598
    Event: time 1498683605.604134, -------------- SYN_REPORT ------------
    Event: time 1498683605.622665, type 3 (EV_ABS), code 0 (ABS_X), value 3811
    Event: time 1498683605.622665, type 3 (EV_ABS), code 1 (ABS_Y), value 599
    Event: time 1498683605.622665, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 164
    Event: time 1498683605.622665, -------------- SYN_REPORT ------------
    Event: time 1498683605.631932, type 3 (EV_ABS), code 0 (ABS_X), value 3810
    Event: time 1498683605.631932, type 3 (EV_ABS), code 1 (ABS_Y), value 600
    Event: time 1498683605.631932, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 163
    Event: time 1498683605.631932, -------------- SYN_REPORT ------------
    Event: time 1498683605.641194, type 3 (EV_ABS), code 0 (ABS_X), value 3809
    Event: time 1498683605.641194, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 162
    Event: time 1498683605.641194, -------------- SYN_REPORT ------------
    Event: time 1498683605.650454, type 3 (EV_ABS), code 0 (ABS_X), value 3808
    Event: time 1498683605.650454, type 3 (EV_ABS), code 1 (ABS_Y), value 602
    Event: time 1498683605.650454, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 161
    Event: time 1498683605.650454, -------------- SYN_REPORT ------------
    Event: time 1498683605.659725, type 3 (EV_ABS), code 0 (ABS_X), value 3805
    Event: time 1498683605.659725, type 3 (EV_ABS), code 1 (ABS_Y), value 601
    Event: time 1498683605.659725, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 160
    Event: time 1498683605.659725, -------------- SYN_REPORT ------------
    Event: time 1498683605.669010, type 3 (EV_ABS), code 0 (ABS_X), value 3804
    Event: time 1498683605.669010, type 3 (EV_ABS), code 1 (ABS_Y), value 600
    Event: time 1498683605.669010, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 161
    Event: time 1498683605.669010, -------------- SYN_REPORT ------------
    Event: time 1498683605.678259, type 3 (EV_ABS), code 0 (ABS_X), value 3802
    Event: time 1498683605.678259, type 3 (EV_ABS), code 1 (ABS_Y), value 598
    Event: time 1498683605.678259, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 159
    Event: time 1498683605.678259, -------------- SYN_REPORT ------------
    Event: time 1498683605.687619, type 3 (EV_ABS), code 0 (ABS_X), value 3796
    Event: time 1498683605.687619, type 3 (EV_ABS), code 1 (ABS_Y), value 594
    Event: time 1498683605.687619, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 157
    Event: time 1498683605.687619, -------------- SYN_REPORT ------------
    Event: time 1498683605.696958, type 3 (EV_ABS), code 0 (ABS_X), value 3790
    Event: time 1498683605.696958, type 3 (EV_ABS), code 1 (ABS_Y), value 590
    Event: time 1498683605.696958, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 155
    Event: time 1498683605.696958, -------------- SYN_REPORT ------------
    Event: time 1498683605.697207, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
    Event: time 1498683605.697207, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
    Event: time 1498683605.697207, -------------- SYN_REPORT ------------

    D.the lower-right corner of the screen:

    Event: time 1498683673.999782, -------------- SYN_REPORT ------------
    Event: time 1498683674.009113, type 3 (EV_ABS), code 0 (ABS_X), value 3929
    Event: time 1498683674.009113, type 3 (EV_ABS), code 1 (ABS_Y), value 3597
    Event: time 1498683674.009113, -------------- SYN_REPORT ------------
    Event: time 1498683674.018456, type 3 (EV_ABS), code 1 (ABS_Y), value 3598
    Event: time 1498683674.018456, -------------- SYN_REPORT ------------
    Event: time 1498683674.027759, type 3 (EV_ABS), code 0 (ABS_X), value 3930
    Event: time 1498683674.027759, type 3 (EV_ABS), code 1 (ABS_Y), value 3595
    Event: time 1498683674.027759, -------------- SYN_REPORT ------------
    Event: time 1498683674.037152, type 3 (EV_ABS), code 0 (ABS_X), value 3929
    Event: time 1498683674.037152, type 3 (EV_ABS), code 1 (ABS_Y), value 3597
    Event: time 1498683674.037152, -------------- SYN_REPORT ------------
    Event: time 1498683674.046557, type 3 (EV_ABS), code 0 (ABS_X), value 3930
    Event: time 1498683674.046557, -------------- SYN_REPORT ------------
    Event: time 1498683674.055953, type 3 (EV_ABS), code 0 (ABS_X), value 3929
    Event: time 1498683674.055953, type 3 (EV_ABS), code 1 (ABS_Y), value 3599
    Event: time 1498683674.055953, -------------- SYN_REPORT ------------
    Event: time 1498683674.065415, type 3 (EV_ABS), code 0 (ABS_X), value 3928
    Event: time 1498683674.065415, type 3 (EV_ABS), code 1 (ABS_Y), value 3602
    Event: time 1498683674.065415, -------------- SYN_REPORT ------------
    Event: time 1498683674.074808, type 3 (EV_ABS), code 0 (ABS_X), value 3929
    Event: time 1498683674.074808, type 3 (EV_ABS), code 1 (ABS_Y), value 3603
    Event: time 1498683674.074808, -------------- SYN_REPORT ------------
    Event: time 1498683674.084214, type 3 (EV_ABS), code 0 (ABS_X), value 3928
    Event: time 1498683674.084214, type 3 (EV_ABS), code 1 (ABS_Y), value 3605
    Event: time 1498683674.084214, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 118
    Event: time 1498683674.084214, -------------- SYN_REPORT ------------
    Event: time 1498683674.093683, type 3 (EV_ABS), code 0 (ABS_X), value 3929
    Event: time 1498683674.093683, type 3 (EV_ABS), code 1 (ABS_Y), value 3604
    Event: time 1498683674.093683, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 119
    Event: time 1498683674.093683, -------------- SYN_REPORT ------------
    Event: time 1498683674.103036, type 3 (EV_ABS), code 0 (ABS_X), value 3930
    Event: time 1498683674.103036, type 3 (EV_ABS), code 1 (ABS_Y), value 3606
    Event: time 1498683674.103036, -------------- SYN_REPORT ------------
    Event: time 1498683674.112380, type 3 (EV_ABS), code 0 (ABS_X), value 3928
    Event: time 1498683674.112380, type 3 (EV_ABS), code 1 (ABS_Y), value 3605
    Event: time 1498683674.112380, -------------- SYN_REPORT ------------
    Event: time 1498683674.121721, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 118
    Event: time 1498683674.121721, -------------- SYN_REPORT ------------
    Event: time 1498683674.131042, type 3 (EV_ABS), code 1 (ABS_Y), value 3606
    Event: time 1498683674.131042, -------------- SYN_REPORT ------------
    Event: time 1498683674.140389, type 3 (EV_ABS), code 0 (ABS_X), value 3929
    Event: time 1498683674.140389, type 3 (EV_ABS), code 1 (ABS_Y), value 3607
    Event: time 1498683674.140389, -------------- SYN_REPORT ------------
    Event: time 1498683674.149732, type 3 (EV_ABS), code 0 (ABS_X), value 3930
    Event: time 1498683674.149732, type 3 (EV_ABS), code 1 (ABS_Y), value 3610
    Event: time 1498683674.149732, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 119
    Event: time 1498683674.149732, -------------- SYN_REPORT ------------
    Event: time 1498683674.149850, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
    Event: time 1498683674.149850, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
    Event: time 1498683674.149850, -------------- SYN_REPORT ------------

     It looks normal.

  • Change the export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS="rotate=180" to export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS="rotate=0" in /etc/profile.d/qt_env.sh Then restart your board.

  • Hi Kemal,
    I did what you suggested,the problem still exists.
  • My lcd's resolution is 1280x800,is it the possible cause of the problem ?
  • No. Your calibration values are not correct, see these -nan -nan and zeroes: 0.000000 -388.560181 -nan 0.000000 -182.137589 -nan
  • It is very strange that  the weston can't calibrate the touchscreen correctly while the evtest can output the right coordinates.

  • The problem is solved.The calibration values in the privious ws-calibrate.rules file were wrong due to the hardware bug. The touchscreen got to work finally after I deleted the file.