On 10/28/03 18:56, Pfliegster said...
I have some
confusion with respect to the Non-repeating and
repeating burst sequences in the Sharp IR and/or
Pronto HEX format.
There is no non-repeating part in the Sharp IR protocol.
As an example of my confusion, I have downloaded
the AVR3802 RC Code documentation from the Denon
Website. It gives details for all of the commands
and from what I can tell, the "Power On" command
would consist of a "non-repeating" codeword: 01000
100001 11 00.
I probably read that document long ago, but I can't find it now. A URL would help. Your post doesn't make clear which document you mean. Does it really say "non-repeating"?
Here, the first field (System Address)
is "01000", the second field (Function) is "100001"
and the other two fields seem to be fixed.
Denon documents the function field as 6 bits and documents the 2 bits after the function field as something else, but those 2 bits are not fixed and they act for all practical purposes as part of the function field. So those of us who have reverse engineered various IR protocols, treat the function field in Denon as 8 bits.
this would yeild the Pronto HEX equivalent command
for entry as a learned IR code as follows:
0000 006D 0010 0000 000A 001E 000A 0046 000A 001E
000A 001E 000A 001E 000A 0046 000A 001E 000A 001E
000A 001E 000A 001E 000A 0046 000A 0046 000A 0046
000A 001E 000A 001E 000A 06D6
My enhanced copy of the IrTool program decodes that as a non-repeating first half of a Denon signal, device 2, command 225.
Device 2 in binary backwards is 01000, which matches what you said.
Command 225 in binary backwards is 10000111, which could match what you said depending on what you wanted the last two bits to be.
However, as a check to see if I constructed the
code correctly (by looking at the Denon Receiver
Discrete Codes on this website ([Link: remotecentral.com]
It seems to list both a "non-repeating" burst
sequence (similar to the one I constructed above),
followed by a 2-command repeating burst sequence
(listed below in Denon's binary command format,
in order to be concise):
01000 100001 11 00
01000 011110 00 11
That whole signal is first-half non-repeating, followed by second and first halves repeating, so it will correctly start with the first half and correctly repeat alternating the two halves, but will end with the first half. I doubt that it matters which half you end with. If it matters, I suspect it's better to end with the second half, but I'm not sure there isn't some good reason for ending with the first half.
This to me looks like a function called "Panel"
in the Denon documentation, followed by the inverse
of the Panel function (although the "System Address"
field is not inverted).
This is a standard part of the Sharp/Denon protocol. Every command has two of what I've been calling "halves", where the second half has the same System Address and inverts all other bits.
To confuse me even more, I downloaded Tyler Ager's
PCF file which contains learned codes for the
AVR-3802 (Thanks Tyler!) at : [Link: remotecentral.com]
Looking at his PCF file, it appears that the learned
IR code doesn't contain any "non-repeating" sequence,
but contains a 2-command "repeating" sequence:
01000 100001 11 00 (Power-on command)
01000 011110 00 11 (Inverted Power-On
That's the "correct" Denon protocol as most of the experts here understand it.
So my questions are:
1) Is there any method to this madness, or are
these IR codes pretty flexible (like the "Panel"
command repeating after a "Power-on" command being
innocuous) and can be constructed any number of
There is method to the madness. I think I made it clear above. But the device receiving the signal probably isn't very picky about the pattern of the two halves that it sees.
3) Does the Sharp format (or at least as it pertains
to the Denon equipment) require repeating patterns
to be inverted?
Actual Sharp and Denon remotes send the alternating pattern I described. I have no guess what the Denon device might do if it received a repeat sequence that didn't alternate.
4) If the Sharp format requires repeating sequences
to have an inversion on the second command, how
come the "System Address" field is not inverted?
That's just the way they designed it.