|
JP1 Remotes
|
View previous topic :: View next topic |
Author |
Message |
rsbrux
Joined: 25 Dec 2015 Posts: 81
|
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: 4524 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: 1417 Location: Munich, Germany |
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: 81
|
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: 1417 Location: Munich, Germany |
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: 4524 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: 4524 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: 1417 Location: Munich, Germany |
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: 4505
|
Posted: Sun Dec 01, 2019 4:36 pm Post subject: |
|
|
Here are all the codes for your receiver: file1, file2. |
|
Back to top |
|
|
mathdon Expert
Joined: 22 Jul 2008 Posts: 4524 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: 21254 Location: Chicago, IL |
|
Back to top |
|
|
rsbrux
Joined: 25 Dec 2015 Posts: 81
|
Posted: Sun Jan 05, 2020 1:50 pm Post subject: Wow, you guys are amazing! |
|
|
Wow, you guys are amazing! Many thanks for all the help!
As you can see, I haven't had time for this in a while.
Right now I need to prepare a class I'm teaching tomorrow, but I have downloaded all the files you have posted and will try to give you some feedback in a more reasonable time frame
On an unrelated issue, the wiki article "Getting started with Xsight and Nevo" says,
- "Xsight does not and never will have an extender."
- "It also has enough LCD buttons that long, short, double, shifted and double shifted buttons aren't needed either."
I respectfully disagree with the second statement. The Yamaha has Zone 2 buttons which I have learned on a separate device for lack of buttons (hard or soft) in one device. I find it inconvenient to have to switch to another device to access the Zone 2 functions and would prefer to implement them as shift functions in the main device. However, based on the first statement, I assume that is impossible. If this assumption is wrong, this probably deserves its own thread. |
|
Back to top |
|
|
mdavej Expert
Joined: 08 Oct 2003 Posts: 4505
|
Posted: Sun Jan 05, 2020 2:41 pm Post subject: |
|
|
Not sure why you found it necessary to learn any Yamaha functions at all since we have many complete Yamaha upgrades.
If you listed the functions that you use often enough to warrant switching devices, perhaps we could help you combine 2 zones onto one device.
In any case, shifts are impossible, as are extenders for this remote. If shifts are absolutely necessary, you'll need to use a different remote. |
|
Back to top |
|
|
The Robman Site Owner
Joined: 01 Aug 2003 Posts: 21254 Location: Chicago, IL |
Posted: Sun Jan 05, 2020 3:04 pm Post subject: |
|
|
Adding to what Dave said, the f16 format allows you to combine everything into a single upgrade, your only limitation is the number of buttons on the remote, so you could add in a few zone2 buttons with a zone1 upgrade if you like. _________________ Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help! |
|
Back to top |
|
|
rsbrux
Joined: 25 Dec 2015 Posts: 81
|
Posted: Wed Jan 15, 2020 12:00 pm Post subject: |
|
|
@mathdon
After adding your XML file to my installation directory, I now get Device, Sub-Device, OBC and Hex Cmd codes for the codes learned as NEC-f16. Thanks for the update!
@mdavej
When I started this project, I searched the file are thorouhgly and found several useful RMDU files and code tables. However (as mentioned at the start of this thread), I was still missing some important functions.
@The Robman
Many thanks for the PDFs and especially for the Excel table! With such complete data I should have no trouble making an RMDU without recourse to learned codes. However, I still have some questions:
- Which of the available NEC f16 protocols should I use? I find "NEC-f16 3fixed", "NEC1-f16 Official" and "NEC1-F16x" but no "NEC-f16". Since you include both OBC1 and OBC2 (which is not always the complement of OBC1) I suppose that "NEC-f16 3fixed" is not applicable.
- May I ignore the "id2" data? Am I correct in assuming that these are for the case where a different code set is needed to differentiate commands for a second receiver?
|
|
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
|