Touch Orbiter - for the CUWIN3500 in-wall Touch Panel
|Version||Status||Date Updated||Updated By|
This page has been setup to describe the reference Touch Orbiter implementation for the CUWIN-3500 WinCE in-wall Touch Panel. We include the source code for those that would like to try their hand at porting Touch Orbiter to a new device. If you are involved in porting Touch Orbiter to a new device please add your experiences to the wiki and of course your sources to the svn too.
Reference Implementation for the CUWIN-3500 WinCE in-wall Touch Panel
Installing build dependencies
apt-get install bison flex libgmp3-dev libmpfr-dev texinfo
You can get the source code from SVN. The source code includes everything you need to build OrbiterCE.exe.
Two targets can be built: arm and x86 (Windows CE in both cases, not desktop Windows).
Just type either make all-arm or make all-x86, depending on what platform you need, get a few trucks of coffee, and wait*.
The first time you run make, it will download, build, and install CE GCC, zlib, libpng and libjpeg. Then, it will build OrbiterCE.exe in the directory OrbiterCE. For CE GCC it will need root privileges. Sudo is used for this purpose, so it may ask for your password after CE GCC is downloaded, before it is built.
When the build is done, a directory called TouchOrbiter, which will contain all the files in a subdirectory called arm or x86, depending on what you built. Copy the arm or x86 directory to your Windows CE device. Before you copy it, be sure to edit Orbiter.ini and set the IP of your router and the port of the Proxy_Orbiter you want to connect to.
The Touch Orbiter will run in full screen on the device. To exit it, tap and hold your finger on the screen, and a dialog box will show up asking if you want to close the application.
If you want to build both arm and x86 binaries, you need to do a make clean in between, because everything is built in the same place and if you don't, you'll see very voodoo errors.
Why choose the cuwin-3500? Well we happened to have one... which is a good reason ;-)... also its a pretty common low-ish spec WinCE device and so it seemed like a good machine to do an implementation for.
Orbiter Ini File
This file is in ASCII format with DOS line endings. Don't convert it to UCS-16, even though Windows CE likes it.
[BusyCursor] AnchorTop=Center AnchorLeft=Center OffsetX=0 OffsetY=0 Visible=Yes CursorSet=GraySpinner [Network] ServerIP=192.168.80.1 ServerPort=3464
In the initial implementation, the Anchor* and Offset* options aren't used. These options are meant to allow you to customize the position of the waiting cursor. While CursorSet is used, the sizes and numbers of the images in the specified directory are hard coded in source.
There's a tiny memory leak somewhere in this implementation, which makes the Touch Orbiter kill WinCE slowly. Very slowly. Every few months or so of continuous running. I couldn't track it down, so it could as well be Windows killing itself, not Touch Orbiter, but I can't prove or disprove any of these claims. - Uplink 12:08, 11 July 2011 (CEST)