testing 3.5 inch display on fus7ULL platform

      testing 3.5 inch display on fus7ULL platform

      Hi Everyone,

      I am testing a 3.5" display with efusA7Ull. The display should be compatible with your 3.5" display, here you please can have a look on the LCD. We are using touch controller SX8675 as SX8655 is obsolete but it should give the same result as stated from your note.

      I did the following:

      1- Build yocto image "fus-image-qt5" with modifying efusa7Ul.dts file in kernel, only this part to use for 3.5" display.

      Source Code

      1. /*
      2. * Configure LCD settings here (ignored if LCD is not used)
      3. */
      4. #define CONFIG_EFUSA7UL_LCD_BPP 18
      5. #define CONFIG_EFUSA7UL_LCD_BUS_WIDTH 18
      6. #define CONFIG_EFUSA7UL_LCD_TIMING \
      7. wvga { \
      8. clock-frequency = <6500000>; \
      9. hactive = <320>; \
      10. vactive = <240>; \
      11. hfront-porch = <20>; \
      12. hback-porch = <68>; \
      13. hsync-len = <20>; \
      14. vback-porch = <18>; \
      15. vfront-porch = <4>; \
      16. vsync-len = <20>; \
      17. hsync-active = <0>; \
      18. vsync-active = <0>; \
      19. de-active = <0>; \
      20. pixelclk-active = <1>; \
      21. }


      I added some packages to IMAGE_INSTALL in fus-image-qt5 receipe such as tslib, tslib-calibrate and so on. So that was all my modifications in yocto

      2- I flashed the output sdcard image on the emmc on the efusA7ULL module and booted from the emmc.

      Result: The LCD worked and I was able run a qt application with the 3.5" correct resolution. To well describe my issue I used a qt app which is a combination of buttons when any button is clicked, then it simply counts a number inside this button. The problem is that most of buttons at the edges do not respond when they are touched. Only buttons almost in the middle work, outside the middle area do not respond. I thought it may be calibration problem so I used "ts_calibrate" but no gain. Here is a photo for the screen.

      These are my qt environment variables:

      Source Code

      1. export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0
      2. export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/touchscreen0:rotate=180
      3. export QT_QPA_FB_TSLIB=1
      4. export TSLIB_FBDEVICE=/dev/fb0
      5. export TSLIB_TSDEVICE=/dev/input/touchscreen0



      Please what could be the reason for this issue ? is it a miss configuration in the kernel for my LCD as described in step 1 ? what will be the correct configuration in case I use your 3.5" display ? Please any help is greatly appreciated.

      Last to mention that, when I build the yocto image without any modifications and flash it to the emmc, then the application works perfectly after "ts_calibrate" on your 7 inch display that comes with your SDK kit.

      Thanks in advance
      Ahmed

      Post was edited 1 time, last by “ahmedawad” ().

      Dear Ahmed,

      the LCD display and the touch controller should be independent. That should not be the problem.

      Do you have a second 3.5" display to test. Maybe there is something broken with the touch controller.

      For the touch controller there are three parameters which you can setup. The touchrate, powdly, filt, setdly.
      touchrate = Defines the touch coordinates acquisition rate. Values between 0 - 15 are allowed. Hint: The touchrate bits are 7:4 so if you want to write a 0x3 then value must be 0x30 for bit 7:4.
      powdly = Defines the bias settling time for each channel’s first conversion. Values between 0 - 15 are allowed.
      filt = Defines the channel filtering algorithm Values between 0 - 3 are allowed.
      setdly = Defines the bias settling time for each channel’s subsequent conversion (i.e. when filtering is enabled). Values between 0 - 15 are allowed.

      You can change these parameters within the device tree.
      e.g.
      touchrate = <0x30>;
      powdly = <0x06>;
      filt = <0x02>;
      setdly = <0x08>;

      For more informations please have a look to the sx8675 datasheet. You can try to change this parameters maybe this will effect the touch behavior.

      Your F&S Support Team
      F&S Elektronik Systeme GmbH
      As this is an international forum, please try to post in English.
      Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.