Page 2 of 3

Posted: Mon Aug 09, 2010 9:38 pm
by jyll
Makes sense, now I am certain how to get Device:OBC, so if something doesn't fit is because the table doesn't agree with my universal remote codes.

Did you see my edit about the Phillips BP6 remote? Its config file uses only 3 hex digits. Another uses 2 hex digits.

How could LIRC work with 2, 3, or 4 hex digits for different Phillips remotes? I expected something more standard.

With only 2 hex digits, you only have 8 bits to encode a RC5 bitstream???

Unless they are not all RC5, but only 2 hex digits!!

http://lirc.sourceforge.net/remotes/philips/26PFL5604H

Code: Select all

          Power                    0xF3
          TV                       0x60
          SUBTITLE                 0xB4
          TELETEXT                 0xC3
          SOURCE                   0xC7
#red
          DEMO                     0x92
#green
          SCENEA                   0x91
#help
          yellow                   0x90
#blue AudioDescriptor
          AD                       0x8F
          Home                     0xAB
          GUIDE                    0x33
          OPTIONS                  0xBF
          up                       0xA7
          left                     0xA5
          OK                       0xA3
          right                    0xA4
          down                     0xA6
          BACK                     0xF5
          INFO                     0xF0
          <<                       0xD4
          Play                     0xD3
          >>                       0xD7
          Stop                     0xCE
          Record                   0xC8
          Vol+                     0xEF
          Vol-                     0xEE
          Mute                     0xF2
          FORMAT                   0x0A
          P+                       0xDF
          P-                       0xDE
          1                        0xFE
          2                        0xFD
          3                        0xFC
          4                        0xFB
          5                        0xFA
          6                        0xF9
          7                        0xF8
          8                        0xF7
          9                        0xF6
          SOUND                    0x0B
          0                        0xFF
          PICTURE                  0x0C

Posted: Mon Aug 09, 2010 10:27 pm
by 3FG
The upgrade section here has a file for the Philips 32PFL5604H/12. It uses the RC6 IR protocol, device 0.

The IRP notation for this is {36k,444,msb}<-1,1|1,-1>(6,-2,1:1,0:3,<-2,2|2,-2>(T:1),D:8,F:8,^107m)+
So there are 8 bits of device data and 8 bits of function data.

The OBCs in the above upgrade file are the complement of the data you have given. So I surmise that the device=0 information is stored somewhere in the header of the LIRC file.

Posted: Tue Aug 10, 2010 8:20 am
by johnsfine
jyll wrote:With only 2 hex digits, you only have 8 bits to encode a RC5 bitstream???

Unless they are not all RC5, but only 2 hex digits!!

http://lirc.sourceforge.net/remotes/philips/26PFL5604H
In that file, notice these lines

Code: Select all

  pre_data_bits   13
  pre_data       0xEFF
That means the first 13 bits of each signal are 0 1110 1111 1111
The two hex digits listed for each function are only the last 8 bits of that function's signal.

It also should be obvious that this LIRC file is inverting all bits (0 vs. 1) from the way they are descibed in our IRP notation. So we would say the first 13 bits are
1 0001 0000 0000
The group of three 0's means RC6 mode 0. The group of eight 0's are the device code 0.
How could LIRC work with 2, 3, or 4 hex digits for different Phillips remotes? I expected something more standard.
LIRC isn't even standard across different files for the same remote. There are multiple ways to encode the same set of signals in LIRC. You need to look at other info in the file in order to know what the hex data in each function actually means.

Posted: Tue Aug 10, 2010 12:37 pm
by jyll
All the info makes sense, thanks!

LIRC output is not very logical ...

0000000000001169 00 VCR_Pause
0000000000001169 01 VCR_Pause

instead of ...

0000000000001169 00 VCR_Pause
0000000000001969 01 VCR_Pause

Are the 00 and 01 next to the hex codes referring to the toggle bits?

Is not clear when LIRC outputs 1169h twice, but with a 00 and a 01 next to them, and doesn't show 1969h.

Posted: Tue Aug 10, 2010 1:03 pm
by The Robman
jyll wrote:Is not clear when LIRC outputs 1169h twice, but with a 00 and a 01 next to them, and doesn't show 1969h.
We'd need to see the complete LIRC file in order to answer that. My hunch is that there's an entry in there somewhere called "toggle" that would probably shed some light on it.

Posted: Tue Aug 10, 2010 1:18 pm
by jyll
If I follow the method posted before, I would expect a 1969h.

Also, how do you interpret the following in light of what we know:

pre_data_bits 2
pre_data 0x02

This is the header ...

Code: Select all

  name  PhilipsRC5
  bits           11
  flags RC5|CONST_LENGTH
  eps            20
  aeps           0

  header         0     0
  one            889  889
  zero           889  889
  plead          889
  ptrail         0
  foot           0     0
  repeat         0     0
  pre_data_bits  2 
  pre_data       0x02
  post_data_bits 0
  post_data      0x0
  pre            0     0
  post           0     0
  gap            113792
  toggle_bit     2
  frequency      36000
  duty_cycle     50

Posted: Tue Aug 10, 2010 2:04 pm
by The Robman
OK, this is for the VCR Pause button, so the binary that we're looking to generate is as follows:

111-00101-101001 or
110-00101-101001

The code you just posted indentifies the signal as 13 bits, where there are 2 "pre data" bits (set to 0x02 or 10b) and 11 "data" bits. It looks like the first bit of our data is taken care of with the "plead" entry.

The code defines the 2nd bit as a toggle_bit. So, it starts out as zero and gets set to one every other button press.

The 11 "data" bits are defined for each button, so 0x1169 becomes 00010-00101-101001, where I'm guessing that the first 5 bits are ignored (ie, 00010-).

I don't know why you're seeing the buttons twice with the extra byte in front of the button name, in fact I haven't seen LIRC buttons with the button names following the hex string before, we usually see the button name first and then the hex string, as it is in the full LIRC files that you posted.

I would still like to see the full file, posted all at once, not just posted in snippets, as I'm having to do a lot of guesswork when trying to decipher it.

The technical details of the LIRC format are listed here:
http://winlirc.sourceforge.net/technicaldetails.html

Posted: Tue Aug 10, 2010 2:50 pm
by jyll
Image

There's nothing else, just the header and the codes as posted before:

Code: Select all

begin remote
  name  Philips_RC5
  bits           11
  flags RC5|CONST_LENGTH
  eps            20
  aeps           0

  header         0     0
  one            889  889
  zero           889  889
  plead          889
  ptrail         0
  foot           0     0
  repeat         0     0
  pre_data_bits  2 
  pre_data       0x02
  post_data_bits 0
  post_data      0x0
  pre            0     0
  post           0     0
  gap            113792
  toggle_bit     2
  frequency      36000
  duty_cycle     50

      begin codes
          TV_0                     0x0000000000001000
          TV_1                     0x0000000000001001
          TV_2                     0x0000000000001002
          TV_3                     0x0000000000001003
          TV_4                     0x0000000000001004
          TV_5                     0x0000000000001005
          TV_6                     0x0000000000001006
          TV_7                     0x0000000000001007
          TV_8                     0x0000000000001008
          TV_9                     0x0000000000001009
          TV_Dot                   0x000000000000100A
          TV_Power                 0x000000000000100C
          TV_Mute                  0x000000000000100D
          TV_Info                  0x000000000000100F
          TV_VOL+                  0x0000000000001010
          TV_VOL-                  0x0000000000001011
          TV_Enter                 0x000000000000101A
          TV_CH+                   0x0000000000001020
          TV_CH-                   0x0000000000001021
          TV_PrevCH                0x0000000000001022
          TV_Ok                    0x000000000000102B
          TV_Input                 0x0000000000001038
          VCR_Enter                0x0000000000000145
          VCR_0                    0x0000000000001140
          VCR_1                    0x0000000000001141
          VCR_2                    0x0000000000001142
          VCR_3                    0x0000000000001143
          VCR_4                    0x0000000000001144
          VCR_5                    0x0000000000001145
          VCR_6                    0x0000000000001146
          VCR_7                    0x0000000000001147
          VCR_8                    0x0000000000001148
          VCR_9                    0x0000000000001149
          VCR_Dot                  0x000000000000114A
          VCR_Power                0x000000000000114C
          VCR_Info                 0x000000000000114F
          VCR_CH+                  0x0000000000001160
          VCR_CH-                  0x0000000000001161
          VCR_Pause                0x0000000000001169
          VCR_PrevCH               0x0000000000001171
          VCR_REW                  0x0000000000001172
          VCR_FF                   0x0000000000001174
          VCR_Play                 0x0000000000001175
          VCR_Stop                 0x0000000000001176
          VCR_REC                  0x0000000000001177
          VCR_Input                0x000000000000117E
      end codes
end remote

Posted: Tue Aug 10, 2010 3:08 pm
by The Robman
I want to see the file that this snippet was taken from because we're trying to determine what the "00" and "01" in front of the button name means ...
jyll wrote:LIRC output is not very logical ...

0000000000001169 00 VCR_Pause
0000000000001169 01 VCR_Pause
ps. I can't see the mediafire image (it's blocked), what does it show?

Posted: Tue Aug 10, 2010 3:30 pm
by jyll
That's what the image you can't see what's supposed to show. It shows LIRC's TCP output after I pressed the Pause button once.

I reuploaded the image to another server, can you see it?

Posted: Tue Aug 10, 2010 3:33 pm
by The Robman
I can see it now, what does that screen shot have to do with the LIRC file? I thought we were trying to decipher a LIRC file this whole time.

Posted: Tue Aug 10, 2010 3:41 pm
by jyll
According to the method previously posted, we should see 1169h and 1969h, but that's not what LIRC outputs.

EDIT: LIRC only outputs one hex code per button pressed, but uses a repeat count.

Posted: Tue Aug 10, 2010 4:05 pm
by jyll
I can also get RC5/RC5 extended commands using the IR Toy in RC5 mode (default). Taking the output for the VCR Pause button as an example:

{05}{69}{00}{00}{00}{00} {05}{69}{00}{00}{00}{00}

00000101 01101001 00000000 00000000 00000000 00000000

00000101 = 05h = VCR address (device)
01101001 = 69h = 0+1+101001 = 0 + RC5 2nd start bit + VCR Pause 41 command (OBC)

The leading 01b in the second byte (69h) is a padding "0" and a "1" for RC5's 2nd start bit 2 (always "1") or RC5x's field bit (for extended commands). A value of "1" specifies the lower field commands (0-63), and "0" is for RC5x's upper field commands (64-127).

Posted: Wed Aug 11, 2010 12:40 pm
by Barf
I would like to add my $0.02 here.

LIRC was never a project for analysis of IR signals, but a project for recording, recognizing, and re-sending of IR signals. The "notation" in the Lirc configuration files is therefore more to be considered as an internal, "private" notation, to be read by machines, but not by humans (with the exception of debugging and LIRC developers...) The winlirc documentation is almost certainly not reliable (several years old, much development have taken place since then), not written by the core developers, not maintained...

The complaint of not being logical and understandable is therefore, IMHO, not justified.

jyll, if you are really that interested, you should study the LIRC source code (freely available), in particular in the directory daemons. (Funny that no-one yet suggested it... :wink: )

Even worse,
LIRC isn't even standard across different files for the same remote. There are multiple ways to encode the same set of signals in LIRC. You need to look at other info in the file in order to know what the hex data in each function actually means.

For this reason, I consider the Lirc code as the only reliably source of information on the semantics of the Lirc files. I therefore wrote lirc2xml (also see forum thread) as a patch to the Lirc sources. Running the Lirc files a few postings earlier through lirc2xml produces the output below (of course, I should not forget to mention: with the help of decodeIR).


Code: Select all

<lircremotes creation-date="Wed Aug 11 19:15:15 2010" creator="Bengt Martensson" lircversion="0.8.6" lirc2xml_version="0.1.1" configfile="y.lirc" decodeir_version="2.40">
  <remote name="Philips_RC5">
    <lircdata type="RC5" bits="11" flags="16386" eps="20" aeps="0" pthree="0" sthree="0" ptwo="0" stwo="0" pone="889" sone="889" pzero="889" szero="889" plead="889" ptrail="0" pfoot="0" sfoot="0" prepeat="0" srepeat="0" pre_data_bits="2" pre_data="2" post_data_bits="0" post_data="0" pre_p="0" pre_s="0" post_p="0" post_s="0" gap="113792" gap2="0" repeat_gap="0" toggle_bit="0" toggle_bit_mask="2048" min_repeat="0" min_code_repeat="0" freq="36000" duty_cycle="50" toggle_mask="0" rc6_mask="0" baud="0" bits_in_byte="0" parity="0" stop_bits="0" ignore_mask="0"/>
    <code name="TV_0" codeno="0x0000000000000000">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="0" hex0="252" hex1="253" hex2="254" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000d 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0cc0</ccf>
    </code>
    <code name="TV_1" codeno="0x0000000000000001">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="1" hex0="248" hex1="249" hex2="250" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000d 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0ca0</ccf>
    </code>
    <code name="TV_2" codeno="0x0000000000000002">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="2" hex0="244" hex1="245" hex2="246" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0cc0</ccf>
    </code>
    <code name="TV_3" codeno="0x0000000000000003">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="3" hex0="240" hex1="241" hex2="242" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000d 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0020 0ca0</ccf>
    </code>
    <code name="TV_4" codeno="0x0000000000000004">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="4" hex0="236" hex1="237" hex2="238" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0020 0020 0cc0</ccf>
    </code>
    <code name="TV_5" codeno="0x0000000000000005">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="5" hex0="232" hex1="233" hex2="234" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0040 0020 0ca0</ccf>
    </code>
    <code name="TV_6" codeno="0x0000000000000006">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="6" hex0="228" hex1="229" hex2="230" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0040 0cc0</ccf>
    </code>
    <code name="TV_7" codeno="0x0000000000000007">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="7" hex0="224" hex1="225" hex2="226" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000d 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0020 0020 0020 0ca0</ccf>
    </code>
    <code name="TV_8" codeno="0x0000000000000008">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="8" hex0="220" hex1="221" hex2="222" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0020 0020 0020 0020 0cc0</ccf>
    </code>
    <code name="TV_9" codeno="0x0000000000000009">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="9" hex0="216" hex1="217" hex2="218" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0020 0020 0040 0020 0ca0</ccf>
    </code>
    <code name="TV_Dot" codeno="0x000000000000000A">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="10" hex0="212" hex1="213" hex2="214" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0040 0040 0cc0</ccf>
    </code>
    <code name="TV_Power" codeno="0x000000000000000C">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="12" hex0="204" hex1="205" hex2="206" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0040 0020 0020 0cc0</ccf>
    </code>
    <code name="TV_Mute" codeno="0x000000000000000D">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="13" hex0="200" hex1="201" hex2="202" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0040 0040 0020 0ca0</ccf>
    </code>
    <code name="TV_Info" codeno="0x000000000000000F">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="15" hex0="192" hex1="193" hex2="194" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000d 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0ca0</ccf>
    </code>
    <code name="TV_VOL+" codeno="0x0000000000000010">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="16" hex0="188" hex1="189" hex2="190" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0020 0020 0020 0020 0020 0020 0cc0</ccf>
    </code>
    <code name="TV_VOL-" codeno="0x0000000000000011">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="17" hex0="184" hex1="185" hex2="186" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0020 0020 0020 0020 0040 0020 0ca0</ccf>
    </code>
    <code name="TV_Enter" codeno="0x000000000000001A">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="26" hex0="148" hex1="149" hex2="150" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0040 0040 0040 0cc0</ccf>
    </code>
    <code name="TV_CH+" codeno="0x0000000000000020">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="32" hex0="124" hex1="125" hex2="126" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0020 0020 0020 0020 0020 0020 0020 0020 0cc0</ccf>
    </code>
    <code name="TV_CH-" codeno="0x0000000000000021">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="33" hex0="120" hex1="121" hex2="122" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0020 0020 0020 0020 0020 0020 0040 0020 0ca0</ccf>
    </code>
    <code name="TV_PrevCH" codeno="0x0000000000000022">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="34" hex0="116" hex1="117" hex2="118" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0020 0020 0020 0020 0040 0040 0cc0</ccf>
    </code>
    <code name="TV_Ok" codeno="0x000000000000002B">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="43" hex0="80" hex1="81" hex2="82" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0040 0040 0040 0020 0020 0020 0ca0</ccf>
    </code>
    <code name="TV_Input" codeno="0x0000000000000038">
      <decoding protocol="RC5" device="0" subdevice="-1" obc="56" hex0="28" hex1="29" hex2="30" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0020 0020 0040 0020 0020 0020 0020 0cc0</ccf>
    </code>
    <code name="VCR_Enter" codeno="0x0000000000000145">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="5" hex0="232" hex1="233" hex2="234" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0040 0040 0040 0020 0ca0</ccf>
    </code>
    <code name="VCR_0" codeno="0x0000000000000140">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="0" hex0="252" hex1="253" hex2="254" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0cc0</ccf>
    </code>
    <code name="VCR_1" codeno="0x0000000000000141">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="1" hex0="248" hex1="249" hex2="250" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0ca0</ccf>
    </code>
    <code name="VCR_2" codeno="0x0000000000000142">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="2" hex0="244" hex1="245" hex2="246" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0020 0020 0040 0040 0cc0</ccf>
    </code>
    <code name="VCR_3" codeno="0x0000000000000143">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="3" hex0="240" hex1="241" hex2="242" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0020 0020 0040 0020 0020 0020 0ca0</ccf>
    </code>
    <code name="VCR_4" codeno="0x0000000000000144">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="4" hex0="236" hex1="237" hex2="238" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0040 0040 0020 0020 0cc0</ccf>
    </code>
    <code name="VCR_5" codeno="0x0000000000000145">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="5" hex0="232" hex1="233" hex2="234" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0040 0040 0040 0020 0ca0</ccf>
    </code>
    <code name="VCR_6" codeno="0x0000000000000146">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="6" hex0="228" hex1="229" hex2="230" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0040 0020 0020 0040 0cc0</ccf>
    </code>
    <code name="VCR_7" codeno="0x0000000000000147">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="7" hex0="224" hex1="225" hex2="226" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0040 0020 0020 0020 0020 0020 0ca0</ccf>
    </code>
    <code name="VCR_8" codeno="0x0000000000000148">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="8" hex0="220" hex1="221" hex2="222" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0040 0040 0020 0020 0020 0020 0cc0</ccf>
    </code>
    <code name="VCR_9" codeno="0x0000000000000149">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="9" hex0="216" hex1="217" hex2="218" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0040 0040 0020 0020 0040 0020 0ca0</ccf>
    </code>
    <code name="VCR_Dot" codeno="0x000000000000014A">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="10" hex0="212" hex1="213" hex2="214" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 0009 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0040 0040 0040 0040 0cc0</ccf>
    </code>
    <code name="VCR_Power" codeno="0x000000000000014C">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="12" hex0="204" hex1="205" hex2="206" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0040 0020 0020 0040 0020 0020 0cc0</ccf>
    </code>
    <code name="VCR_Info" codeno="0x000000000000014F">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="15" hex0="192" hex1="193" hex2="194" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0ca0</ccf>
    </code>
    <code name="VCR_CH+" codeno="0x0000000000000160">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="32" hex0="124" hex1="125" hex2="126" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0cc0</ccf>
    </code>
    <code name="VCR_CH-" codeno="0x0000000000000161">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="33" hex0="120" hex1="121" hex2="122" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0040 0020 0020 0020 0020 0020 0020 0040 0020 0ca0</ccf>
    </code>
    <code name="VCR_Pause" codeno="0x0000000000000169">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="41" hex0="88" hex1="89" hex2="90" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0040 0040 0040 0020 0020 0040 0020 0ca0</ccf>
    </code>
    <code name="VCR_PrevCH" codeno="0x0000000000000171">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="49" hex0="56" hex1="57" hex2="58" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0020 0020 0040 0020 0020 0020 0020 0040 0020 0ca0</ccf>
    </code>
    <code name="VCR_REW" codeno="0x0000000000000172">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="50" hex0="52" hex1="53" hex2="54" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0020 0020 0040 0020 0020 0040 0040 0cc0</ccf>
    </code>
    <code name="VCR_FF" codeno="0x0000000000000174">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="52" hex0="44" hex1="45" hex2="46" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0cc0</ccf>
    </code>
    <code name="VCR_Play" codeno="0x0000000000000175">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="53" hex0="40" hex1="41" hex2="42" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0ca0</ccf>
    </code>
    <code name="VCR_Stop" codeno="0x0000000000000176">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="54" hex0="36" hex1="37" hex2="38" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0020 0020 0040 0040 0020 0020 0040 0cc0</ccf>
    </code>
    <code name="VCR_REC" codeno="0x0000000000000177">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="55" hex0="32" hex1="33" hex2="34" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0020 0020 0040 0040 0020 0020 0020 0020 0020 0ca0</ccf>
    </code>
    <code name="VCR_Input" codeno="0x000000000000017E">
      <decoding protocol="RC5" device="5" subdevice="-1" obc="62" hex0="4" hex1="5" hex2="6" hex3="-1" misc="no repeat: T=0" error=""/>
      <ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0cc0</ccf>
    </code>
  </remote>
</lircremotes>

Posted: Thu Aug 12, 2010 10:33 am
by jyll
The output I was seeing had to do with the repeat count (00, 01, 02, 03, ...), it wasn't related to the toggle bit.

LIRC only sends one hex code for each button pressed, but my remote sends the first repeat too fast so that's why I was getting the hex code twice.

I got this ...

000000000000001169 00
000000000000001169 01

but could have seen this, too ...

000000000000001169 00
000000000000001169 01
000000000000001169 02
000000000000001169 03