Your Universal Remote Control Center
RemoteCentral.com
Philips Pronto NG Family Forum - View Post
Previous section Next section Up level
Up level
The following page was printed from RemoteCentral.com:

Login:
Pass:
 
 

Topic:
Problem Solved - Thanks Pronto Team!
This thread has 5 replies. Displaying all posts.
Post 1 made on Monday September 20, 2004 at 15:04
hellfire
Long Time Member
Joined:
Posts:
June 2004
82
I've been having a problem with the codes for my air-conditioner for some time and with the help of the pronto team (specifically Koen Bruyninckx), I've finally managed to solve the problem.

Thanks Koen and team! Also special thanks to johnsfine and Dave Houston for all the help and advice.


For details on problem and solution, read on...

I originally had a long code consisting of 2 commands as shown:

0000 007b 003a 0000 00a8 0048 000c 003b 000c 0017 000c
0017 000c 0017 000c 003b 000c 0017 000c 0017 000c 0017
000c 0017 000c 003b 000c 0017 000c 003b 000c 003b 000c
0017 000c 003b 000c 003b 000c 003b 000c 003b 000c 003b
000c 0017 000c 0017 000c 003b 000c 0017 000c 0017 000c
0017 000c 0017 000c 0017 000c 0017 000c 003b 000c 003b
000c 003b 000c 003b 000c 003b 000c 0017 000c 003b 000c
003b 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017
000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c
0017 000c 0017 000c 003b 000c 003b 000c 003b 000c 003b
000c 0017 000c 0017 000c 0017 000c 0017 000c 003b

and

0000 007b 006a 0000 00a8 0048 000c 003b 000c 0017 000c 0017 000c 0017 000c 003b 000c 0017 000c 0017 000c 0017 000c 0017 000c 003b 000c 0017 000c 003b 000c 003b 000c 0017 000c 003b 000c 003b 000c 003b 000c 003b 000c 003b 000c 0017 000c 0017 000c 003b 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 003b 000c 003b 000c 0017 000c 0017 000c 003b 000c 0017 000c 003b 000c 003b 000c 003b 000c 0017 000c 0017 000c 0017 000c 003b 000c 003b 000c 0017 000c 0017 000c 003b 000c 0017 000c 0017 000c 0017 000c 003b 000c 003b 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 003b 000c 0017 000c 0017 000c 0017 000c 0017 000c 003b 000c 0017 000c 003b 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 003b 000c 0017 000c 0017 000c 0017 000c 0017 000c 003b 000c 0017 000c 0017 000c 003b 000c 0017 000c 003b 000c 003b 000c 0017 000c 0048


PPENG kept rejecting the code as it was too long. After a series of mail exchange with the pronto team (and plenty of patience from Koen), they finally came back with a revised code as show below:

0000 007b 003a 0000 00a8 <003b> 000c 003b 000c 0017 000c
0017 000c 0017 000c 003b 000c 0017 000c 0017 000c 0017
000c 0017 000c 003b 000c 0017 000c 003b 000c 003b 000c
0017 000c 003b 000c 003b 000c 003b 000c 003b 000c 003b
000c 0017 000c 0017 000c 003b 000c 0017 000c 0017 000c
0017 000c 0017 000c 0017 000c 0017 000c 003b 000c 003b
000c 003b 000c 003b 000c 003b 000c 0017 000c 003b 000c
003b 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017
000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c
0017 000c 0017 000c 003b 000c 003b 000c 003b 000c 003b
000c 0017 000c 0017 000c 0017 000c 0017 000c 003b

and

0000 007b 006a 0000 00a8 <003b> 000c 003b 000c 0017 000c 0017 000c 0017 000c 003b 000c 0017 000c 0017 000c 0017 000c 0017 000c 003b 000c 0017 000c 003b 000c 003b 000c 0017 000c 003b 000c 003b 000c 003b 000c 003b 000c 003b 000c 0017 000c 0017 000c 003b 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 003b 000c 003b 000c 0017 000c 0017 000c 003b 000c 0017 000c 003b 000c 003b 000c 003b 000c 0017 000c 0017 000c 0017 000c 003b 000c 003b 000c 0017 000c 0017 000c 003b 000c 0017 000c 0017 000c 0017 000c 003b 000c 003b 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 003b 000c 0017 000c 0017 000c 0017 000c 0017 000c 003b 000c 0017 000c 003b 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 0017 000c 003b 000c 0017 000c 0017 000c 0017 000c 0017 000c 003b 000c 0017 000c 0017 000c 003b 000c 0017 000c 003b 000c 003b 000c 0017 000c <003b>

The reason this was done was to reduce the different number of ON/OFF times to 4. Since the Pronto software uses a compressed format to represend an IR code, 5 different ON/OFF times increases the internal size of the representation significantly because of the amount of bits necessary in that representation.

I was told this by the pronto guys of course and being the IR idiot that I am, I have no idea what that means (yes, even after reading Barry's fine document). All I know is that changes were made to the lead in and lead out bits, but how that relates to the on/off I have no idea.

So anyways, thanks again one and all!
Post 2 made on Monday September 20, 2004 at 15:39
johnsfine
IR Expert
Joined:
Posts:
September 2002
5,159
On 09/20/04 19:04 ET, hellfire said...
I have no idea what
that means (yes, even after reading Barry's fine
document).

Even a complete understanding of Barry's document wouldn't have helped in the slightest. Because it isn't an issue that exists at all in Pronto Hex. It is an issue that exists in the hidden format that PENG translates Pronto Hex into.

I know quite a lot about that hidden format and I certainly knew that this sort of change would shorten the code that results from translation to that hidden format.

Somehow I had lept to the wrong conclusion that PENG was rejecting the Pronto Hex BEFORE translation. Now I see that it was internally translating and rejecting the result.

I feel like I should have guessed this and thought of this trick as something to try to fix the problem. But I didn't.

I'm glad to hear that the result works. If I had thought of this basic idea I would have done it slightly differently. Changing that number on the end is completely safe, but changing "00a8 0048" into "00a8 003b" is questionable. The device receiving the signal cares about the total of those two numbers. Since the 00a8 appears no where else in the signal, changing it will have no effect on the number of unique values. So changing "00a8 0048" to "00b3 003b" would preserve the total (in hex b3+3b = a8+48) while still eliminating that fifth unique value.

If the strings that worked turn out to be not perfectly reliable. Try the change I just suggested. It ought to be a little more robust (but you never can tell these things without testing. It might be worse).

I hope other experts pay attention to this thread, because this is a useful trick to fix Pronto Hex samples that we thought were hopelessly too long for PENG, but now we no might be made to fit.

Even if that concept of maintaining pair totals doesn't help your device. I hope other experts pay attention to it, because I know that for many devices it is important.
OP | Post 3 made on Monday September 20, 2004 at 15:55
hellfire
Long Time Member
Joined:
Posts:
June 2004
82
Well, I tried your change anyway and it works as well. I think I will leave it as such just to be safe. :)
Post 4 made on Monday September 20, 2004 at 17:01
Dave Houston
RF Expert
Joined:
Posts:
October 2001
1,521
On 09/20/04 19:04 ET, hellfire said...

The reason this was done was to reduce the different
number of ON/OFF times to 4. Since the Pronto
software uses a compressed format to represend
an IR code, 5 different ON/OFF times increases
the internal size of the representation significantly
because of the amount of bits necessary in that
representation.

I don't buy the explanation (or maybe I don't fully understand it).

Is the limit on unique burst pairs or on unique time intervals? The first "fixed" code has only 3 unique burst pairs and 4 unique time intervals. I can compress both the original and "fixed" versions to 42 bytes.

There are RF codes that are known to work with the NG which have 5 unique time intervals. Both pulses and spaces can be any of the 5 intervals. There are 5 burst pairs in each code so there could be as many as 5 unique burst pairs.
Post 5 made on Monday September 20, 2004 at 19:13
johnsfine
IR Expert
Joined:
Posts:
September 2002
5,159
On 09/20/04 21:01 ET, Dave Houston said...
I don't buy the explanation (or maybe I don't
fully understand it).

In case you want to reverse engineer it yourself, here is some information that might prove helpfull. Please don't be offended if some of it is obvious and/or things you already know. I tend not to know/remember which other experts know what:

A config file for a Pronto NG is esentially a renamed .zip file. You can open it with an unzip program and get at the files inside. If you get a zip of the file from RC it's zipped twice and must be unzipped twice.

The main file inside is an XML file. That can be read with an ordinary text editor, but is linked together with id numbers that make it rather hard to manually navigate (I don't know of any generic utility for navigating XML internal links, but I assume it must exist).

If you make a new config with PENG containing just one learned signal it's quite easy to find that signal in the XML and see the internal hex form of that signal.

If you change just the Pronto hex for that signal and resave the config and re extract and view the XML (gets rather tedious) you can see how the internal hex changes for any given change in the Pronto hex. Except for the translator bugs in PENG it would be quite easy to deduce the whole internal format by a moderate sequence of such experiments. Despite those bugs you can learn quite a lot about the internal format this way.

In particular, you could take the shorter of the two signals in this thread (which IIRC will translate properly, so it didn't actually need the tweak) see how it translates, then tweak it and see how totally different the result is from that seemingly tiny change.

Is the limit on unique burst pairs or on unique
time intervals?

It's not exactly a limit, more of an effect. It is definitely not about burst pairs. It is about individual time intervals regardless of whether they are On or Off values. Simplistically it is a count of unique time intervals, but there are exceptions, that you might need to understand if you applied the same concepts to a different protocol.

I can compress both the original and "fixed" versions
to 42 bytes.

I don't understand. Does "compress" refer to anythin similar to what PENG does? If not, why would it be relevent.

There are RF codes that are known to work with
the NG which have 5 unique time intervals. Both
pulses and spaces can be any of the 5 intervals.
There are 5 burst pairs in each code so there
could be as many as 5 unique burst pairs.

You can have far more unique time intervals. 4 is not a limit nor is 5. But if you have more than 4 it changes the way the whole signal is encoded. The issue in this thread is sort of a limit on the total number of burst pairs (total count not unique count) but that limit depends on which encoding is chosen which depends on how manu unique time values there are.

Put more simply, you're allowed more total burst pairs if you have 4 unique time values than if you have 5 unique time values.

The second sample in this thread has too many burst pairs to be encoded with 5 unique time values but not too many with 4.
Post 6 made on Monday September 20, 2004 at 19:57
Dave Houston
RF Expert
Joined:
Posts:
October 2001
1,521
And what does any of that have to do with hardware?


Jump to


Protected Feature Before you can reply to a message...
You must first register for a Remote Central user account - it's fast and free! Or, if you already have an account, please login now.

Please read the following: Unsolicited commercial advertisements are absolutely not permitted on this forum. Other private buy & sell messages should be posted to our Marketplace. For information on how to advertise your service or product click here. Remote Central reserves the right to remove or modify any post that is deemed inappropriate.

Hosting Services by ipHouse