Discussion:
Marantz RC5 22 bits (Extend Data Word), possible with lircd.conf semantic ?
l***@perrache.com
2013-01-30 23:26:53 UTC
Permalink
Hi,

I've got a Marantz remote control RC003PM. This a kind of
multi-standard remote as it sends classical 14 bits RC5 for the TUNER
function but uses at least two other standards for other functions. The
main of these two others is a RC5 modified to be longer up to 22 bits in
length (17 bits of data). It seems this is called Marantz Extend Data
Word (see chronogram below).

My question is : How to introduce two space bits (below in cyan)
inside an RC5 (that never returns to zero by definition) ? I tested but
found no options of lircd.conf to do so (pre, post, pre_data,
post_data). Is there a solution ?

Thanks all !

/David./

------------------------------------------------------------------------

*Protocol description :*


*AUX function, buttons chronograms :*


*
**The remote :*
l***@perrache.com
2013-02-02 10:52:10 UTC
Permalink
Hi,

I've got a Marantz remote control RC003PM. This a kind of
multi-standard remote as it sends classical 14 bits RC5 for the TUNER
function but uses at least two other standards for other functions. The
main of these two others is a RC5 modified to be longer up to 22 bits in
length (17/18 bits of data). It seems this is called Marantz Extend Data
Word (see chronogram below).

My question is : How to introduce two space bits (below in cyan)
inside an RC5 (that never returns to zero by definition) ? I tested but
found no options of lircd.conf to do so (pre, post, pre_data,
post_data). Is there a solution ?

Thanks all !

/David./

------------------------------------------------------------------------

*Protocol description (Loading Image...) :*


*AUX function, buttons chronograms
(Loading Image...) :*


*
**The remote (Loading Image...) :*
Mona
2013-02-04 17:52:19 UTC
Permalink
The main of these two others is a RC5 modified to be longer up to 22 bits
in
length (17 bits of data). It seems this is called Marantz Extend Data
Word (see chronogram below).
My question is : How to introduce two space bits (below in cyan)
inside an RC5 (that never returns to zero by definition) ?
bffebjjh.png (28K)
Loading Image...
Your Marantz Extend Data Word and chronogram is actually the RC5x protocol.
I have the same problem with a Marantz SR8000 AV receiver (RC2000 MkII or
RC-18SR remote). I almost got it to work using "pre" and "pre_data". For
example, Marantz code 16 12 01 (discrete power on) would encode as 1101 0000
(2 bit space) 0011 0000 0001.

begin remote
name RC5x
bits 20
flags RC5|CONST_LENGTH
eps 30
aeps 100
one 890 890
zero 890 890
gap 125000
toggle_mask 0x20000 # toggle_bit 3
frequency 36000

pre_data_bits 8
pre_data 0xD0 # System = 16, limited to commands 0-63
pre 0 3560 # No pre pulse, pre space of 2 bit times
(890*4)

begin codes
power_on 0x301 # 16 12 01
power_off 0x302 # 16 12 02
end codes
end remote

Unfortunately, lircd won't send the pre pulse/space unless BOTH values are
non-zero. It would be an easy code fix that shouldn't break anything else.
l***@perrache.com
2013-02-04 18:25:20 UTC
Permalink
Hi Mona,

Thanks a lot for your solid and indeep explanations : Very
helpfull. That would be a cool thing that LIRC devs would fix
pulse/space limitations. However that would even be better that a such
common coding could be handled natively, with a RC5x flag for example !
Why (seems) LIRC so backward ?

My personal conculsion : After taking so much time working around
lircd limitations finally I'm gonna drop lircd and just keep lirc_dev /
lirc_serial modules which them are usefull. Coding RC5 myself took me
much lesser time than configuring lircd... and thus printing out decoded
values was easy, somthing that lircd can't even do (must use the poor
irrecord).
Post by Mona
The main of these two others is a RC5 modified to be longer up to 22 bits
in
length (17 bits of data). It seems this is called Marantz Extend Data
Word (see chronogram below).
My question is : How to introduce two space bits (below in cyan)
inside an RC5 (that never returns to zero by definition) ?
bffebjjh.png (28K)
http://lirc.10951.n7.nabble.com/attachment/9784/0/bffebjjh.png
Your Marantz Extend Data Word and chronogram is actually the RC5x protocol.
I have the same problem with a Marantz SR8000 AV receiver (RC2000 MkII or
RC-18SR remote). I almost got it to work using "pre" and "pre_data". For
example, Marantz code 16 12 01 (discrete power on) would encode as 1101 0000
(2 bit space) 0011 0000 0001.
begin remote
name RC5x
bits 20
flags RC5|CONST_LENGTH
eps 30
aeps 100
one 890 890
zero 890 890
gap 125000
toggle_mask 0x20000 # toggle_bit 3
frequency 36000
pre_data_bits 8
pre_data 0xD0 # System = 16, limited to commands 0-63
pre 0 3560 # No pre pulse, pre space of 2 bit times
(890*4)
begin codes
power_on 0x301 # 16 12 01
power_off 0x302 # 16 12 02
end codes
end remote
Unfortunately, lircd won't send the pre pulse/space unless BOTH values are
non-zero. It would be an easy code fix that shouldn't break anything else.
mba
2013-02-12 17:09:57 UTC
Permalink
Hi,

I am struggling with the exact same problem with a SR5003. And I am a bit
discouraged by your findings.

Most of the buttons I need I just recorded as raw, but some of the buttons
are not available on my Marantz remote. I would therefore like to manually
create the missing buttons in raw format but I am having a hard time
deciphering the encoding.

Eg. I have recorded:
name PowerOn
810 938 1727 1813 1706 917
831 938 853 895 810 4479
810 938 853 1791 810 938
1706 917 810 938 853 895
831 938 853 895 831 938
853 1791 853

I would like to create a Power toggle button. Looking in the Marantz RC
codes xml file I can see that

PowerOn is 16 12 01 (System Command Extension)

and

Power is 16 12 (System Command)

Is there any way to create the raw code section according to the
system/command I listed.

Best regards
Martin



--
View this message in context: http://lirc.10951.n7.nabble.com/Marantz-RC5-22-bits-Extend-Data-Word-possible-with-lircd-conf-semantic-tp9784p9793.html
Sent from the LIRC mailing list archive at Nabble.com.
Bengt Martensson
2013-02-12 18:52:17 UTC
Permalink
Post by mba
Hi,
I am struggling with the exact same problem with a SR5003. And I am a bit
discouraged by your findings.
...
Post by mba
Is there any way to create the raw code section according to the
system/command I listed.
Best regards
Martin
Hi Martin,

you can use IrMaster (and/or its commando line version, IrpMaster), see
http://www.harctoolbox.org/IrMaster.html. It can generate these signals
(and many more) and export them in different formats, including
lirc.conf format.


Bengt
Adrian DeLeon
2013-02-12 23:43:34 UTC
Permalink
Post by mba
Power is 16 12 (System Command)
Is there any way to create the raw code section according to the
system/command I listed.
The two number (System Command) codes are standard RC5 protocol and don't
need to be specified in raw format. Below is a lircd.conf I recently
submitted for Marantz equipment. It contains 2 remotes: Marantz_RC2000 for
standard RC5 codes (System Command), and Marantz_RC200x that uses raw
codes for RC5x commands (System Command Data).

If you want to make raw codes anyway, read on.

For RC5 (your 2 number System Command), the format is:

Start, Inverted MSB of Command, Toggle, 5 bits of System, Lower 6 bits of
Command

Code 16 12:
16 = 10000b (5 bit System)
12 = 0001100b (7 bit Command)

Start is a 1, inverted MSB of Command is 1, toggle is typically written as
a 0.

So 16 12 becomes 11010000001100. In the lircd.conf below, the start bit is
handled by plead, leaving only 1010000001100, which is why the hex code
for POWER_ON/OFF is shown as 0x140C and not 0x340C

To make raw codes, let's use "A" to mean an 890us pulse of IR, and "B" to
mean an 890us space of no IR. For RC5, each bit is encoded as follows:
0: AB
1: BA

So the binary code for the power toggle command gets translated as follows:

1 1 0 1 0 0 0 0 0 0 1 1 0 0
BA BA AB BA AB AB AB AB AB AB BA BA AB AB

The numbers in the raw_codes section of lircd.conf are lengths for an IR
pulse, IR space, IR pulse, IR space, etc... Raw codes ALWAYS begin and end
with a pulse, so ignore the leading "B" (space) in the command and any
trailing "B". Finally, convert each string of A's and B's into the
appropriate length of IR pulse or space.

Ignoring the leading and trailing B:
A BA AB BA AB AB AB AB AB AB BA BA AB A

Grouping the A's and B's for clarity:
A B AA BB AA B A B A B A B A B A BB A B AA B A

Substituting the proper number of microseconds for each pulse/space:
A (890), B (890), AA (1780), BB (1780), AA (1780), B (890), ...

This then becomes:

name power_toggle
890 890 1780 1780 1780 890
890 890 890 890 890 890
890 890 890 1780 890 890
1780 890 890

As you can see, each number is a multiple of 890. When using irrecord to
generate raw codes there is some measurement error, so the numbers won't
always be exact multiples. Compare your power ON to mine:

name PowerOn
810 938 1727 1813 1706 917
831 938 853 895 810 4479
810 938 853 1791 810 938
1706 917 810 938 853 895
831 938 853 895 831 938
853 1791 853

# Command 16 12 01
name POWER_ON
890 890 1780 1780 1780 890
890 890 890 890 890 4450
890 890 890 1780 890 890
1780 890 890 890 890 890
890 890 890 890 890 890
890 1780 890

Not too different. Looks like your remote (or IR receiver) has a slightly
longer space than pulse. There's a fair tolerance in IR commands, so
either one will work. My codes were tested on a Marantz SR8000 A/V
Receiver.

HTH,

Adrian



# lircd.conf.RC2000
#
# These codes are for the Marantz RC2000 MkII and RC-18SR universal remote
control.
# They should operate the following Marantz AV Receiver/Amp devices:
#
# SR9600, SR9300, SR9200, SR8500, SR8400, SR8300, SR8200, SR7500, SR7400,
SR7300
# SR7300OSE, SR7200, SR6400, SR6300, SR6200, SR5600, SR5500, SR5400, SR5300
# SR5200, SR4600, SR4500, SR4400, SR4300, SR4200, SR4320, PM-11S1, PM7001,
PM7200
#
#
mba
2013-02-27 07:56:49 UTC
Permalink
Thanks a lot for the very detailed description of the format and thanks for
the link to the program both proved invaluable when creating a hybrid
configuration file.

As a side note, I made an android app called Amote (its on google play)
which basically is a multi-remote for your android device, with it I can
pick and place the buttons I want readily available. Therefore it does not
matter that the configuration of the Marantz remote is in two different
sections. Thats only evident when doing the configuration of the app, and
not when using it.



--
View this message in context: http://lirc.10951.n7.nabble.com/Marantz-RC5-22-bits-Extend-Data-Word-possible-with-lircd-conf-semantic-tp9784p9801.html
Sent from the LIRC mailing list archive at Nabble.com.

Loading...