Page 1 of 1

Using IR codes recorded by Girder

Posted: Sat Oct 18, 2008 3:11 am
by palintl
Until now I've been using a TIRA infrared receiver and Girder to record and transmit signals. I'd like to upload those recorded codes to my JP1 remote.

Is it possible to translate the data recorded by Girder into the format needed by IR.exe?
Or use the TIRA to record the necessary data some other way (use it as if it were a learning remote)?
Or do I need to buy a cheap learning remote, use it to record the codes, upload them to IR.exe, download them to my primary remote?

Posted: Sat Oct 18, 2008 4:54 am
by nuke12
palintl wrote:Until now I've been using a TIRA infrared receiver and Girder to record and transmit signals. I'd like to upload those recorded codes to my JP1 remote.

Is it possible to translate the data recorded by Girder into the format needed by IR.exe?
Or use the TIRA to record the necessary data some other way (use it as if it were a learning remote)?
Or do I need to buy a cheap learning remote, use it to record the codes, upload them to IR.exe, download them to my primary remote?
Your JP1 remote is not a learning remote? What unit do you have?


This might help;

http://www.home-electro.com/jp1.php

Posted: Sat Oct 18, 2008 8:44 am
by palintl
It's an Atlas 1055 Day. The four digit setup codes do give me most of the functions of my other remotes but there are a few buttons on my television remote (the TV is a Panasonic Plasma TH-37PA20; I've no idea if it's remote has a proper name) that aren't duplicated.
I had assumed that since Girder is capable of recording the transmitted signal from any remote and then broadcasting it in a way that the device will accept, that I would be able to use JP1 to load those codes onto my Atlas. I don't know that it is possible, but I don't see how it differs from using a learning remote to record a code and uploading it to another remote via IR.exe.

Thank you for the link you posted. I have experimented a little with that program- unfortunately it doesn't fully support Panasonic devices so I had given up on trying to interpret the output into something IR.exe wants. Is the meaning of this obvious to somebody?
"Unprocessed timing of the signal. All times are in microseconds, odd fields are duration of bursts, even fields are duration of pauses"
Unknown Protocol, printing unprocessed data:
12288 832 256 560 256 568 256 568 256 568
256 560 256 1440 256 568 256 568 256 568
256 560 256 568 256 568 256 568 256 560
256 568 256 1440 256 568 256 568 256 1432
256 568 256 568 256 568 256 560 256 568
256 568 256 1440 256 1440 256 1432 256 1440
256 568 256 1440 256 1440 256 560 256 1440
256 568 256 1440 256 1432 256 568 256 1440
256 568 256 74776 256 4912 256 568 256 1440
256

Posted: Sat Oct 18, 2008 9:07 am
by nuke12
Well, the data string means nothing to me but others here probably know how to deal with it.

This might help with your Atlas remote;
https://www.hifi-remote.com/forums/dload ... le_id=5126

It appears some of the 1055 (day) remotes do have learning.

Posted: Sat Oct 18, 2008 3:00 pm
by The Robman
What setup code are you using on the Atlas to control your TV and what is the function that you learned and posted?

Could you learn a known button from the Atlas for the TV, like the POWER button for example and post the data, and also post the data for any buttons that you need codes for.

Posted: Sat Oct 18, 2008 7:40 pm
by palintl
My Atlas is set to TV code 0250. The code I posted is the ASPECT button on my Panasonic TV remote, as captured by the TIRA Protocol Analyzer program. Further testing shows that the results vary slightly each time (errors in measuring the timing?) so the data is certainly beyond my ability to reverse engineer. I've included examples in case it will have meaning to a person with more experience.
I've been looking through the Pasasonic code profiles available for download and I found a match for the Aspect Ratio button. The DOWN key in Panasonic_TH-42PWD7UY.txt will perform as the ASPECT button on my Panasonic remote (CBL code 1250, EFC 09754). Still need to find codes for Split Screen, Freeze Frame, and Move PIP.

Even if I do get lucky and find that someone has already posted data for all the codes I currently need, I still want to figure out how to capture them myself. It seems like it should be possible to do it with Girder.

Here are three recordings of Panasonic remote POWER (also the Atlas TV code 0250 Power button):
Uknown Protocol, printing unprocessed data:
12280 832 256 568 256 560 256 568 256 568
256 568 256 1440 256 560 256 568 256 568
256 568 256 560 256 568 256 568 256 568
256 568 256 1432 256 568 256 568 256 568
256 560 256 568 256 568 256 568 256 560
256 1440 256 568 256 1440 256 1440 256 1432
256 1440 256 568 256 568 256 1440 256 560
256 1440 256 1440 256 1440 256 1440 256 560
256 1440 256 74776 256 4920 256 568 256 1440
256
Protocol: NEC
Device Word 1: 0xff 255 (8 bits)
Command Word: 0xff 255 (8 bits)
EFC: 18
Uknown Protocol, printing unprocessed data:
12280 832 256 568 256 560 256 568 256 568
256 568 256 1440 256 560 256 568 256 568
256 568 256 560 256 568 256 568 256 568
256 568 256 1432 256 568 256 568 256 568
256 568 256 560 256 568 256 568 256 568
256 1432 256 568 256 1440 256 1440 256 1440
256 1432 256 568 256 568 256 1440 256 568
256 1432 256 1440 256 1440 256 1440 256 568
256 1432 256 74784 256 4920 256 568 256 1432
256
Protocol: NEC
Device Word 1: 0xff 255 (8 bits)
Command Word: 0xff 255 (8 bits)
EFC: 18
Uknown Protocol, printing unprocessed data:
12280 832 256 568 256 568 256 560 256 568
256 568 256 1440 256 560 256 568 256 568
256 568 256 568 256 560 256 568 256 568
256 568 256 1432 256 568 256 568 256 568
256 568 256 560 256 568 256 568 256 568
256 1432 256 568 256 1440 256 1440 256 1440
256 1432 256 568 256 568 256 1440 256 568
256 1432 256 1440 256 1440 256 1440 256 568
256 1432 256 74784 256 4912 256 568 256 1440
256
Protocol: NEC
Device Word 1: 0xff 255 (8 bits)
Command Word: 0xff 255 (8 bits)
EFC: 18

And three copies of the ASPECT button (which I have discovered a working code for, if I knew what I was doing that might be helpful)
Uknown Protocol, printing unprocessed data:
12280 832 256 568 256 568 256 560 256 568
256 568 256 1440 256 560 256 568 256 568
256 568 256 568 256 560 256 568 256 568
256 568 256 1440 256 560 256 568 256 1440
256 568 256 560 256 568 256 568 256 568
256 568 256 1432 256 1440 256 1440 256 1440
256 568 256 1432 256 1440 256 568 256 1440
256 568 256 1432 256 1440 256 568 256 1440
256 568 256 74776 256 4920 256 568 256 1432
256
Protocol: NEC
Device Word 1: 0xff 255 (8 bits)
Command Word: 0xff 255 (8 bits)
EFC: 18
Uknown Protocol, printing unprocessed data:
12280 832 256 568 256 568 256 560 256 568
256 568 256 1440 256 560 256 568 256 568
256 568 256 560 256 568 256 568 256 568
256 568 256 1432 256 568 256 568 256 1440
256 568 256 560 256 568 256 568 256 568
256 560 256 1440 256 1440 256 1440 256 1440
256 560 256 1440 256 1440 256 568 256 1440
256 560 256 1440 256 1440 256 568 256 1440
256 560 256 74776 256 4920 256 568 256 1440
256
Uknown Protocol, printing unprocessed data:
12280 832 256 568 256 568 256 560 256 568
256 568 256 1440 256 560 256 568 256 568
256 568 256 568 256 560 256 568 256 568
256 568 256 1432 256 568 256 568 256 1440
256 568 256 560 256 568 256 568 256 568
256 560 256 1440 256 1440 256 1440 256 1440
256 560 256 1440 256 1440 256 568 256 1440
256 560 256 1440 256 1440 256 568 256 1440
256 560 256 74784 256 4920 256 560 256 1440
256

And the SPLIT button (for which I need a code):
Uknown Protocol, printing unprocessed data:
12280 832 256 568 256 568 256 560 256 568
256 568 256 1440 256 560 256 568 256 568
256 568 256 568 256 560 256 568 256 568
256 568 256 1440 256 560 256 568 256 568
256 568 256 560 256 568 256 568 256 568
256 568 256 1432 256 1440 256 568 256 568
256 1440 256 1432 256 1440 256 568 256 1440
256 1440 256 568 256 560 256 1440 256 1440
256 568 256 74776 256 4920 256 568 256 1440
256
Uknown Protocol, printing unprocessed data:
12280 832 256 568 256 560 256 568 256 568
256 568 256 1440 256 560 256 568 256 568
256 568 256 568 256 560 256 568 256 568
256 568 256 1432 256 568 256 568 256 568
256 568 256 560 256 568 256 568 256 568
256 560 256 1440 256 1440 256 568 256 568
256 1432 256 1440 256 1440 256 568 256 1440
256 1440 256 560 256 568 256 1440 256 1440
256 560 256 74784 256 4920 256 568 256 1440
256
Uknown Protocol, printing unprocessed data:
12288 824 256 568 256 560 256 568 256 568
256 568 256 1440 256 560 256 568 256 568
256 568 256 560 256 568 256 568 256 568
256 568 256 1432 256 568 256 568 256 568
256 568 256 560 256 568 256 568 256 568
256 560 256 1440 256 1440 256 568 256 568
256 1432 256 1440 256 1440 256 568 256 1440
256 1440 256 560 256 568 256 1440 256 1440
256 568 256 74776 256 4920 256 568 256 1440
256

This is what Girder records (instead of the TIRA Protocol Analyzer) for the ASPECT button. Three recordings (all of which work when transmitted by Girder):
0 1 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 3 2 3 2 3 2 2 2 3 2 3 2 2 2 3 2 2 2 3 2 3 2 2 2 3 2 2 2 4 2 5 2 6 2 3 2 6 2 6 2 2 2 6 2 6 2 6 2 6 2 2 2 6 2 6 2 6 2 3 2 6 2 2 2 6 2 6 2 6 2 2 2 6 2 6 2 6 2 3 2 6 2 2 2 3 2 6 2 6 2 6 2 2 2 6 2 6 2 3 2 3 2 3 2 3 2 6 2 3 2 3 2 6 2 3 2 6 2 3 2 3 2 6 2 3 2 2 2

0 1 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 3 2 3 2 3 2 2 2 3 2 3 2 2 2 3 2 2 2 3 2 3 2 2 2 3 2 2 2 > 4 0 1 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 3 2 3 2 3 2 2 2 3 2 3 2 2 2 3 2 2 2 3 2 3 2 2 2 3 2 2 2

0 1 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 3 2 3 2 3 2 2 2 3 2 3 2 2 2 3 2 2 2 3 2 3 2 2 2 3 2 2 2 4 0 1 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 5 2 5 2 5 2 5 2 2 2 3 2 5 2 5 2 3 2 5 2 5 2 6 2 3 2 3 2 3 2

Posted: Sun Oct 19, 2008 7:20 pm
by The Robman
If I have a spare moment in the coming week, I will try decoding these signals for you.

Posted: Wed Oct 22, 2008 11:50 am
by The Robman
You should be able to use EFC 00206 with TV/0250 to make SPLIT work.

Posted: Wed Oct 22, 2008 1:05 pm
by palintl
That's great; thanks. Now I have all the functions that I had been duplicating via Girder. I'd still love to know if it's possible to use TIRA/Girder to capture codes directly (rather than relying on the kindness of experts). It's obviously not as simple as I imagined when I first heard about JP1.

Posted: Wed Oct 22, 2008 4:03 pm
by The Robman
If you have a basic understanding of what IR signals look like, you should be able to do it yourself. Start by reading this doc...

http://www.hifi-remote.com/infrared/

The strange thing about the signals you captured is that the first byte of the signal. I needed to see a known signal in order to confirm this.

In order to convert your code to binary, you would make the following edits:

0 = 256 560
1 = 256 1440

Remember that these timings are approximate, so "257 1432" would also equate to 1.

The three codes that you posted, converted to binary, look like this...

POWER
0000010000000001000000001011110010111101

ASPECT
0000010000000001001000000111101101011010

SPLIT
0000010000000001000000000110011101100110

Here's the binary for a couple of regular Panasonic signals:

Power On
010000000000010000000001000000000111110001111101

Component 1
010000000000010000000001001000000011111000011111

If you compare them, you'll see that line up if you shift your signals over by 8 bits:

Code: Select all

-------- 00000100 00000001 00000000 10111100 10111101 - power (yours)
01000000 00000100 00000001 00000000 01111100 01111101 - power on

-------- 00000100 00000001 00100000 01111011 01011010 - aspect (yours)
01000000 00000100 00000001 00100000 00111110 00011111 - component 1
To read the signals, you need to break them up into 8 bit chuncks (ie, bytes) as I have above. For Panasonic signals, the first two bytes are the OEM code, the next byte is the device code, the next is the sub-device code, the next is the OBC byte and the last one is a checksum.

To convert to decimal values, you need to read the binary backwards, so the binary for the device code in all the signals is 00000001, which read backwards is 10000000 and in decimal is 128.

The sub-device code is zero for the two power codes, which corresponds to the TV/0250 setup code. The sub-device for Aspect and Comp-1 is 4, which doesn't correspond to a specific setup code, however there are setup codes out there that use the Panasonic Combo protocol where the main device code is set at 128 and the sub-device code is set individually at the button level.