Menu

Tree [fb4711] master rel-0.5.2 /
 History

HTTPS access


File Date Author Commit
 lirc-plugin 2015-10-27 Alec Leamas Alec Leamas [2d83a0] plugin: Fix logging issues.
 m4 2016-05-18 Alec Leamas Alec Leamas [fb4711] Update for 0.5.2 release.
 .gitignore 2016-05-18 Alec Leamas Alec Leamas [fb4711] Update for 0.5.2 release.
 AUTHORS 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 COPYING 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 COPYING.lib 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 ChangeLog 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 INSTALL 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 Makefile.am 2015-10-27 Alec Leamas Alec Leamas [173a62] build: Fix parallel make glitch.
 NEWS 2016-05-18 Alec Leamas Alec Leamas [fb4711] Update for 0.5.2 release.
 README 2016-05-18 Alec Leamas Alec Leamas [fb4711] Update for 0.5.2 release.
 TECHNICAL 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 TODO 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 chunk.c 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 chunk.h 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 compile 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 configure.ac 2016-05-18 Alec Leamas Alec Leamas [fb4711] Update for 0.5.2 release.
 hashtable.c 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 hashtable.h 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 ircmd.c 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 irfunc.c 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 irio.c 2015-10-27 Alec Leamas Alec Leamas [61bb3c] Configure the sys/file.h header (Debian #436563).
 irman.conf 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 irman.h 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 libirman.pc.in 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 test_func.c 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 test_io.c 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 test_name.c 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository
 workmanir.c 2015-10-22 Alec Leamas Alec Leamas [2df286] Initial release in new repository

Read Me

README file for libirman v0.5.0
by Tom Wheeley <tomw@tsys.demon.co.uk>

v0.5.2 maintenance release by Alec Leamas
  - Plugin: Fix logging issues.
  - Configure the sys/file.h header (Debian #436563).
  - Build: Fix parallel make glitch.

v0.5.1 maintenance release by Alec Leamas
- Fix FTBS bug for --enable-swtest
- 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 static library which talks to the irman and
                manages the results
  libirman.so.* Equivalent dynamic libraries.

  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.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.