XIIPM 0.8.4b - XFree86 Input Driver for Numonics IPM

Copyright © 2002 by Konrad Rieck

Introduction

This package contains a driver and tools for the electronic whiteboard models IPM 1000RM and IPM 2000RM manufactured by Numonics Inc.. The driver is an X Input module for the XFree86 server version 4. 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 package has been compiled as part of the Electronic Chalk Project at the Free University of Berlin and is still under constant development and quality assurance. 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.


Changes

Version Date Changes
0.8.4b 2002-09-24 First public beta version.


Downloads

Source packages
Release Source Package Size
XIIPM 0.8.4b xiipm-0.8.4b.tar.gz 168kb


Details

The following files are provided with each release and cover the installation and configuration of the driver and the tools

The XIIPM package is licensed under the MIT/X Consortium License as most other available XFree86 Input drivers.


Installation

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. 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.


Usage

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 [CTRL]-[ALT]-[BACKSPACE].

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!



back