XIIPM - XFree86 Input Driver and Tools for the Numonics IPM Whiteboard Copyright 2001, 2002 by Konrad Rieck - All rights reserved. README Introduction This package contains a driver and tools for the electronic whiteboard models IPM 1000RM and IPM 2000RM manufactured by Numonics Inc. (http://www.numonics.com). The driver is an X Input module for the XFree86 server version 4 (http://www.xfree86.org). It has successfully been tested with version 4.1.0 and 4.2.0. The additional tools bundled with this package support the configuration and calibration of the board. This document covers the installation and configuration of the driver and the tools in a Unix environment such as Linux or Solaris. It is necessary to note that the installation and first-time configuration require some time and a good hot coffee might be helpful. If you are in a hurry, come back later. This package has been compiled as part of the Electronic Chalk Project (http://www.echalk.de) at the Free University of Berlin and is still under constant development and quality assurance. Unfortunatly the driver is based on an incomplete Numonics IPM specification draft provided by Guido Reuter , mcr Informationssysteme GmbH. Technical support or even feedback was not available from Numonics Inc. In order to install the driver and the tools follow the instructions below, in case of errors or difficulties consult the FAQ file included in this release that answers common questions. Please also keep in mind that this is a free and non-commercial project, commercial and exclusive customer support is not available. Installation Obtain the latest version of the driver and tools by visiting the Roqefellaz website that hosts this project (http://www.roqe.org/xiipm). Unpack the source code somewhere on your filesystem $ gzip -dc xiipm-x.y.z.tar.gz | tar -xvf - (Replace x.y.z with the current version of the XIIPM project, e.g. while writing these lines the version is 0.8.4b). Change to the top source directory and configure the source code using the GNU configure script. $ cd xiipm-x.y.z $ ./configure You can provide several optional arguments to the configure script in order to adapt the compilation process to your system. E.g. the prefix option ./configure --prefix=/somewhere to change the installation path. Use ./configure --help to obtain a complete listing of all available options. If any errors occur during the compilation process consult the provided FAQ file. In general your system should meet the following pre-compilation requirements: - Unix/POSIX operating system and environment - GNU C compiler or similar C compiler (http://www.gnu.org/software/gcc) - POSIX Thread Library (http://www.gnu.org/software/pth) - XFree86 server version 4, libraries and headers (http://www.xfree86.org) If you meet all these requirements and the configure script did not output any error message, proceed by compiling the source code of the XIIPM package. $ make The make command will first build the provided tools in the tools/ directory (This is equal to issuing a make call inside this directory) and then continue to build the actual driver in the driver/ directory (This is equal to issuing a make call inside this directory). Watch the compilation process with care, in general warnings can be ignored but error message should be taken serious and will probably break the process. If your system aborts with a compilation error not covered in the FAQ file, contact me, Konrad Rieck, at . If I find some free time, I am going to check for your problem. If the no error occured you are on the good side. Run the following command and the installation process is complete. $ make install That's it. If everything has been installed correctly, running the following 2 commands should show manual pages provided with this package. You should read those manuals eventhough you might not understand all options at the first glance. Wisdom will come later. $ man ipm $ man ipmcali Take a small brake and then continue with the configuration. Configuration The configuration process of the Numonics IPM whiteboard is probably the trickiest thing. The first-time configuration is done in the XFree86 configuration file that usually can be found in /etc/X11/XF86Config or /etc/X11/XF86Config-4 if version 3 and version 4 are installed. Open this file and add a new "InputDevice" section that looks like the one below. # Numonics IPM device section Section "InputDevice" Identifier "IPM" Driver "ipm" Option "Device" "/dev/ttyS0" # Permanent Calibration of the Numonics IPM device EndSection Lines starting with a # represent comments. Before proceeding change the device path of your Numonics IPM board by replacing the /dev/ttyS0 with the path to your Numonics IPM device. Usually this will be a serial port, /dev/ttyS0 for serial port 1 and /dev/ttyS1 for serial port 2. If you are not sure about the path to your board device, use the debug tool ipmdump(1) provided with this package to find the path. The XFree86 driver uses a permanent and a volatile calibration. The permanent calibration is loaded when the server is started, in general this calibration should contain the basic area of the whiteboard. The volatile calibration is later used to fine-tune this area to exactly the projected polygon. If the server is restarted the volatile calibration is lost. The permanent calibration is inserted into the XFree86 configuration file, you edited just some minutes before. But before re-editing the file, first calibrate the board for the first-time. Launch the calibration utility with the following options and follow the instructions provided on the screen of your system. This command needs to be executed under an active X server session. $ ipmcal -s /dev/ttyS0 The calibration utility ipmcali will output some configuration lines for the XFree86 configuration file. Copy these lines into the "InputDevice" section you created before, right after the comment in this section. Your "InputDevice" section should now look similar to this sample section: # Numonics IPM device section Section "InputDevice" Identifier "IPM" Driver "ipm" Option "Device" "/dev/ttyS0" # Permanent Calibration of the Numonics IPM device # Insert the following lines into the InputDriver section inside # the XF86Config file that defines the Numonics device. # For more information see the Numonics driver man page IPM(4x). Option "TopLeftX" "503" Option "TopLeftY" "42421" Option "TopRightX" "54083" Option "TopRightY" "42133" Option "BottomLeftX" "454" Option "BottomLeftY" "312" Option "BottomRightX" "53022" Option "BottomRightY" "211" EndSection Finally you need to add your input device to the overall device configuration of your XFree86 server. This is done by adding the following line inside the "ServerLayout" section. You can find the "ServerLayout" section by searching for something like 'Section "ServerLayout"' InputDevice "IPM" "AlwaysCore" If you have added all these lines to your XFree86 configuration, it is time to test the new setup. This depends on the way you run your X server, usually the server is invoked from a display manager, e.g. xdm, kdm or gdm. If you have enabled a graphical login such a display manager is running, therefore it is only necessary to logoff from your current session and kick the X server using the key-sequence --. If you are not using a display manager, you have probably launched the X server manually via startx or something similar. Kill the X server using the above key sequence or the kill command and relaunch the server. If the server is back up or dies, consult the file XFree86 log file for precise information, the file is usually located in /var/log/XFree86.0.log. The "0" in the name of the log file represents the display you are using, most system only have one display and therefore refer to number "0". If there exist any error message dealing with the IPM driver in the this log file, see the FAQ file from this package. You're XFree86 server is now running and moving the pen on the electronic whiteboard should now also move the pointer on the screen/projection. You can now do the volatile calibration to fine tune your setup. You also need to do the following steps if you are changing the position of the projection beamer or the electronic whiteboard. Run the calibration tool without any extra options. $ ipmcali /dev/ttyS0 And follow the instructions provided by the calibration utility. It will store the current calibration in a file in the /tmp directory that will be read when you place the next stroke on the Numonics IPM board. Voila! Credits & Thanks The XFree86 X Input driver and the tools have been developed by Konrad Rieck as part of the Electronic Chalk project. Mental support has been provided by the academic instances G. Friedland, L. Knipping and Prof. R. Rojas. A specification draft for the Numonics IPM Whiteboard has been provided by Guido Reuter, mcr Informationssysteme GmbH. Any problems regarding these specifications should be directed to Guido Reuter. Thanks to my girlfriend and my close friends that have been bored with the sluggish development of this driver and especially the development processes details. Cheers. Konrad Rieck , http://www.roqe.org/xiipm $Id: README,v 1.1.1.1 2004/03/29 19:17:26 kr Exp $