[ Configuration File Format | Registry Keys]
Normally it is not necessary to know anything about the configuration file format. But if you're trying to improve the reliability of your transmitter, or add some codes that don't exist on your remote, it can be nice to know this. If you're writing an application which translates the configuration from say Pronto or Slinke or another format to LIRC format, this is essential. In this section pulses refer to the times during which a sequence of infrared bursts at the appropriate carrier frequency is being sent and spaces refer to times in the idle state.
The files may contain an unlimited number of comments and remote blocks. Whitespace and line breaks are used as delimiters.
If the comment character (#) appears as the first character on a line the rest of the line is ignored.
Remote blocks begin with
begin remote and end with
end remote. The first part of this section
describes the basic properties of the remote. Following this is a codes section, which is delimited by
begin codes and
end codes or by
begin raw_codes and
end raw_codes depending
on whether they represent the decoded signals or the raw signals.
Each line in this section contains a parameter followed by the value or values that should be assigned to that parameter. Most of these parameters are optional except for name. You may not assign the same name to two different remotes in the same configuration file. See the Remote Parameters section for more details.
Each line in this section contains the name of a button on the remote followed by its hexidecimal data value. You may not assign the same name to two buttons in the same remote section
A button description begins with the parameter
name and followed by the name of the button. The button description
ends with the next button description or the end of the raw_codes block. The lines in between consist of a list of decimal numbers
describing the signal sent by that button.
The first number indicates the duration of the first pulse in microseconds. The second number indicates the duration of the space
which follows it. Pulse and space durations alternate for as long as is necessary. The last duration should represent a pulse.
All values are decimal integers that are either dimensionless or have units of microseconds unless otherwise stated. Hexidecimal numbers should be prefixed by 0x. If the remote does not have a particular "feature," then the line may be omitted. The button code is sent just after the pre signal and just before the post signal.
bits<number of data bits>
flags<flag1><|flag2>. . . etc.
eps<relative error tolerance>
aeps<absolute error tolerance>
pre_data_bits<number of pre_data_bits>
post_data_bits<number of post data bits>
min_repeat<minimum number of repetitions>
toggle_bit<bit to toggle>
In this section complement means 1's are replaced by 0's and 0's are replaced by 1's (e.g., the complement of 0xA2 is 0x5D).
bits 16 flags SPACE_ENC|REVERSE|CONST_LENGTH|SPECIAL_TRANSMITTER header 9000 4000 one 700 1400 zero 700 350 ptrail 700 pre_data_bits 16 gap 100000 transmitter 0x05 # DTR hardware carrier (no carrier frequency for control by wire)
The value for pre_data should be the device code (8 bits) preceded by its complement. Known device codes are A1, A2, A4, A5, A8, and AB. They stand for tape, cd-player, tuner, receiver, laserdisc, and VCR respectively. The button code values should be the data code (8 bits) preceded by its complement. Most of this information was derived from Kai Fett's webpage, who indicates support from pioneer. The control by wire seems to be capable of any "full logic" (i.e., not mechanical) function available from the front panel of a device. And not merely the codes listed on that website.
bits 16 flags SPACE_ENC|REVERSE header 9067 4393 one 642 470 zero 642 1600 ptrail 642 repeat 9065 2139 pre_data_bits 16 gap 39597
The value for pre_data should be the "custom code" (8 bits) followed by its complement. The button code values should be the "data code" (8 bits) followed by its complement. Custom codes and data codes for Yamaha's current productline are available in the Infrared codes section of yamaha's website. Their latest home theater equipment supports "extended" codes not found on the remote control.
bits 24 flags SPACE_ENC|CONST_LENGTH header 4141 3819 one 679 1757 zero 679 785 ptrail 679 gap 62910 frequency 57600
The button code values seem to be the device code (4 bits) followed by the data code (8 bits), then the complement of the device code, and the complement of the data code.
The registry keys are placed (and sought) in HKLM\software\LIRC if possible, otherwise HKCU is used.
Copyright (C) 2002 Scott Baily <firstname.lastname@example.org>.
Last update: Tuesday, August 6, 2002 at 09:17 PM
Hits (since May 21, 2001):