[ 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.
name
<remote name>bits
<number of data bits>flags
<flag1><|flag2>. . . etc.eps
<relative error tolerance>aeps
<absolute error tolerance>header
<phead> <shead>three
<pthree> <sthree>two
<ptwo> <stwo>one
<pone> <sone>zero
<pzero> <szero>ptrail
<trailing pulse>plead
<leading pulse>foot
<pfoot> <sfoot>repeat
<prepeat> <srepeat>pre_data_bits
<number of pre_data_bits>pre_data
<hexidecimal number>post_data_bits
<number of post data bits>post_data
<hexidecimal number>pre
<ppre> <spre>post
<ppost> <spost>gap
<gap length>repeat_gap
<repeat_gap length>min_repeat
<minimum number of repetitions>toggle_bit
<bit to toggle>frequency
<hertz>duty_cycle
<on time>transmitter
<hexidecimal number>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).
Typical Header:
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.
Typical Header:
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.
Typical Header:
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 <baily@uiuc.edu>.
Last update: Thursday, June 13, 2013 at 08:27 PM
Hits (since May 21, 2001):