![]() Qtopia Home - Classes - Hierachy - Annotated - Functions - Qt Embedded |
![]() |
This document is for System Integrators and those who who are going to install Qtopia onto a new device. The various aspects of device integration are drawn together in one place and a suggested order of progression is provided.
See Also:
This following lists the suggested order in which to work on the various aspects of device integration:
There are several choices on what to base a new custom.cpp. These choices include:
The following example creates a new custom.cpp based on the one that supports the ipaq platform.
cp $QPEDIR/src/libraries/qtopia/custom-linux-ipaq-g++.cpp $QPEDIR/src/libraries/qtopia/custom-linux-myarm-g++.cpp cp $QPEDIR/src/libraries/qtopia/custom-linux-ipaq-g++.h $QPEDIR/src/libraries/qtopia/custom-linux-myarm-g++.h
For more details on keyboard scancode and button support see devices-keys-buttons.html
Hints
For an oveview on character input in Qt/Embedded see : charinput-qws.html
To add a new driver it is necessary to modify : $QTDIR/src/kernel/qkeyboard_qws.cpp see : qwskeyboardhandler.html
These instructions are a guide only. Your device may require specific options not mentioned here. Please see the documentation for each package to determine how it is best configured.
Note: You should ensure that the correct compiler is used when building these libraries. Checking the output of the build stage will verify that the correct compiler was used. You can also use the file utility to show the architecture fro which a particular library is compiled.
JPEG source can be downloaded from http://www.ijg.org/
You should configure libjpeg with the --target=arch option. If libjpeg.so is not copied to $QTDIR you will need to use the -L option when running Qt/Embedded's configure. For example:
cd $QTDIR ./configure -L/path/that/libjpeg/lives/in
libuuid is part of the e2fsprogs package which can be downloaded from http://e2fsprogs.sourceforge.net/
You should configure libuuid with the --target=arch and --enable-elf-shlibs options. If libuuid.so is not copied to $QTDIR or $QPEDIR you will need to use the -L option when running Qtopia's configure. For example:
cd $QPEDIR ./configure -L/path/that/libuuid/lives/in
Following on from the above, it is necessary to have added
-xplatform linux-myarm-g++as parameters to Qt/Embedded's configure.
Hints
$QTDIR/configure --help
Macros defined at Qte compile time | Mouse device used |
---|---|
QT_QWS_IPAQ and QT_QWS_IPAQ_RAW | /dev/h3600_tsraw |
QT_QWS_IPAQ | /dev/h3600_ts |
QT_QWS_SL5XXX | /dev/ts |
Hints
Continuing the example above there is need to have added:
-xplatform linux-myarm-g++as parameters to Qtopia's configure.
Hints
$QPEDIR/configure --help
qcop "QPE/System" "execute(QString)" "calibrate"
When configuring Qtopia for the target device the $QPEDIR/image is the default prefix for the image that Qtopia will create. After building Qtopia and running make install an example of getting the image onto the device is to:
cd $QPEDIR/image tar -cf $HOME/qtopiaimage.tar .
mount -t nfs myhost:/home/myuser /mnt/tmp
cd / tar xf /mnt/tmp/qtopiaimage.tar
Set QPEDIR and QTDIR to where Qtopia was installed, and add Qtopia's programs and libraries to the system paths eg:
export QPEDIR=/opt/Qtopia export QTDIR=$QPEDIR export QTEDIR=$QTDIR export PATH=$QPEDIR/bin:$PATH export LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBRARY_PATH
See also running-qtopia.html
Run the following command : textedit -qws
Confirm that:
Hints
See also running-qtopia.html.
Before starting this step ensure that Qtopia is able to communicate to your GSM module and that you can dial and connect normal calls. Also it is highly recommended that you first test your modems ability make GRPS calls just using pppd.
The following is the suggested order in integrating a GSM module into Qtopia
Choosing not to build a component, eg Todo, can easily be done via editing $QPEDIR/src/custom.pri and re-configuring Qtopia. For example add the following to the custom.pri APP_PROJECTS-=applications/todo
See $QPEDIR/src/custom.pri for extra hints, see also buildsystem.html
Most modern phones have an external serial interface, which is used to connect to a computer for the purposes of data calls, FAX transmissions, or synchronization with desktop applications.
The SerialProxy class assists with this process. It sets up a proxy connection between the external serial interface and an internal GSM 07.10 capable modem. The serial interface may be RS-232, USB, Bluetooth, or any other suitable connection protocol.
We assume that the cable that connects the phone to the computer is wired like a null modem, even if the "cable" is USB, Bluetooth, etc:
TD | --> | RD |
RD | <-- | TD |
DTR | --> | DSR, DCD |
CTS | <-- | RTS |
RTS | --> | CTS |
DSR, DCD | <-- | DTR |
If the cable isn't wired in this fashion, then the SerialProxy code may need to be modified for a specific device.
The external device must be configured in the Phone.conf file. For example:
[SerialDevices] ExternalAccessDevice=/dev/ttyS1 ExternalAccessSpeed=115200
The Phone.conf file needs to be placed under the "etc/default" directory on a vendor's system.
Warning
Using a serial proxy is not possible when connecting Qtopia to a serial port on a phone such as the T39M. In such a case ensure that Phone.conf file does not contain an entry for "ExternalAccessDevices".
To make extra fonts available to Qtopia it is likely that the makeqpf ultility will need to be run. For more details see : makeqpf
Qtopia's appearance can be modified on several ways
Copyright © 2001-2005 Trolltech | Trademarks | Qtopia version 2.1.1
|