2013년 10월 4일 금요일

Mango1808 Touch Test and Qt test


    1. Mango1808 Touch Test and Qt test
    buildroot에서
    $ make ARCH=arm menuconfig
    Configuration을 추가합니다.


    BR2_PACKAGE_QT=y
    # BR2_PACKAGE_QT_DEBUG is not set
    BR2_PACKAGE_QT_DEMOS=y
    BR2_PACKAGE_QT_SHARED=y
    # BR2_PACKAGE_QT_STATIC is not set
    BR2_PACKAGE_QT_LICENSE_APPROVED=y
    BR2_PACKAGE_QT_CONFIG_FILE=""
    BR2_PACKAGE_QT_QT3SUPPORT=y
    BR2_PACKAGE_QT_GUI_MODULE=y

    #
    # Pixel depths
    #

    #
    # Deselecting each option leads to Qt's default (8,16,32)
    #
    # BR2_PACKAGE_QT_PIXEL_DEPTH_1 is not set
    # BR2_PACKAGE_QT_PIXEL_DEPTH_4 is not set
    BR2_PACKAGE_QT_PIXEL_DEPTH_8=y
    # BR2_PACKAGE_QT_PIXEL_DEPTH_12 is not set
    # BR2_PACKAGE_QT_PIXEL_DEPTH_15 is not set
    BR2_PACKAGE_QT_PIXEL_DEPTH_16=y
    # BR2_PACKAGE_QT_PIXEL_DEPTH_18 is not set
    # BR2_PACKAGE_QT_PIXEL_DEPTH_24 is not set
    BR2_PACKAGE_QT_PIXEL_DEPTH_32=y

    #
    # Fonts
    #
    BR2_PACKAGE_QT_FONT_MICRO=y
    BR2_PACKAGE_QT_FONT_FIXED=y
    BR2_PACKAGE_QT_FONT_HELVETICA=y
    # BR2_PACKAGE_QT_FONT_JAPANESE is not set
    BR2_PACKAGE_QT_FONT_UNIFONT=y
    BR2_PACKAGE_QT_NOFREETYPE=y
    # BR2_PACKAGE_QT_QTFREETYPE is not set
    # BR2_PACKAGE_QT_SYSTEMFREETYPE is not set
    BR2_PACKAGE_QT_GIF=y
    # BR2_PACKAGE_QT_LIBMNG is not set
    # BR2_PACKAGE_QT_NOJPEG is not set
    # BR2_PACKAGE_QT_SYSTEMJPEG is not set
    BR2_PACKAGE_QT_QTJPEG=y
    # BR2_PACKAGE_QT_NOPNG is not set
    # BR2_PACKAGE_QT_SYSTEMPNG is not set
    BR2_PACKAGE_QT_QTPNG=y
    # BR2_PACKAGE_QT_NOTIFF is not set
    # BR2_PACKAGE_QT_SYSTEMTIFF is not set
    BR2_PACKAGE_QT_QTTIFF=y
    BR2_PACKAGE_QT_QTZLIB=y
    # BR2_PACKAGE_QT_SYSTEMZLIB is not set
    # BR2_PACKAGE_QT_SQL_MODULE is not set

    #
    # Graphics drivers
    #
    BR2_PACKAGE_QT_GFX_LINUXFB=y
    BR2_PACKAGE_QT_GFX_TRANSFORMED=y
    # BR2_PACKAGE_QT_GFX_QVFB is not set
    # BR2_PACKAGE_QT_GFX_VNC is not set
    # BR2_PACKAGE_QT_GFX_MULTISCREEN is not set

    #
    # directfb Qt driver not available (need directfb)
    #

    #
    # Mouse drivers
    #
    BR2_PACKAGE_QT_MOUSE_PC=y
    BR2_PACKAGE_QT_MOUSE_LINUXTP=y
    BR2_PACKAGE_QT_MOUSE_LINUXINPUT=y
    BR2_PACKAGE_QT_MOUSE_TSLIB=y
    # BR2_PACKAGE_QT_MOUSE_QVFB is not set

    #
    # Mouse Options
    #
    # BR2_PACKAGE_QT_MOUSE_NO_QWS_CURSOR is not set

    #
    # Keyboard drivers
    #
    BR2_PACKAGE_QT_KEYBOARD_TTY=y
    BR2_PACKAGE_QT_KEYBOARD_LINUXINPUT=y
    # BR2_PACKAGE_QT_KEYBOARD_QVFB is not set

    #
    # Phonon module needs gstreamer
    #
    BR2_PACKAGE_QT_DBUS=y
    BR2_PACKAGE_QT_XML=y
    # BR2_PACKAGE_QT_XMLPATTERNS is not set
    # BR2_PACKAGE_QT_MULTIMEDIA is not set
    BR2_PACKAGE_QT_SVG=y
    BR2_PACKAGE_QT_NETWORK=y
    # BR2_PACKAGE_QT_WEBKIT is not set
    BR2_PACKAGE_QT_JAVASCRIPTCORE=y
    BR2_PACKAGE_QT_STL=y
    # BR2_PACKAGE_QT_OPENSSL is not set
    BR2_PACKAGE_QT_SCRIPT=y
    # BR2_PACKAGE_QT_SCRIPTTOOLS is not set
    # BR2_PACKAGE_QT_DECLARATIVE is not set

    컴파일 후 파일 시스템을 target에 올립니다.

    터치 테스트 방법
    부팅 후 
    # cat /proc/bus/input/devices
    I: Bus=0019 Vendor=0001 Product=0001 Version=0100
    N: Name="gpio-keys-polled"
    P: Phys=gpio-keys-polled/input0
    S: Sysfs=/devices/platform/gpio-keys-polled.0/input/input0
    U: Uniq=
    H: Handlers=kbd event0
    B: EV=3
    B: KEY=800 100000 0 0 0

    I: Bus=0018 Vendor=0000 Product=0000 Version=0000
    N: Name="TSC2007 Touchscreen"
    P: Phys=1-0048/input0
    S: Sysfs=/devices/virtual/input/input1
    U: Uniq=
    H: Handlers=event1
    B: EV=b
    B: KEY=400 0 0 0 0 0 0 0 0 0 0
    B: ABS=1000003

    export QWS_MOUSE_PROTO="tslib:/dev/input/event1"
    export TSLIB_TSEVENTTYPE=INPUT
    export TSLIB_TSDEVICE=/dev/input/event1
    export TSLIB_CALIBFILE=/etc/pointercal
    export TSLIB_CONFFILE=/etc/ts.conf
    export TSLIB_PLUGINDIR=/usr/lib/ts
    export LD_LIBRARY_PATH=/usr/lib:/lib
    export QWS_SIZE=800*480
    export QWS_DISPLAY=Transformed:Rot270:VNC:LinuxFb


    보정 방법
    # ts_calibrate
    # cat /etc/pointercal 

    66319 480 -1649264 -227 66371 -291440 65536 1280 80080 800

    # /usr/share/qt/examples/touch/pinchzoom/pinchzoom -qws
    수행하면 됩니다. 


    디스플레이 관련 (Rotation)

    export QWS_DISPLAY=Transformed:Rot270:VNC:LinuxFb

    위와 같이 세팅을 하면 270도 Rotation 됩니다. 




    #####
    부팅 시 자동으로 환경 설정 위해서 파일 시스템에
    /etc/profile.d
    에 만들자 
    Qt_config.sh 이름으로 다시 만들자


    # mkdir /etc/profile.d
    # vi /etc/profile.d/Qt_config.sh

    #!/bin/sh
    echo "Qt4 TSlib Environment Start"
    echo "-----------------------------"
    export QWS_MOUSE_PROTO="tslib:/dev/input/event1"
    export TSLIB_TSEVENTTYPE=INPUT
    export TSLIB_TSDEVICE=/dev/input/event1
    export TSLIB_CALIBFILE=/etc/pointercal
    export TSLIB_CONFFILE=/etc/ts.conf
    export TSLIB_PLUGINDIR=/usr/lib/ts
    export LD_LIBRARY_PATH=/usr/lib:/lib
    export QWS_SIZE=800*480
    export QWS_DISPLAY=Transformed:Rot270:VNC:LinuxFb




    # chmod 755 /etc/profile.d/Qt_config.sh

    리부팅 후 이상없이 동작한다. 

    Qt4 TSlib Environment Start
    -----------------------------
    # env
    HISTFILESIZE=1000
    INPUTRC=/etc/inputrc
    TSLIB_TSDEVICE=/dev/input/event1
    USER=root
    HOSTNAME=mango210
    LD_LIBRARY_PATH=/usr/lib:/lib
    TSLIB_TSEVENTTYPE=INPUT
    HOME=/root
    QWS_SIZE=800*480
    PAGER=/bin/more
    PS1=#
    TSLIB_PLUGINDIR=/usr/lib/ts
    LOGNAME=root
    TERM=vt100
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/bin
    TSLIB_CONFFILE=/etc/ts.conf
    DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
    HISTSIZE=1000
    SHELL=/bin/sh
    QWS_DISPLAY=Transformed:Rot270:VNC:LinuxFb
    PWD=/root
    TSLIB_CALIBFILE=/etc/pointercal
    QWS_MOUSE_PROTO=tslib:/dev/input/event1
    EDITOR=/bin/vi

댓글 없음:

댓글 쓰기