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

DecodeIR, RM and KM request: Yamaha extended NEC gap signals
Goto page 1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Software
View previous topic :: View next topic  
Author Message
The Robman
Site Owner


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

                    
PostPosted: Fri Aug 06, 2010 9:52 am    Post subject: DecodeIR, RM and KM request: Yamaha extended NEC gap signals Reply with quote

Yamaha is now using an "extended" version of the NEC1 protocol where bit0 (ie, the rightmost bit) of the OBC complement is flipped. These signals are currently being reported as a "gap" protocol by DecodeIR.

The first challenge is deciding how to report these signals from DecodeIR and the next one is deciding how to include them in RM and KM.

Unless anyone has a better idea, I would suggest that we suffix a "-y" (for "Yamaha") onto the protocol name, so in this case NEC1 would become NEC1-y. In theory, if anyone else were to start doing this with the other variations of NEC we could also see NEC2-y, NECx1-y and NECx2y.

As this protocol variant only seems to be used for additional discrete code type signals, I don't see any need to make a stand alone executor to handle it. Instead, I have modified the NEC 4Dev Combo executor so that it can generate this NEC variant in addition to all the standard NEC variants.

To make my executor send the Yamaha variant, you need to set bit1.

When I examined the official UEI executor for the 4Dev combo, I noticed that it uses bit5 to determine whether to get the sub-device from the data or to make it the complement of the device code. Obviously, as the data is supplied anyway, this code isn't really necessary, and both KM and RM set this bit regardless and supply the data for the sub-device, even if it's the complement of the device code. So I eliminated this code in my executor and replaced it with the new code to handle the Yamaha signals. The net result is that the new executor is actually smaller.

For the KM implementation, I would suggest that the last character of byte2 should be a "y" to generate this signal, so some examples of byte2 would be:

1 1 = use dev1, NEC1
1 2 = use dev1, NEC2
1 x1 = use dev1, NECx1
1 x2 = use dev1, NECx2
1 1 y = use dev1, NEC1y (the new signal)

the following signals are also possible (though not in use at this time):
1 2 y = use dev1, NEC2y
1 x1 y = use dev1, NECx1y
1 x2 y = use dev1, NECx2y

For RM, the most complete approach would be to double the number of entries in the "Style" column, so the total selections would be:

NEC1
NEC2
NECx1
NECx2
NEC1-y
NEC2-y
NECx1-y
NECx2-y

However, as the NEC1-y is the only "y" variant in use at this time, it might be less confusing to only add that option for now. We can always add the other options if and when the need arises.

For both the KM and RM implementations, if the users remote has the 4Dev executor built in, it would be a good idea to only supply a protocol upgrade if they assign a function that uses the "y" variant to one of their buttons.

I would also suggest that KM and RM continue to set bit5 to retain compatibility with the UEI executor.


The PB file for my new executor is here:
http://www.hifi-remote.com/forums/dload.php?action=file&file_id=8742

A working upgrade that uses it (currently using "Manual Settings") is here:
http://www.hifi-remote.com/forums/dload.php?action=file&file_id=8740

The Yamaha signals have been discussed here:
http://www.hifi-remote.com/forums/viewtopic.php?t=12373
http://www.hifi-remote.com/forums/viewtopic.php?p=85687#85687
http://www.hifi-remote.com/forums/viewtopic.php?t=11604
http://www.hifi-remote.com/forums/viewtopic.php?t=11789
_________________
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 Mon Aug 23, 2010 8:53 am; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
The Robman
Site Owner


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

                    
PostPosted: Mon Aug 09, 2010 6:46 am    Post subject: Reply with quote

Any takers?
_________________
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
The Robman
Site Owner


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

                    
PostPosted: Mon Aug 09, 2010 4:58 pm    Post subject: Reply with quote

To get the ball rolling I have put together a new version of KM which can handle these signals. I've called it 9.21 beta because I don't know if Mike already has a 9.21 in the works.

http://www.hifi-remote.com/forums/dload.php?action=file&file_id=8764

I've created a new version of the Yamaha upgrade that I mentioned before that uses the new feature here:

http://www.hifi-remote.com/forums/dload.php?action=file&file_id=8765
_________________
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
jetstar52



Joined: 16 Oct 2003
Posts: 177
Location: Sacramento, CA

                    
PostPosted: Tue Aug 10, 2010 12:04 am    Post subject: Reply with quote

Rob, I used KM 9.21 beta to make Yamaha upgrades for a 15-100, a 10820N, a 6131, and a 7800. All worked perfectly. Thanks again.
_________________
I used to have 5 remotes that controlled one thing each. Now I have 6 remotes that each control everything!
Back to top
View user's profile Send private message
jetstar52



Joined: 16 Oct 2003
Posts: 177
Location: Sacramento, CA

                    
PostPosted: Thu Aug 12, 2010 2:01 am    Post subject: Reply with quote

Rob, using KM 9.21 beta and the new NEC DEV4 protocols to program a 10820N, I notice that several buttons get greyed out when I use the "Y" protocols:

L1
L2
L3
M1
M2
M3
Phantom1
Phantom2
Phantom3
Phantom4

Is this normal?
_________________
I used to have 5 remotes that controlled one thing each. Now I have 6 remotes that each control everything!
Back to top
View user's profile Send private message
The Robman
Site Owner


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

                    
PostPosted: Thu Aug 12, 2010 4:21 am    Post subject: Reply with quote

I don't know, do they get grayed out under 9.20? I'll look into it.
_________________
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
jetstar52



Joined: 16 Oct 2003
Posts: 177
Location: Sacramento, CA

                    
PostPosted: Thu Aug 12, 2010 11:07 am    Post subject: Reply with quote

Using 9.20 and your manual settings, the buttons are not greyed out.
_________________
I used to have 5 remotes that controlled one thing each. Now I have 6 remotes that each control everything!
Back to top
View user's profile Send private message
jetstar52



Joined: 16 Oct 2003
Posts: 177
Location: Sacramento, CA

                    
PostPosted: Sat Aug 14, 2010 11:56 am    Post subject: Reply with quote

Also, adding any "Y" protocol commands greys out all of the shifted buttons.
_________________
I used to have 5 remotes that controlled one thing each. Now I have 6 remotes that each control everything!
Back to top
View user's profile Send private message
mr_d_p_gumby
Expert


Joined: 03 Aug 2003
Posts: 1370
Location: Newbury Park, CA

                    
PostPosted: Sat Aug 14, 2010 6:52 pm    Post subject: Reply with quote

The Robman wrote:
To get the ball rolling I have put together a new version of KM which can handle these signals. I've called it 9.21 beta because I don't know if Mike already has a 9.21 in the works.
Yes, I do already have a 9.21 in progress.
jetstar52 wrote:
Rob, using KM 9.21 beta and the new NEC DEV4 protocols to program a 10820N, I notice that several buttons get greyed out when I use the "Y" protocols...Is this normal?
No, it is not normal. I'll have to dig into what Rob did to see where the problem is. However, I am about to leave on vacation, so it may have to wait until I return.
The Robman wrote:
For both the KM and RM implementations, if the users remote has the 4Dev executor built in, it would be a good idea to only supply a protocol upgrade if they assign a function that uses the "y" variant to one of their buttons.
I am not thrilled with subverting the standard NEC 4DEV combo this way for what is essentially a "hacked" JP1 protocol, and I think it will be difficult to implement the above in RM. What I would propose is to make a "new" protocol called NEC Yamaha Combo that always provides a protocol upgrade. This way, RM would be able to import KM files using this protocol much easier.
_________________
Mike England
Back to top
View user's profile Send private message
The Robman
Site Owner


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

                    
PostPosted: Mon Aug 16, 2010 1:35 pm    Post subject: Reply with quote

Per Mike's suggestion, I have separated the new executor from the official UEI one, so you will now need to explicitly select "NEC 4Dev Yamaha Combo" as the protocol in order to get the new features.

Revised KM 9.21 beta file here:
http://www.hifi-remote.com/forums/dload.php?action=file&file_id=8764

Updated KM upgrade file here:
http://www.hifi-remote.com/forums/dload.php?action=file&file_id=8765

I have also fixed the issue where the shifted buttons are getting grayed out.
_________________
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
gfb107
Expert


Joined: 03 Aug 2003
Posts: 3411
Location: Cary, NC

                    
PostPosted: Sat Aug 21, 2010 8:38 am    Post subject: Reply with quote

I have found some time to work on adding this to RM/RMIR, but I see the approach has changed. Please rephrase the original request so I know what to do in RM.
_________________
-- Greg
Original RemoteMaster developer
JP1 How-To's and Software Tools
The #1 Code Search FAQ and it's answer (PLEASE READ FIRST)
Back to top
View user's profile Send private message Visit poster's website
The Robman
Site Owner


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

                    
PostPosted: Sat Aug 21, 2010 1:34 pm    Post subject: Reply with quote

The approach hasn't changed, the only difference is that, rather than changing the existing "NEC 4Dev Combo" executor, I saved it as a new executor called "NEC 4Dev Yamaha Combo", where the new executor does everything that the old one does, plus it also handled the new Yamaha signals.

This was per Mike's suggestion to make it easier to implement in RM. In other words, we are now forcing the user to explicitly state that they want a protocol upgrade up front, rather than just giving them a protocol upgrade if they enter some Yamaha signals.
_________________
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
3FG
Expert


Joined: 19 May 2009
Posts: 3367

                    
PostPosted: Sun Aug 22, 2010 7:59 pm    Post subject: Reply with quote

Well, I sprained my ankle severely yesterday, so I'm a little cranky. I've posted this before, but the "new" Yamaha signals have more variety than what Rob has implemented. [Actually, I have trouble understanding Rob's description of "bit0 (ie, the rightmost bit) of the OBC complement is flipped." I would have said bit 7 of the OBC complement is set to zero.]

Anyway, from Yamaha's description of the IR signals for the RX-V1800, I think the various possibilities are described by the following examples of the "data code", as Yamaha terms it. Codes are in hexadecimal notation.

06 79 (This signal can be sent by Rob's executor)
06 78 (Only seen in ID2 setting, not ID1)
03 7D (Only seen in ID2 setting, not ID1)
CE 31 (Standard NEC1)
CE 30 (Only seen in ID2 setting, not ID1)
FB 05 (Only seen in ID2 setting, not ID1)

Standard NEC1 signals send the complement of the OBC as the second byte of data; another way of describing this is to note the the sum of the 2 bytes is always 0FF or 255 decimal. Another way to describe this is that the XOR of the 2 bytes is always 0FF. The 5 non-standard signals above have sums of FE, 100, 7E, 7F, and 80. Here are the example codes, the sums, and one method of calculating the second byte.

06 79 7F (complement and set bit 7 to 0)
06 78 7E (add 1, comp and set bit 7 to 0)
03 7D 80 (subtract 1, comp, bit 7 to 0)
CE 31 FF (complement)
CE 30 FE (add 1, comp)
FB 05 100 (subtract 1, comp)

I think that there are 4 states described here, and so at the minimum, it would take 2 control bits to instruct the (more complicated) executor on which signal is desired.

The above codes are listed in the Yamaha Master at RC. The "gap" codes tend to be written in red. See the RX-V1800 pdf under AV receivers.
Back to top
View user's profile Send private message
The Robman
Site Owner


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

                    
PostPosted: Mon Aug 23, 2010 8:07 am    Post subject: Reply with quote

3FG wrote:
[Actually, I have trouble understanding Rob's description of "bit0 (ie, the rightmost bit) of the OBC complement is flipped." I would have said bit 7 of the OBC complement is set to zero.]

That's because you're looking at the binary from Yamaha's POV, whereas my description was based on looking at the binary from the executor's POV. (Keep in mind that the NEC protocol is LSB and the data in the Yamaha PDFs is presented in it's natural form, but the data needs to be reversed when it's fed into a UEI executor).

3FG wrote:
Anyway, from Yamaha's description of the IR signals for the RX-V1800, I think the various possibilities are described by the following examples of the "data code", as Yamaha terms it. Codes are in hexadecimal notation.

06 79 (This signal can be sent by Rob's executor)
06 78 (Only seen in ID2 setting, not ID1)
03 7D (Only seen in ID2 setting, not ID1)
CE 31 (Standard NEC1)
CE 30 (Only seen in ID2 setting, not ID1)
FB 05 (Only seen in ID2 setting, not ID1)

Standard NEC1 signals send the complement of the OBC as the second byte of data; another way of describing this is to note the the sum of the 2 bytes is always 0FF or 255 decimal. Another way to describe this is that the XOR of the 2 bytes is always 0FF. The 5 non-standard signals above have sums of FE, 100, 7E, 7F, and 80. Here are the example codes, the sums, and one method of calculating the second byte.

06 79 7F (complement and set bit 7 to 0)
06 78 7E (add 1, comp and set bit 7 to 0)
03 7D 80 (subtract 1, comp, bit 7 to 0)
CE 31 FF (complement)
CE 30 FE (add 1, comp)
FB 05 100 (subtract 1, comp)

I think that there are 4 states described here, and so at the minimum, it would take 2 control bits to instruct the (more complicated) executor on which signal is desired.

Looking at the RX-V1800 file I see that there is another flavor, in addition to bit0 being complimented, some of the ID2 codes have bit7 complimented. Sometimes this is instead of bit0 and sometimes this is in addition to bit0.

06 79 (bit0 complemented)
06 78 (bit0 and bit7 complemented)
03 7D (bit0 and bit7 complemented)
CE 31 (Standard NEC1)
CE 30 (bit7 complemented)
FB 05 (bit7 complemented)
_________________
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
The Robman
Site Owner


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

                    
PostPosted: Mon Aug 23, 2010 8:59 am    Post subject: Reply with quote

I have just updated the executor included in my beta version of KM 9.21 so that it can now produce all of the Yamaha variations (that we know of).

So now, there are three Yamaha variations in play:

NEC1-y1 - where bit0 of the OBC complement is flipped
NEC1-y2 - where bit7 of the OBC complement is flipped
NEC1-y3 - where bit0 and bit7 of the OBC complement are flipped

NOTE: the bit0 and bit7 references are based on viewing the binary as it's presented to the executor (ie, 76543210). It's NOT based on how the signals are presented in the Yamaha PDFs.
_________________
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
Display posts from previous:   
Post new topic   Reply to topic       JP1 Remotes Forum Index -> JP1 - Software All times are GMT - 5 Hours
Goto page 1, 2, 3, 4, 5  Next
Page 1 of 5

 
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