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

How does a JP1 generate codes?

 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - General Forum
View previous topic :: View next topic  
Author Message
cpurick



Joined: 19 Sep 2003
Posts: 22

PostPosted: Wed Oct 29, 2003 8:12 am    Post subject: How does a JP1 generate codes? Reply with quote

My question stems from a thread on HTM remotes on RC. We're talking about the value of a JP1 cable to a user who's only trying to generate discretes for the purpose of teaching them to an MX-500.

I'm maintaining that as long as a matching setup code is in the ROM, then the protocol can transmit any arbitrary EFC. But the question that's being raised is whether that only applies to advanced codes "that have been included" in the setup code.

For example, when I built my own codes there were plenty of EFCs that I didn't "include" in the upgrade. When I needed to map them to smart keys, phantom keys or shifted keys, I keyed them straight into the remote without ever modifying the upgrade. There was even an EFC for the service menu that I never actually stored in the remote at all, except when I manually entered it to send it.

So, clearly we're not as limited by "whether or not an advanced code is implemented in the setup" as we are by "whether a suitable setup code exists in a specific remote." And that, and the key-mapping, are the reasons one would need the JP1.

Now, I know there are protocols that use more than 8 bits, like the Panasonic codes that use multiple sub IDs within a setup code. It stands to reason that it would be impossible to identify the entire code based upon an EFC alone -- but remotes seem to include all the "base codes" whenever they use these protocols.

So, what are the circumstances where you wouldn't be able to arbitrarily transmit any random EFC from an existing code?

And what happens when you key an EFC directly into a device that uses a combination of device IDs?

What is the likelihood that a remote would have a setup code for a device, but somehow be unable to create specific advanced codes for the same device without the setup code being specifically designed to accept advanced codes?
Back to top
View user's profile Send private message
johnsfine
Site Admin


Joined: 10 Aug 2003
Posts: 4767
Location: Bedford, MA

PostPosted: Wed Oct 29, 2003 8:51 am    Post subject: Reply with quote

A UEI remote generates a signal (except for learned signals) internally using what the JP1 group calls a "hex command".

For each setup code the hex commands have a fixed length, usually 1 byte but sometimes 2 or more bytes.

If a setup code supports more than 256 possible commands, then it must have a hex command of more than 1 byte. But if it supports 256 or fewer possible commands, it still might have hex commands of more than 1 byte, depending on how UEI chose to encode it.

An EFC is an encription of one byte of a hex command. If you use an EFC with a setup code that uses more than one byte for hex commands, then the remaining bytes of the hex command will use values left over from immediately preceeding actions on the remote. If you understood that left_over_values effect a lot better than I do (which I doubt anyone actually does), you could predict exactly which signal would be sent and to a limited extent you could do specific preceeding actions as a way of controlling the left over values and causing the desired signal to be sent.

A setup code is not "specifically designed to accept advanced codes" as you stated. Every setup code accepts advanced codes and the setup codes with one_byte hex commands give easily predicatable results when advanced codes are used, while those with two (or more) byte hex commands give hard to predict results.

EFC codes are practical for a setup code for advanced functions of a particular device if:
1) The setup code uses one byte hex commands and
2) The advanced functions are in the set of 256 commands generated by that setup code.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
cpurick



Joined: 19 Sep 2003
Posts: 22

PostPosted: Wed Oct 29, 2003 10:26 am    Post subject: Reply with quote

So, by saying "usually 1 byte but sometimes 2 or more bytes," you're implying that arbitrary EFCs can usually be generated.

What's the prevalance of multi-byte hex commands; i.e. "how frequent is 'sometimes?' " Obviously all codes with more than 8-bits in the function would be included. Are these common?

BTW John, that was an incredibly articulate response. These are tough enough concepts to merely understand, but your ability to communicate them clearly is even more enviable.
Back to top
View user's profile Send private message
Mark Pierson
Expert


Joined: 03 Aug 2003
Posts: 3011
Location: Connecticut, USA

PostPosted: Wed Oct 29, 2003 11:03 am    Post subject: Reply with quote

cpurick wrote:
What's the prevalance of multi-byte hex commands; i.e. "how frequent is 'sometimes?' "

Typically, but not always, if a setup code begins with a "1", it's usually a 2-byte code.
_________________
Mark
Back to top
View user's profile Send private message Send e-mail Visit poster's website
johnsfine
Site Admin


Joined: 10 Aug 2003
Posts: 4767
Location: Bedford, MA

PostPosted: Wed Oct 29, 2003 11:03 am    Post subject: Reply with quote

cpurick wrote:
So, by saying "usually 1 byte but sometimes 2 or more bytes," you're implying that arbitrary EFCs can usually be generated.


I meant to communicate the fact that most setup codes have 1 byte hex commands, but some setup codes have 2 or more byte hex commands. Each setup code has a single length. The way you quoted me makes it sound like you think I meant a given setup code has "usually 1 byte".

I'm not sure what you thought I was "implying", because I can't tell which way you mean "usually".

cpurick wrote:
What's the prevalance of multi-byte hex commands; i.e. "how frequent is 'sometimes?' " Obviously all codes with more than 8-bits in the function would be included. Are these common?


I haven't counted how many setup codes have 1-byte vs. 2-byte vs. more than 2 in any one model of UEI remote. I think the fraction of setup codes with more than 1 byte hex commands has grown in recent models vs. older models, but remains a minority of setup codes.

The number of "bits in the function" is not as well defined a concept as you might think, because it's not clear which bits are part of the "function" and it may not be even clear which portion of an IR signal is a "bit". A UEI protocol might define a very complex relationship between a single byte hex command and the part of the IR signal which that byte controls. A different UEI protocol for the same IR signal might do it very differently.

cpurick wrote:
BTW John, that was an incredibly articulate response. These are tough enough concepts to merely understand, but your ability to communicate them clearly is even more enviable.


Your reply actually made me feel that my above response wasn't very articulate.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
The Robman
Site Owner


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

PostPosted: Wed Oct 29, 2003 11:26 am    Post subject: Reply with quote

Rick,
You are pretty much correct in most of your statements regarding using a UEI remote to generate signals for your MX-500 to learn.

Most UEI setup codes do accept advanced codes (which implies that they have 1 byte of variable data, as John stated), so as long as you have found a setup code that generally controls the device in question, you can use EFCs (that are not necessarily included in the setup code) to generate signals for the MX-500 to learn.

The situations when you would need a JP1 cable are:

a) There is no matching setup code in the remote, and
b) There is a setup code, but it uses 2 or more bytes of variable data.

As Mark mentioned, when a setup code is greater than 1000, there's a good chance that it uses 2 bytes of variable data (or is what we call a "combo code"). This is because when UEI makes a new setup code that is based on an existing code, they like to make the new code number similar to the old one.

For example, most Panasonic VCRs use functions from two different setup codes, those being VCR/0162 and VCR/0454. So, when UEI created some "combo codes" that combined functions from both of these codes, they named them 1062, 1162 and 1262 to highlight the relationship with 0162.

Another example is the current Kenwood stereo receiver code, which is RCVR/1313, this combines functions from the original RCVR/0313 and 0314 codes.

However, I should point out that the 1000+ method of identification is far from scientific.

As John also pointed out, sometimes even when there are less than 256 possible commands, UEI may use poor judgement and create a 2-byte code anyway. Two prime examples of this are the ReplayTV and Tivo setup codes (ie, VCR/0614 and VCR/0618), where both were originally programmed using 2 bytes of variable data (and therefore these setup codes did not support advanced codes). However, UEI has recently fixed this and starting with the URC-8910 remote, the VCR/0618 code uses just 1 byte of variable data, and sometime in the future the VCR/0614 code should start using 1 byte also.
_________________
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
cpurick



Joined: 19 Sep 2003
Posts: 22

PostPosted: Wed Oct 29, 2003 11:44 am    Post subject: Reply with quote

That is exactly what I was after.

Rob, I had noticed the 0162/1062/1162 relationship. Thanks for explaining it.

John, yes I had correctly understood you, despite my inability to phrase my own question at your level of clarity. A better description of what I was after might be "bits in the OBC."

Aside from ReplayTV and Tivo, are there any other similarly popular devices that use multi-byte hex commands?
Back to top
View user's profile Send private message
The Robman
Site Owner


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

PostPosted: Wed Oct 29, 2003 12:05 pm    Post subject: Reply with quote

cpurick wrote:
Aside from ReplayTV and Tivo, are there any other similarly popular devices that use multi-byte hex commands?

Several. What is it you're looking for exactly? What JP1 remotes do you have? A quick way to test how many variable bytes a setup code uses is to program a keymove * (using the remote, not IR.exe) and then look at the keymove using IR and it will show you have many bytes are used. (This is NOT true with the URC-6131 remote though).

* By "keymove", I mean copying one button to another, NOT programming advanced codes.
_________________
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
cpurick



Joined: 19 Sep 2003
Posts: 22

PostPosted: Wed Oct 29, 2003 1:05 pm    Post subject: Reply with quote

These are the user's components:

A/V receiver: Pioneer VSX-D711

TV: Panasonic PT-40LC12

DVD: Panasonic RP62

HD Digital Cable Box: Motorola DCT5100 with an AT&T 200C Remote

He only has the MX-500 right now. We're trying to decide if he would benefit from a cheap JP1 remote (for power discretes) -- but he'd be way over his head if he had to actually rig up the interface and use IR. As far as I can tell, he'd need a good bit of help just firing off the EFCs manually.
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 - General Forum All times are GMT - 5 Hours
Page 1 of 1

 
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
Get Smart! the band's official homepage Rockabilly Central