Welcome to the HARCToolbox project!
| Date | Description |
|---|---|
| 2011-01-10 | Initial version. Creation of domain www.harctoolbox.org. |
| 2012-05-01 | Incorporated IrpMaster and IrMaster as subprojects, just as lirc2xml (moved from my personal home site) and the LIRC CCF patch (published for the first time). General reconstruction of site. Release of version 0.1.2 of IrpMaster, version 0.1.2 of IrMaster, version 0.7.0 of Harctoolbox (unfinished...), as well as the version 0.1.2 of lirc2xml. |
Introduction
Since 2006 I have been writing software, designed file formats, and classified remote control signals, revolving around infrared remote control and home automation. The "main project" (harctoolbox) is the original project. It deals with descriptions of IR protocols and signals, device descriptions, and descriptions of their interconnection.
In early 2011 I came to the conclusion, that my work on IR protocols was a dead end street. It was better to connect to and use the Internet knowledge, notable the so-called IRP notation, that was excellently formalized by Graham Dixon in early 2010. This started the IrpMaster project, in which the IRP notation was completely implemented (with one exception, which is rather a specification flaw than an omission of practical importance).
For IrpMaster, the goal was correctness and completeness, without any compromises for user friendliness. In particular, it does not contain a graphical user interface, and its command line interface appears to be a nightmare, even for the "experts". Instead, the project IrMaster was started, to allow a user friendly, interactive access to the functionality of IrpMaster. As a graphical "meta program", it also fulfills some other tasks, see its documentation.
In the light of these projects, the main project harctoolbox has gone slightly "stale". It contains some parts, like hardware access, that is used by IrMaster. It still contains a lot of very interesting and relevant stuff, however, it needs to be restructured. Hopefully, this will take place later this year.
The program lirc2xml was posted on the LIRC mailing list in 2009 (without any response :-), and has been residing on my private web page since then.
lirc_ccf: The idea to modify the LIRC server to allow for directly sent CCF signals was originally sent to me in private mail from Bitmonster (of Eventghost). I made a preliminary version some time later, this was communicated to him and submitted to the then-maintainer Christian Barthelmus, who promptly rejected it (some more details in the documentation). This is its first real "publishing".
There are presently over 30000 lines of source code, in Java and other languages, contained herein.
The present work is copyrighted by myself, and available under the GNU General Public License version 3. In the future, it may also be available under additional conditions, so-called dual licensing. (If interested in a commercial license, please contact me.) File formats are in the public domain, including their machine readable descriptions, i.e. DTD and schema files.
As a working project name, as well as in the Java module names, the name Harc, which is simply an acronym for "Home Automation and Remote Control", was used. Unfortunately, that name is far too generic to register as an Internet domain. There is even a Sourceforge project named Harc, (inactive since 2002). For this reason the project was renamed to HARCToolbox early 2011, and the domain www.harctoolbox.org created.
Overview
IrpMaster is a very advanced renderer of infrared signals. That is, from an abstract description consisting of a protocol name, and some parameter values, it computes the corresponding infrared signal, as a sequence of gaps and flashes. It is intended to be used both from its API, as well as an interactive (command line) program, both offline (generating files etc) as well as in real-time applications (generating signals to be sent to hardware equipment). The program does not attempt to be "user friendly", and does not, e.g., contain a graphical user interface.
IrMaster's main purpose is to be a user friendly user interface to IrpMaster. But it does not end there: it also integrates/interfaces with other projects, like the alternative, "classical" IR renderer Makehex, the DecodeIR "inverse renderer", the analyzeIR library, the Harctoolbox main project etc. It can generate export files in different formats, it can address networked hardware directly (presently GlobalCaché, IRTrans LAN module, and a patched LIRC server. (Please note that IrMaster and Irpmaster are two different projects. IrMaster depends on IrpMaster, but not vice versa.)
As described in the introduction, the main project is presently slightly "stale". Hopefully, it will be restructured soon. Still some unique stuff therein, though...
In the context of the LIRC project, there is a large body of recoded infrared signals in "LIRC format". For many users of home automation and remote control, it would be desirable to use this knowledge outside of the LIRC framework. Unfortunately, the LIRC format (lircd.conf) is is all but well documented. The program lirc2xml therefore uses LIRC itself to decode and export its signals, here to (somewhat arbitrarily) an XML file, that can be further processed.
Finally, the LIRC patch for CCF signals describes an enhancement to the LIRC server.
Content
- HarcToolbox, main project.
- IrpMaster, the IR renderer.
- IrMaster, the general purpose IR program.
- Lirc2xml, a program for extracting IR codes from LIRC files.
- LIRC CCF patch, to make the LIRC server more usable.
- Relationship to other, similar projects.
- Downloads.
General background links
- SB-Projects' IR Remote Control Theory. A very good place to start leaning about IR protocols. Covers the basics of infrared signals, and its modulation. Not too long, not too "dummy"-oriented.
- JP1 wikiMany articles, of different ages and qualities, are collected here, in a clearly arranged way.
Finally...
Please also see my homepage (in particular the Home Automation and Remote Control page (unfortunately slightly outdated)), and my consulting page (the latter in German).






