 |
JP1 Remotes
|
View previous topic :: View next topic |
Author |
Message |
rsbrux
Joined: 25 Dec 2015 Posts: 46
|
Posted: Fri Nov 29, 2019 10:26 am Post subject: Learned NEC-f16 codes not decoding |
|
|
I am trying to create an upgrade for the Yamaha RX-V685 Receiver. I found many, but not all, of the needed codes in various tables and RMDU files in the file area. I therefore used my URC-8603 to find the best built-in match (2061) and then learn the missing keys. The learned keys fall into 3 types of NEC codes, however, those recognized as NEC-f16 are not decoded. How can I get proper codes to embed in a stand-alone RMDU?
The RMIR file with the learned codes can be found here. |
|
Back to top |
|
 |
mathdon Expert
Joined: 22 Jul 2008 Posts: 3249 Location: Cambridge, UK
|
Posted: Fri Nov 29, 2019 12:28 pm Post subject: |
|
|
These signals are not recognised by IrpTransmogrifier, which is the default decoder in RMIR v2.09. However, if you use Options > Set IR Decoder to change to DecodeIR, they are decoded as NEC1-y1 signals. To create a device upgrade with these signals, select the protocol NEC 4DEV Yamaha Combo. The notes for that protocol explain the various options. Under the Functions tab you will find a column headed YStyle. Y1 is one of the styles in the drop-down list that column gives you. _________________ Graham |
|
Back to top |
|
 |
Barf Expert
Joined: 24 Oct 2008 Posts: 968
|
Posted: Fri Nov 29, 2019 12:30 pm Post subject: |
|
|
I assume you are using RM 2.09build6.
If a signal is "recognized as NEC-f16" it *is*, per definition, decoded. Just that for some reason the parameters are lost here. I extracted the raw signals from the "Timing Summary", and fed it through IrpTransmogrifier and got:
Code: |
Windows:
SLEEP: NEC1: {D=122,F=48}, beg=0, end=75, reps=2
PARTY: NEC1: {D=122,F=52}, beg=0, end=75, reps=2
SCENE: NEC1-f16: {D=122,F=39908}, beg=0, end=75, reps=2
INPUT: NEC1-f16: {D=122,F=24607}, beg=0, end=75, reps=2
NET: NEC1: {D=127,F=63,S=1}, beg=0, end=75, reps=2
USB: NEC1-f16: {D=127,F=3442,S=1}, beg=0, end=75, reps=2
BLUETOOTH: NEC1-f16: {D=122,F=49598}, beg=0, end=75, reps=2
SETUP: NEC1: {D=122,F=132}, beg=0, end=75, reps=2
MENU: NEC1-f16: {D=122,F=5227}, beg=0, end=75, reps=2
RETURN: NEC1: {D=122,F=170}, beg=0, end=71, reps=1
HELP: NEC1-f16: {D=127,F=54698,S=1}, beg=0, end=75, reps=2
TOP MENU: NEC1-f16: {D=122,F=57248}, beg=0, end=75, reps=2
HOME: NEC1: {D=127,F=102,S=1}, beg=0, end=75, reps=2
POP-UP MENU: NEC1-f16: {D=122,F=56228}, beg=0, end=71, reps=1
ENHANCER: NEC1: {D=122,F=148}, beg=0, end=75, reps=2
SUR DECODE: NEC1: {D=122,F=141}, beg=0, end=75, reps=2
BASS: NEC1-f16: {D=122,F=49853}, beg=0, end=75, reps=2
STRAIGHT: NEC1: {D=122,F=86}, beg=0, end=75, reps=2
|
so IrpTransmogrifier most definitely decodes them (except for "Windows"). So let's hope Graham can have a look at it.
A minor issue is that the signals all contain one or two of the NEC dittos (see the decodes); still some are "decoded" as NEC (indicating no repeat-ditto). |
|
Back to top |
|
 |
rsbrux
Joined: 25 Dec 2015 Posts: 46
|
Posted: Sun Dec 01, 2019 2:28 am Post subject: |
|
|
mathdon wrote: | These signals are not recognised by IrpTransmogrifier, which is the default decoder in RMIR v2.09. However, if you use Options > Set IR Decoder to change to DecodeIR, they are decoded as NEC1-y1 signals. To create a device upgrade with these signals, select the protocol NEC 4DEV Yamaha Combo. The notes for that protocol explain the various options. Under the Functions tab you will find a column headed YStyle. Y1 is one of the styles in the drop-down list that column gives you. |
I tried to create a new upgrade from the DecodeIR values following the instructions here. However, the Learned Signals tab shows only one byte of data, whereas all of the Yamaha codes I have found in the file area have two bytes. The two bytes in the codes I have found in the file area do not consistently add up to 126, 127, 128, 254, 255, 256, 383 or 384, as I would expect from the protocol notes. The built-in codes from the URC8603 are all 4 bytes, but the pairs of bytes each add up to FF (255), so they could presumably be reduced to two bytes. If I save the RMIR file with the newly created upgrade containing only one byte of data, the upgrade is displayed as "Manual Settings" instead of "NEC 4DEV Yamaha Combo". When I try to edit it, I get an error message. "The code of the protocol for this device upgrade is not consistent ...".
In the meantime, I will try to use the codes from DecodeIR to infer additional codes for one of the working RMDUs I have based on data from the file area. Failing that, I will try to learn how to use IrpTransmogrifier stand-alone. |
|
Back to top |
|
 |
Barf Expert
Joined: 24 Oct 2008 Posts: 968
|
Posted: Sun Dec 01, 2019 5:31 am Post subject: |
|
|
I started RMIR in the debugger, and here is what happens:
LearnedSignalDecode( Decode decode, Value[] matchDevParms, Executor executor ) is called with the third argument null, it makes an effort to find an executor, which fails (executor == null). Then it just returns, without filling in the parameters (return on line 101 in LearnedSignalDecode).
There are two problems here:
1. Why is no executor for NEC1-f16 found?
2. If no executor is found, this case is to be handled gracefully.
I leave #1 to Graham. Independent of this, #2 should be addressed, because there will always be protocols for which an executor, for whatever reason, is not found.
It appears that the only thing needed for #2 is to make sure that the parameters are assigned (line 124 to 139) before we bail out. I tested by just moved those lines, and everything seemed to work. Graham?
Quote: |
... I will try to learn how to use IrpTransmogrifier stand-alone.
|
Good idea. Note that you already have it installed, see the wrapper irptransmogrifier.bat (irptransmogrifier.sh) in the install directory. |
|
Back to top |
|
 |
mathdon Expert
Joined: 22 Jul 2008 Posts: 3249 Location: Cambridge, UK
|
Posted: Sun Dec 01, 2019 9:30 am Post subject: |
|
|
Apologies, rsbrux. I find that there was an omission in the IrpTransmogrifier support in RMIR for the NEC-f16 protocol. Please download rmProtocols.xml and copy it into your RMIR installation folder. That is a patch file for the RMIR support for IrpTransmogrifier which should make NEC-f16 be recognised properly. You should be able to select a mixture of NEC, NEC1 and NEC-f16 learned signals and have the Convert to Device Upgrade convert the whole set into a single upgrade. Remember that you can use the Up and Down buttons on the Learned Signals tab to reorder the signals you want so that they can be selected as a single block. Alternatively the conversion process allows you to add further signals to an existing upgrade. Remember also to set the decoder back to IrpTransmogrifier if you still have it as DecodeIR .
Please try this and let me know if it works, so that I can include the patch file in the next RMIR build. _________________ Graham |
|
Back to top |
|
 |
mathdon Expert
Joined: 22 Jul 2008 Posts: 3249 Location: Cambridge, UK
|
Posted: Sun Dec 01, 2019 9:58 am Post subject: |
|
|
Barf wrote: | There are two problems here:
1. Why is no executor for NEC1-f16 found?
2. If no executor is found, this case is to be handled gracefully. |
1. I had inadvertently omitted the required uei-executor entries in IrpProtocols.xml. The rmProtocols.xml patch file includes them and I would be grateful if you would include those entries in the next release of IrpTransmogrifier (if rsbrux's testing finds that they work).
2. I've fixed this for the next RMIR build. _________________ Graham |
|
Back to top |
|
 |
Barf Expert
Joined: 24 Oct 2008 Posts: 968
|
Posted: Sun Dec 01, 2019 4:04 pm Post subject: |
|
|
@Graham:
sounds good. Just a note on the patch file semantics: the patch file's content is merged with the original content, so please do not repeat what is already in the original: it just makes it harder to understand what really changed. |
|
Back to top |
|
 |
mdavej Expert
Joined: 08 Oct 2003 Posts: 3999
|
|
Back to top |
|
 |
mathdon Expert
Joined: 22 Jul 2008 Posts: 3249 Location: Cambridge, UK
|
Posted: Sun Dec 01, 2019 6:01 pm Post subject: |
|
|
Barf wrote: | sounds good. Just a note on the patch file semantics: the patch file's content is merged with the original content, so please do not repeat what is already in the original: it just makes it harder to understand what really changed. |
Barf, can you clarify that, though perhaps in the IrpTransmogrifier thread rather than here? I thought I had to give the entire replacement protocol, otherwise I don't see how the merge knows where the new lines go. _________________ Graham |
|
Back to top |
|
 |
The Robman Site Owner
Joined: 01 Aug 2003 Posts: 19059 Location: Chicago, IL
|
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|