README file for libirman v0.5.0
by Tom Wheeley <tomw@tsys.demon.co.uk>
v0.5.1 maintenance release by Alec Leamas
- Bugfix for --enable-swtest configure option FTBS failure
- Clean up plugin installation
v0.5.0 maintenance release by Alec Leamas
- Always build the irman.test* tools.
- If compiled with lirc > 0.9.3, builds the irman lirc plugin (i. e., driver).
Disable using the new --without-plugin configure option.
- Update autotools setup to current standards.
- Added pkg-config support (libirman.pc).
- Added VPATH build support.
Copyright and Licensing
libirman v0.4.5, Copyright (C) 1998,1999 Tom Wheeley <tomw@tsys.demon.co.uk>
The files which make up the library are covered under the GNU Library
General Public License, which is in the file COPYING.lib.
The files which make up the test programs and the documentation are covered
under the GNU General Public License, which is in the file COPYING.
Introduction
libirman is a library for accessing the IRMAN hardware from Linux
and other Unix systems.
Currently the package is mainly for advanced users and developers; this
does not mean that less experienced users will not be able to use it, but
that there are not a lot of applications for libirman at the moment, and
that if you run into problems you may have difficulty fixing things.
Read the file TECHNICAL to see how libirman works, and how to use it in your
applications.
Use with LIRC
For general applications programming, the preferred interface for infra-red
control is `lirc', as lirc supports multiple programs sharing the same
infra-red receiver. It does this by providing a socket based interface to
which several programs can connect.
lirc uses libirman to interface with the Irman hardware, so in single use
applications directly using libirman is simpler and uses less system
resources. Currently, lirc only works on Linux systems, so programs written
using libirman directly are more portable.
Prior to lirc 0.9.4 lirc depended on libirman to build the libirman support.
From lirc 0.9.4 and libirman 0.5.0 lirc does not depend on libirman. Instead,
the libirman package can build the required lirc plugin with the new
--with-plugin configure option.
Other Information
my homepage
http://www.tsys.demon.co.uk
libirman homepage
http://www.evation.com/libirman/
Irman hompage
http://www.evation.com/irman/
LIRC homepage
http://www.lirc.org/
Infra red remotes (technical information)
http://falcon.arts.cornell.edu/~dnegro/IR/IR.html
Universal Infra Red Receiver (build your own Irman)
http://www.geocities.com/SiliconValley/Sector/3863/infrared.html
Installation
To build libirman, run
autoreconf -fi
./configure
make
make install
The autoreconf step is optional, but recommended. You can also build
without cluttering the sources:
autoreconf -fi
mkdir _build; cd _build
../configure
make
make install
You may well like to check the available options to configure by typing
./configure --help
the most important are: --prefix ,--enable-swtest and without-plugin.
This will create the following important files:
libirman.a The library which talks to the irman and manages the results
test_io Test program for the low level functions in libirman
test_func Test program for the mid-level functions in libirman
test_name test program for the name functions.
workmanir Program to control workman via infra red
irman.so LIRC irman plugin
By default they are installed in /usr/local besides the LIRC plugin which is
installed as defined by LIRC. If you do not use the --prefix option to
`configure' then you will need to be root to run `make install'; installing
the LIRC plugin typically also requires root permissions.
Using libirman
Firstly, you should test that the system works. Run `test_io' with the
hardware plugged in and see if code numbers appear on the screen when you
press buttons on your remote control.
Once the basic hardware works, you should run `test_func' to help you set up
libirman for your remote control. Make sure you have available virtual
consoles, or are running either `screen' or `X' or some other similar
multi-tasking aid.
The file `irman.conf' should be copied to /usr/local/etc/irman.conf. You may
want to copy this to `~/.irmanrc'. libirman searches first for ~/.irmanrc,
and if that is not found reads /usr/local/etc/irman.conf.
Press each button on your remote control, and note down the number printed -
you need to add a `bind' line to your irmanrc file, noting the naming
convention used:
bind manufacturer-device-button code
once you have entered in the data for your remote control, you should change
the workman-* alias lines to point to your remote control's entries.
You may also like to specify the default port in the config file.
Once you have entered in names into your irman config file, try running
`test_name' to see if the bindings have worked. (You should see the names
you gave on the `bind' lines appear as you press the buttons).
To see if `workmanir' works, make sure you are already running `workman', then
start `workmanir' and try pressing buttons. Make sure you have changed the
`alias' lines in your irman.conf.
Testing
If you want to test libirman without using the irman hardware, you can run:
`./configure --enable-swtest; make'
which will create libirman_sw.a and programs *_sw (except test_io). These
will ask you to enter a twelve digit hex code to represent a code instead of
querying the hardware.
If you compile libirman with the define -DDEBUG_COMM then every byte
read/written from the serial port is printed to stdout.
(to do this run: CPPFLAGS=-DDEBUG_COMM ./configure; make clean; make)
Credits
Thankyou to the following:
Christoph Bartelmus <lirc@bartelmus.de>
maintainer of LIRC project.
Bill Ryder <bryder@sgi.com>
fix to make it work on SGI Indy's (and other Unix boxes)
MiniDisc, http://www.minidisc.org
for being just so damn cool.