Sending Marantz in Pronto format #1038
-
I am running into an issue where IR commands stop working after the first transmission. I have a simple program to turn a Marantz AVR on and off as a test, every 6 seconds.
Only the first IR command executes. If I swap commands and Flash, the AVR will switch power states once. These are the commands I'm using:
IR_REPEATS is 3, but I've tried reducing all the way down to 0. Next, I tried just to run a simple power toggle program
Only the first IR command works. I must cycle IR device power to toggle the AVR power. |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 6 replies
-
The IR codes above came directly from Marantz's documentation. They are labeled "Hex Code (Basic Commands Only)" They work (kind of), but do they have to be converted to Pronto somehow? |
Beta Was this translation helpful? Give feedback.
-
@bengtmartensson Any Idea? |
Beta Was this translation helpful? Give feedback.
-
The given signal decode (in IrScrutinizer) as RC5x: {D=16,S=12,F=1,T=1} and RC5x: {D=16,S=12,F=2,T=1}, in both cases two copies. The RC5x is a toggling protocol, meaning that the toggle ("T" above") is supposed to toggle between 0 and 1 on subsequent invocations. But you are sending using T=1 all of the time, so the receiver ignores all but the first one, as it should. You need to send signals with T=0 alternating. Corrsponding signals with T=0 can be generated with IrScrutinizer: {D=16,S=12,F=1,T=0}: 0000 0073 0000 0011 0020 0020 0040 0040 0040 0020 0020 0020 0020 0020 0020 00A0 0020 0020 0020 0040 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0AA8 {D=16,S=12,F=2,T=0}: 0000 0073 0000 0010 0020 0020 0040 0040 0040 0020 0020 0020 0020 0020 0020 00A0 0020 0020 0020 0040 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0AC8 So if you change your code to something like:
it should work. BTW, Infrared4Arduino handles the sending with alternating toggles automatically (for the RC5 protocol). |
Beta Was this translation helpful? Give feedback.
-
@bengtmartensson thank you! I am new to IR, but I downloaded IrScrutinizer and it's a huge help. @ArminJo if I get the following result from IrScrutinizer, how do I assign the addr and cmd in sendRC5ext()?
|
Beta Was this translation helpful? Give feedback.
-
@ArminJo Below is a screenshot of the Marantz document I am referencing. For clarity, I want to send a POWER OFF command rather than an POWER ON/OFF command. This keeps the AVR from turning on by inadvertently toggling from the off state. The following yields a toggle (which makes sense to me, since I cannot define the 02 extension) @bengtmartensson I assumed the extension argument is the difference between RC5 and RC5ext protocols? Full document can be downloaded at Marantz website (Note there are 2 spreadsheet tabs) |
Beta Was this translation helpful? Give feedback.
-
Most protocols/manufacturer (NEC being the canonical example) call their parameters device (D), subdevice (S) and function(F). Philips (creator and main user of the RC5 protocol is a tad different: By RC5, the are calling the "device" parameter "system" instead, and said "command" for "function". When the RC5 protocol was going too small, they did not create a "subdevice", but extended the command/function instead. See above: command 12 is power toggle by very many RC5 devices; it is "extended" with a "extension" to form discrete power on and off commands. IrScrutinizer (which builds on IrpTransmogrifer) borrows the definitions of RC5, RC5x, RC6* etc from the JP1-community, in particular from DecodeIR. In RC5x, it calls system for D, command for "S", and extension for F. This is not really cool ... :-\ |
Beta Was this translation helpful? Give feedback.
Most protocols/manufacturer (NEC being the canonical example) call their parameters device (D), subdevice (S) and function(F). Philips (creator and main user of the RC5 protocol is a tad different: By RC5, the are calling the "device" parameter "system" instead, and said "command" for "function". When the RC5 protocol was going too small, they did not create a "subdevice", but extended the command/function instead. See above: command 12 is power toggle by very many RC5 devices; it is "extended" with a "extension" to form discrete power on and off commands.
IrScrutinizer (which builds on IrpTransmogrifer) borrows the definitions of RC5, RC5x, RC6* etc from the JP1-community, in particular …