Hello, I am developing on Mini2440 board and I have compiled qt for embedded linux (qt-everywhere-opensource-src-4.6.2) and tslib successfully and set the environment on Mini2440 with following. export TSLIB_TSEVENTTYPE=INPUT export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_TSDEVICE=/usr/input/ts export TSLIB_CALIBFILE=/usr/etc/pointercal export TSLIB_CONFFILE=/usr/etc/ts.conf export TSLIB_PLUGINDIR=/usr/lib/ts export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib export QTDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm export QWS_MOUSE_PROTO=tslib:/usr/input/ts When I gave ./myapp -qws it comes on the display. But if I touch the screen my application immediately closes. When I have tried to run ts_calibrate, ts_test it gives me an error as "Error Message is: selected device is not a touchscreen I understand" In some forum I have seen that I need to change QWS_MOUSE_PROTO & TSLIB_TSDEVICE. So I have tried with the following export TSLIB_TSDEVICE=/dev/input/event0 export QWS_MOUSE_PROTO=tslib:/dev/input/event0 export TSLIB_PLUGINDIR=/usr/local/tslib/lib But still same error. Please let me know what went wrong. Thanks in advance
Error Message is: selected device is not a touchscreen I underst
Is there a second event device in your /dev/input/ directory? If yes, try this instead. I guess the /dev/input/event0 is the keypap driver. If there is no second event device in your /dev/input/ directory, your touchscreen driver is not registerd or available in your kernel.
Thanks for your reply Is there a second event device in your /dev/input/ directory? Yes. I had "mice" apart from event0 in the above mentioned folder. I have tried this as well. When I have tried to use this event, the screen of Mini2440 has completely frozen. It is completely hangup with out responding for the touches. Below is the way how I compiled embedded library qt4.6.2 ./configure -release -embedded arm -xplatform qws/linux-arm-g++ -prefix /usr/local/mytest -qt-mouse-tslib -little-endian -no-webkit -no-qt3support -no-cups -no-largefile -nomake examples -optimized-qmake -no-openssl -nomake tools Please help me out to come out of this problem
There have been some recent postings on actually checking /dev/input to determine which input the touchscreen is really using. Does: cat /dev/input/event0 give you anything on the terminal when you touch the screen?
Hi davef, Thanks for your reply. When I gave the following command cat /dev/input/event0 and touch the screen some random numbers are generated on the terminal. When I tried to run my example program (hello world) by giving ./hello -qws the output form is displayed on the screen. When I have tried to touch the screen,it is becoming blank and on the terminal the message "Illegal Instruction" is displayed in the terminal and application is exited. I have tried to run the example program at usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/embedded/fluidlauncher by giving ./fluidlauncher -qws but still the same problem here. Please suggest me some alternative
Sounds like event0 is working properly. Even after following this tutorial http://mini2440vietnam.blogspot.com/2011/04/upgrade-qt462-in-mini2440.html and making some modifications fluidlauncher would not run for me. Also, I did not use his environment variable list. I used: export TSLIB_TSEVENTTYPE=INPUT export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_CALIBFILE=/usr/local/tslib/etc/pointercal export TSLIB_CONFFILE=/usr/local/tslib/etc/ts.conf export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ export TSLIB_TSDEVICE=/dev/input/touchscreen0 (event0 for you) export QWS_MOUSE_PROTO=tslib:/dev/input/touchscreen0 (event0 for you) My tslib stuff is in /usr/local and I copied all the files is the folder ts into tslib/lib as it seems different QT applications may go looking for these files in different folders. This comment may be due to my lack of understanding. Try /demos/browser and see if that works. Dave
I have tried to run demos and the moment I gave ./appname -qws Then the following message is printed on the terminal Couldnt load module pthres No raw modules loaded. QWSTslibMouseHandlerPrivate: ts_config() failed with error: 'No such file or di' Please check your tslib installation! On touching the screen desktop icons are becoming visible What went wrong here?
u2bpavankumar, is the 'ts_calibrate' tool working with your touch settings in the environment? If not, something is wrong with these settings.
Inside tslib/bin, I have ts_calibrate, ts_print, ts_test etc., By giving ./ts_calibrate I could do the calibration. But ts_print, ts_test does n't work
ts_test should work. Haven't tried ts_print. Did you uncomment the first line of code (the second line) in /usr/local/tslib/etc/ts.conf ?
i have the same problem my experiment is based on fl2440. i have compiled the tslib1.4.tar.gz i transplant the linux2.6.12. there is ts0 device in /dev.
Maybe have a look at the way this guy has done tslib . . . http://cchia-cwp.blogspot.com/2010/03/build-root-file-system.html
Did you uncomment the first line of code (the second line) in /usr/local/tslib/etc/ts.conf ? Yes I did. The line "module_raw input" has been uncommented
Maybe it is a problem with your Qt installation. Which tutorial did you follow in installing QT/embedded? I have written up some follow-up notes after my attempt at getting Qt to run properly, according to the link above. I can include that AFTER you tell me how you did it. Dave
Here are the steps how I have done Qt installation. I am using qt-everywhere-opensource-src-4.6.2.tar.gz downloaded from qt website. 1. I have set the path to my tool chain location after installing it as export PATH=/opt/usr/local/arm/4.3.2/bin:$PATH 2. CC=/opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc CFLAGS="-O0 -msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv4t -mtune=arm920t" 3. CXX="opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++ -O0 -msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv4t -mtune=arm920t" 4. tar qt-everywhere-opensource-src-4.6.2.tar.gz 5. cd qt-everywhere-opensource-src-4.6.2 6. I have updated the mkspecs/qws/linux-arm-g++/qmake.conf as below # # qmake configuration for building with arm-linux-g++ # include(../../common/g++.conf) include(../../common/linux.conf) include(../../common/qws.conf) # modifications to g++.conf QMAKE_CC = /opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc -msoft-float- D__GCC_FLOAT_NOT_NEEDED -march=armv4t -mtune=arm920t -O0 QMAKE_CXX = /opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++ -msoft-float- D__GCC_FLOAT_NOT_NEEDED -march=armv4t -mtune=arm920t -O0 QMAKE_LINK = /opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++ -msoft-float- D__GCC_FLOAT_NOT_NEEDED -march=armv4t -mtune=arm920t -O0 QMAKE_LINK_SHLIB = /opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++ -msoft-float- D__GCC_FLOAT_NOT_NEEDED -march=armv4t -mtune=arm920t -O0 # modifications to linux.conf QMAKE_AR = /opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-ar cqs QMAKE_OBJCOPY = /opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-objcopy QMAKE_STRIP = /opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-strip QMAKE_INCDIR +=/root/Desktop/today24-5/mytslib/include QMAKE_LIBDIR +=/root/Desktop/today24-5/mytslib/lib load(qt_config) (Here QMAKE_INCDIR and QMAKE_LIBDIR are pointing to the location where tslib is installed in my host) 7. mkspecs/common/g++.conf QMAKE_CFLAGS_RELEASE += -O0 8. ./configure -release -embedded arm -xplatform qws/linux-arm-g++ -prefix /root/Desktop/today24-5/myqtfolder -qt-mouse-tslib -little-endian -no-webkit -no-qt3support -no-cups -no-largefile -nomake examples -optimized-qmake -no-openssl -nomake tools 9. make 10. make install -------------------------------------- This is how I have installed tslib 1 echo "ac_cv_func_malloc_0_nonnull=yes" > arm-linux.autogen 2 export CONFIG_SITE=arm-linux.autogen 3 ./autogen.sh 4 ./configure --build=i386-linux --host=arm-linux --target=arm --disable-inputapi --prefix=/root/Desktop/today24-5/mytslib 5 make 6 make install Please let me know if there is anything wrong with these steps
Generally looks pretty good to me. I am using 4.7.2 and only manged to get it to compile properly ONCE. Since then I continue to get a libbootstrap.a error quite early in the process. However, attached is my updated version of mini2440vietnam's tutorial. Rename it to <Qt installation.doc Good luck
Finally I could run my application on the kit from the terminal successfully by giving ./myapp -qws on the terminal. I have followed the same procedure as mentioned above but, this time I have used qt-everywhere-opensource-src-4.6.3.tar.gz and things worked for me. Thanku all for your valuable suggestions especially for davef for his quick response all the time. Now I have successfully run my app from terminal, I am trying to create desktop icon and run by single touch. For that I have created the .desktop file for my app as below [Translation] File=QtopiaSettings Context=Calc Comment[Desktop Entry/Name]=Use soft hyphen (char U00AD) to indicate hyphenation [Desktop Entry] Exec=Calc Icon=Calc Type=Application Name[]=Calc CanFastload=0 I have created a folder named Calc (my application name) inside opt/Qtopia/apps. Then I have placed the my application icon inside /opt/Qtopia/pics/ and my exec file inside /opt/Qtopia/bin/ After that I have restarted the kit. Then I can see the Calc icon (my application) on the touch screen. But if I click it I could n't run the app. If I hold the icon I could see the properties of the app. For other apps on the screen which are available by default, just by single touch app is running and by holding it for a moment app properties are displayed. I have followed http://farm2440.blogspot.com/ for loading the app. Please let me know what could be the problem. Thanks in advance
Well lucky you! I have tried 2 or 3 versions as there have been comments about variable results in the past. I have possibly got this wrong, but I thought Qt has to be in it's own directories and I think if you search through previous Qtopia and QT stuff you'll find references to the problems some people have had with both on the platform at the same time. Dave