JP1 Remotes Forum Index JP1 Remotes


FAQFAQ SearchSearch 7 days of topics7 Days MemberlistMemberlist UsergroupsUsergroups RegisterRegister
ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in

Learned NEC-f16 codes not decoding
Goto page 1, 2  Next
 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Protocol Decodes
View previous topic :: View next topic  
Author Message
rsbrux



Joined: 25 Dec 2015
Posts: 81

                    
PostPosted: Fri Nov 29, 2019 10:26 am    Post subject: Learned NEC-f16 codes not decoding Reply with quote

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
View user's profile Send private message
mathdon
Expert


Joined: 22 Jul 2008
Posts: 4515
Location: Cambridge, UK

                    
PostPosted: Fri Nov 29, 2019 12:28 pm    Post subject: Reply with quote

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
View user's profile Send private message
Barf
Expert


Joined: 24 Oct 2008
Posts: 1402
Location: Munich, Germany

                    
PostPosted: Fri Nov 29, 2019 12:30 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website
rsbrux



Joined: 25 Dec 2015
Posts: 81

                    
PostPosted: Sun Dec 01, 2019 2:28 am    Post subject: Reply with quote

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
View user's profile Send private message
Barf
Expert


Joined: 24 Oct 2008
Posts: 1402
Location: Munich, Germany

                    
PostPosted: Sun Dec 01, 2019 5:31 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website
mathdon
Expert


Joined: 22 Jul 2008
Posts: 4515
Location: Cambridge, UK

                    
PostPosted: Sun Dec 01, 2019 9:30 am    Post subject: Reply with quote

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 Confused .

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
View user's profile Send private message
mathdon
Expert


Joined: 22 Jul 2008
Posts: 4515
Location: Cambridge, UK

                    
PostPosted: Sun Dec 01, 2019 9:58 am    Post subject: Reply with quote

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
View user's profile Send private message
Barf
Expert


Joined: 24 Oct 2008
Posts: 1402
Location: Munich, Germany

                    
PostPosted: Sun Dec 01, 2019 4:04 pm    Post subject: Reply with quote

@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
View user's profile Send private message Send e-mail Visit poster's website
mdavej
Expert


Joined: 08 Oct 2003
Posts: 4500

                    
PostPosted: Sun Dec 01, 2019 4:36 pm    Post subject: Reply with quote

Here are all the codes for your receiver: file1, file2.
Back to top
View user's profile Send private message
mathdon
Expert


Joined: 22 Jul 2008
Posts: 4515
Location: Cambridge, UK

                    
PostPosted: Sun Dec 01, 2019 6:01 pm    Post subject: Reply with quote

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
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21210
Location: Chicago, IL

                    
PostPosted: Sun Dec 01, 2019 11:06 pm    Post subject: Reply with quote

mdavej wrote:
Here are all the codes for your receiver: file1, file2.

I have converted those PDFs to a spreadsheet and have added the JP1 version of the codes.

http://www.hifi-remote.com/forums/dload.php?action=file&file_id=25745
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!


Last edited by The Robman on Wed Jan 15, 2020 1:36 pm; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
rsbrux



Joined: 25 Dec 2015
Posts: 81

                    
PostPosted: Sun Jan 05, 2020 1:50 pm    Post subject: Wow, you guys are amazing! Reply with quote

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 Wink
On an unrelated issue, the wiki article "Getting started with Xsight and Nevo" says,

  1. "Xsight does not and never will have an extender."
  2. "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
View user's profile Send private message
mdavej
Expert


Joined: 08 Oct 2003
Posts: 4500

                    
PostPosted: Sun Jan 05, 2020 2:41 pm    Post subject: Reply with quote

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
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21210
Location: Chicago, IL

                    
PostPosted: Sun Jan 05, 2020 3:04 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
rsbrux



Joined: 25 Dec 2015
Posts: 81

                    
PostPosted: Wed Jan 15, 2020 12:00 pm    Post subject: Reply with quote

@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:

  1. 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.
  2. 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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic       JP1 Remotes Forum Index -> JP1 - Protocol Decodes All times are GMT - 5 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
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
Top 7 Advantages of Playing Online Slots The Evolution of Remote Control