NEC

From JP1 Remotes
Revision as of 18:13, 5 October 2014 by The Robman (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

NEC

NEC is a family of similar protocols including NEC1, NEC2, Tivo, Pioneer, Apple, NECx1 and NECx2. If you get a decode whose protocol name is simply "NEC" that indicates the learned signal is not complete (usually caused by not holding the original remote's button long enough during learning). Enough of the signal is present to accurately determine the device, subdevice and OBC numbers. But not enough is present to determine whether the protocol is NEC1 or NEC2.

Difference between NEC1 and NEC2

The difference between NEC1 and NEC2 only affects the signal sent by a long keypress. A short press sends the same signal in NEC1 and NEC2.

Variant IRstreams in NEC protocols

For NEC1, NEC2, NECx1, and NECx2 protocols, the IRstream contains D:8,S:8,F:8,~F:8 However, some manufacturers (especially Yamaha and Onkyo) are breaking the "rule" that the 4th byte should be ~F:8 Version 2.42 decodes these variants by adding suffixes to the protocol name depending on the IRstream:

 -y1: D:8,S:8,F:8,~F:7,F:1:7 (complement all of F except the MSB)
 -y2: D:8,S:8,F:8,F:1,~F:7:1 (complement all of F except the LSB)
 -y3: D:8,S:8,F:8,F:1,~F:6:1,F:1:7 (complement all of F except MSB and LSB)
 -rnc: D:8,S:8,~F:4:4,~F:4 (complement F and reverse the nibbles)
 -f16: D:8,S:8,F:8,E:8 (no relationship between the 3rd and 4th bytes)

NEC1

IRP notation: {38.0k,564}<1,-1|1,-3>(16,-8,D:8,S:8,F:8,~F:8,1,^108m,(16,-4,1,^108m)*) 
EFC translation: LSB comp

A few devices use NEC1 protocol at 40Khz, rather than the typical frequency. When getting a decode of NEC1, if you notice that the frequency is closer to 40Khz than to 38Khz, examine multiple learns from the same device to estimate whether the 40Khz frequency is a learning error or a true characteristic of the device. If the 40Khz is correct, there are methods in JP1, or MakeHex (whichever you are using) to reproduce NEC1 at 40Khz rather than the usual frequency.

NEC2

IRP notation: {38.0k,564}<1,-1|1,-3>(16,-8,D:8,S:8,F:8,~F:8,1,^108m)+ 
EFC translation: LSB comp

Pioneer is distinguished from NEC2 only by frequency. So if your learning system does not learn frequency accurately, it won't accurately distinguish Pioneer from NEC2. All Pioneer signals should have a device number in the range 160 to 175 and no subdevice. No NEC2 signal should fit those rules. So you usually can determine whether the decision (by frequency) was wrong by checking the device numbers.

NECx

If you get a decode whose protocol name is simply "NECx" that indicates the learned signal is not complete (usually caused by not holding the original remote's button long enough during learning). Enough of the signal is present to accurately determining the device, subdevice and OBC numbers. But not enough is present to determine the exact protocol, which is probably NECx1 or NECx2. This incomplete learn also makes it harder to distinguish NEC from NECx, so a decode of "NECx" might be NEC1 or NEC2 or even Tivo or Pioneer.

NECx1

IRP notation: {38.4k,564}<1,-1|1,-3>(8,-8,D:8,S:8,F:8,~F8,1,^108m,(8,-8,D:1,1,^108m)*)
EFC translation: LSB comp

Most, but not all NECx1 signals have S=D

NECx2

IRP notation: {38.4k,564}<1,-1|1,-3>(8,-8,D:8,S:8,F:8,~F8,1,^108m)+
EFC translation: LSB comp

Most, but not all NECx2 signals have S=D

48-NEC

If you get a decode whose protocol name is simply "48-NEC" that indicates the learned signal is not complete (usually caused by not holding the original remote's button long enough during learning). Enough of the signal is present to accurately determining the device, subdevice and OBC numbers. But not enough is present to determine whether the protocol is 48-NEC1 or 48-NEC2.

48-NEC1

IRP notation: {564}<1,-1|1,-3>(16,-8,D:8,S:8,F:8,~F:8,E:8,~E:8,1,-??,(16,-4,1,-??)*)
EFC translation: LSB

This protocol signals repeats by the use of dittos.

48-NEC2

IRP notation: {564}<1,-1|1,-3>(16,-8,D:8,S:8,F:8,~F:8,E:8,~E:8,1,-??)+
EFC translation: LSB
Personal tools
Namespaces

Variants
Actions
Navigation
Tools