Your Universal Remote Control Center
RemoteCentral.com
Discrete Code Hunter Forum - View Post
Previous section Next section Up level
Up level
The following page was printed from RemoteCentral.com:

Login:
Pass:
 
 

Topic:
Yamaha Nec codes only working sometimes when converted to Hex...
This thread has 10 replies. Displaying all posts.
Post 1 made on Tuesday October 28, 2014 at 13:54
nzdreamer55
Long Time Member
Joined:
Posts:
March 2011
14
Hello everyone. I have a yahama RX-V675 and found a IR_Standard table (PDF).  I am trying to control it via IR sent from my HTPC.

[Link: s938.photobucket.com]

Using the Yamaha Pronto IR Hex Converter I converted Power code &E-2A and this worked when blasted from my HTPC.  I then converted the volume up from the Nec 7A 1A to the Hex

0000 006D 0022 0002 0155 00AA 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 05ED 0155 0055 0015 0E47

I tried it out and it did not work.

I tried learning from my yamaha remote and got this code

0000 006D 0022 0002 0155 00AB 0016 0015 0016 0040 0016 0015 0016 0040 0016 0040 0016 0040 0016 0040 0016 0015 0016 0040 0016 0015 0016 0040 0016 0015 0016 0015 0016 0015 0016 0015 0016 0040 0016 0015 0016 0040 0016 0015 0016 0040 0016 0040 0016 0015 0016 0015 0016 0015 0016 0040 0016 0015 0016 0040 0016 0015 0016 0015 0016 0040 0016 0040 0016 0040 0016 05DF 0155 0056 0016 0E3D

This worked

I also tried the many other codes for volume control (7A-1AE4, 7SDA, 7ADA24)  I also tried putting the code 7A1A and 7A-1AE4 together thinking that maybe they needed to be together but that didn't work.

So my blaster system works (I can change volume with a learned command) and the yamaha converter works (I was able to create a power toggle command from the NEC code gleened from my PDF)  So I guess the rest of the IR standard code sheet is wrong for all the other commands for my receiver?  I am in the USA BTW.

Any help would be most appreciated.

Thanks
-S


 
Post 2 made on Tuesday October 28, 2014 at 15:36
3FG
Select Member
Joined:
Posts:
August 2009
1,861
The first (non-working) Pronto Hex listed decodes as device 7E while the second is 7A, which explains why the first one didn't work.

Use IrScrutinizer to generate the codes, and more importantly use it to check if the generated codes are correct.   Yamaha Pronto IR Hex Converter is very persnickety about the way the input dta is formatted, and it is easy to generate wrong codes. In IrScrutinzer, use NEC1 as the protocol for code like 7A-2A, and NEC1-f16 for codes like 7E-D22C.  Precede hexadecimal numbers like these provided by Yamaha with 0x.  So the D field for example would be 0x7A or 0x7E.
OP | Post 3 made on Tuesday October 28, 2014 at 21:47
nzdreamer55
Long Time Member
Joined:
Posts:
March 2011
14
Thanks. So I just opened IrScrtinizer and it is a little over my head. I follow you in terms of using it to generate codes (use the generate tab), but there are 3 fields that I need to fill in. I tried to enter 0x7A into the D then 1A into the S but I don't know what to put into the F. I tried 0 but I keep getting errors.

[Link: s938.photobucket.com]

Any more help available?

Thanks again for getting me closer

-S
Post 4 made on Tuesday October 28, 2014 at 23:11
3FG
Select Member
Joined:
Posts:
August 2009
1,861
Sorry, I should have included a little more info.  Yamaha uses the NEC1 IR protocol, which has 32 bits of information.  The first 8 bits are the device number.  In the original implementation of the NEC protocol, the second 8 bits was the binary complement of the device number which provided some level of error detection.  Later, the protocol definition was changed so that the second 8 bits specify a subdevice.  However, some NEC protocols are still listed with a single device number, e.g. Vizio uses device 4, which is really the same as 4.251.   Yamaha continues to employ IR codes in which the second byte is the complement of the first.

The function number of NEC protocols usually follow the same pattern:  the 3rd byte is the function number, and the 4th is the complement of the function number.   For years Yamaha used this convention, and we still see IR signals described as e.g. 0x7A-0x1A (Vol+)  You should enter this type of code into IrScrutinizer with 0x7A in the D box and 0x1A in the F box.  Leave the S box empty and the program will compute the complements.

In the last few years, Yamaha has begun to alter the structure of the 4th byte, probably to expand the space of available function numbers.  They write these codes in a form like 0x7A-0x4738 (HDMI-1).  In this case, select NEC1-f16 as the IR protocol, enter 0x7A in the F box, leave S blank, and put 0x4738 in the F box.  As a side note, 0x47 and 0x38 add up to 0x7F so only the most significant bit strays from the standard NEC complement rule.  Actually Yamaha codes of this form don't complement one or both of the MSB and the LSB.  They still get some level of error detection,
OP | Post 5 made on Wednesday October 29, 2014 at 09:34
nzdreamer55
Long Time Member
Joined:
Posts:
March 2011
14
Ok I got a result! however it does not look like any ir code I have used before. I clicked on export and it made a .girr file. What is that?

I need to convert this to a code like the ones above so I can paste it into a text file and send it over my USB-UIRT to see if my receivers responds like I want it to.

[Link: s938.photobucket.com]

Is there a setting I change to display it in the format that I need?

-S
Post 6 made on Wednesday October 29, 2014 at 11:31
3FG
Select Member
Joined:
Posts:
August 2009
1,861
The format you want is called Pronto Hex, but you already knew that, right?. On the generate tab, Click Options\Output Text Format and select Pronto Hex.  If you want to export codes to a file, first setup the export format on the Export tab before clicking Export.  
OP | Post 7 made on Wednesday October 29, 2014 at 18:42
nzdreamer55
Long Time Member
Joined:
Posts:
March 2011
14
Hey there 3FG. Thanks for holding my hand on that one. I though that I should have figured it out, but I guess being so frustrated getting my HTPC to do stuff like turning on an off my peripherals that I didn't see it said Pronto output. I read the CCF and just moved on. I am lame....

I think I should get it from here. I will post again if I run into trouble.

-S
OP | Post 8 made on Thursday October 30, 2014 at 00:18
nzdreamer55
Long Time Member
Joined:
Posts:
March 2011
14
Got it to work! So one more thing. Can I use IrScrutinizer to help tell how my remote is sending multiple commands? When I hold down the up volume on the remote, the receiver has a very smooth and fast volume up, but when I send the command from my USB-UIRT it is pretty jerky. I only have the USB-UIRT to capture IR commands.
Post 9 made on Saturday November 1, 2014 at 06:19
Barf
Long Time Member
Joined:
Posts:
August 2013
350
Nice that you discovered IrScrutinizer, but please update to the current version 1.1.1. Your version is almost a year old.

Can I use IrScrutinizer to help tell how my remote is sending multiple commands? When I hold down the up volume on the remote, the receiver has a very smooth and fast volume up,

yes you can. But we already know the commans the Yamaha is using for that, NEC1, D=122 (0X7A) F=26 (0x1A) (volume up), F=27 (0x1B) (volume down).

but when I send the command from my USB-UIRT it is pretty jerky.

When I send this signal using IrScrutinizer and any supported sending hardware to my Yamaha (RX-V1400 if that matters), it does the right thing. So, assuming you really (try to) send NEC1 and not NEC2, your sender, driver, or sending hardware is to blame.

I only have the USB-UIRT to capture IR commands.

IIRC, that HW does not capture the modulation frequency, just using a demodulating receiver, so it is not an ideal capturing. Which, BTW, is completely irrelevant if you are interesting only in, e.g., NEC codes with known modulation frequency. Nevertheless, supporting the USB-UIRT is on my wishlist, but not with the highest priority.
Post 10 made on Saturday November 1, 2014 at 14:13
SysIntegration
Advanced Member
Joined:
Posts:
December 2013
895
On October 28, 2014 at 15:36, 3FG said...
The first (non-working) Pronto Hex listed decodes as device 7E while the second is 7A, which explains why the first one didn't work.

Use IrScrutinizer to generate the codes, and more importantly use it to check if the generated codes are correct.   Yamaha Pronto IR Hex Converter is very persnickety about the way the input dta is formatted, and it is easy to generate wrong codes. In IrScrutinzer, use NEC1 as the protocol for code like 7A-2A, and NEC1-f16 for codes like 7E-D22C.  Precede hexadecimal numbers like these provided by Yamaha with 0x.  So the D field for example would be 0x7A or 0x7E.

Every time you or Barf jump in on an IR decode question, I learn more about the protocol and reading some of the (complicated) manufactures IR data sheets. I wondered why yamaha used the "NEC Short Code" and really didn't know what to do with it until some post at the beginning of this year where someone was asking for help with a Comcast remote, a manufactures IR data sheet, and some JP1 question.

I've read the IRPrimer by VickyG and Barry's pronto hex paper as well, but don't remember reading the history of NEC as described above. How did you find out about it?
0101001101111001011100110100100101101110011101000110010101100111011100100110000101110100011010010110111101101110
Post 11 made on Saturday November 1, 2014 at 17:31
3FG
Select Member
Joined:
Posts:
August 2009
1,861
You can see the original NEC format in the uPD6121 and uPD6122 data sheet.  See also section 7 for a description of NEC1 (called One-shot command) and NEC2 (called Continuous command).  Note that the reason for using dittos to indicate repeats was intended to save power.  Chips and LEDs are more efficient these days.

I don't have a reference to how the later changes came about, but presumably they followed the introduction of microcontrollers, which allowed more flexibility in how the codes were constructed.

Here's a thread discussing how the JP1 community dealt with Yamaha's modifications to the 4th byte.


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