|
JP1 Remotes
|
View previous topic :: View next topic |
Author |
Message |
Revwillie
Joined: 04 Aug 2003 Posts: 39
|
Posted: Thu Jul 17, 2008 12:20 am Post subject: Vudu code conversion request |
|
|
1. Device: vudu theater in a box
2. Type of device: subscription based DVR (www.vudu.com)
3. Year: 2007
4. JP1/UEI Remote model: 15-2117
5. Do you have a JP1 cable? YES
6. Still have original remote? YES but it is RF only
7. Checked the file section? YES
8. Checked Pronto file section (at R/C)? YES
9. Partially working setup code? NO
10. Learning remote question? I have a learning remote, but no IR 'teaching remote' exists. IR dongle is now available for the vudu, but currently only works with other programmable universal remotes like the Pronto
HEX code can be found here http://forum.vudu.com/showpost.php?p=19265&postcount=73 |
|
Back to top |
|
|
Capn Trips Expert
Joined: 03 Oct 2003 Posts: 3990
|
Posted: Thu Jul 17, 2008 7:19 am Post subject: |
|
|
Normally, you could do this yourself using the IRTool program.
It normally decodes Pronto hex into JP1 format in a pop-up window. Unfortunately, your Vudu appears to use a new protocol and it doesn't decode (yields a Gap XXX decode).
You need one of the experts to look at the Pronto hex in that link and build a new protocol executor for you. _________________ Beginners - Read this thread first
READ BEFORE POSTING or your post will be DELETED!
Remotes: OFA XSight Touch, AR XSight Touch
TVs: LG 65" Smart LED TV; Samsung QN850BF Series - 8K UHD Neo QLED LCD TV
RCVR: Onkyo TX-SR875; Integra DTR 40.3
DVD/VCR: Pioneer DV-400VK (multi-region DVD), Sony BDP-S350 (Blu-ray), Toshiba HD-A3 (HD-DVD), Panasonic AG-W1 (Multi-system VCR);
Laserdisc: Pioneer CLD-D704.
Amazon Firestick
tape deck: Pioneer CT 1380WR (double cassette deck)
(But I still have to get up for my beer) |
|
Back to top |
|
|
Revwillie
Joined: 04 Aug 2003 Posts: 39
|
Posted: Thu Jul 17, 2008 3:50 pm Post subject: |
|
|
OK, I appreciate the clarification. In following the template, there was no reference to IRtool, but it's good information to have for the future.
There is no rush for this task. I have to order an IR dongle before I can even test it out. Then, I have to find the time to do the JP1 upgrade.
I appreciate all the hard work that the experts provide. |
|
Back to top |
|
|
Capn Trips Expert
Joined: 03 Oct 2003 Posts: 3990
|
Posted: Thu Jul 17, 2008 4:58 pm Post subject: |
|
|
Well, it's not in the basic documentation because usually, you don't have to use IR Tool, it is presumed that the majority will at least get a starting point from an existing upgrade somewhere, or will be able to learn and decode the OEM remote with their JP1 remote.
If all of the stuff in the beginner's Read Me docs is JP1 elementary School, this would be High School. I'd say I'm about a JP1 High graduate (or at least a GED holder)
I won't even talk about College or Grad school! _________________ Beginners - Read this thread first
READ BEFORE POSTING or your post will be DELETED!
Remotes: OFA XSight Touch, AR XSight Touch
TVs: LG 65" Smart LED TV; Samsung QN850BF Series - 8K UHD Neo QLED LCD TV
RCVR: Onkyo TX-SR875; Integra DTR 40.3
DVD/VCR: Pioneer DV-400VK (multi-region DVD), Sony BDP-S350 (Blu-ray), Toshiba HD-A3 (HD-DVD), Panasonic AG-W1 (Multi-system VCR);
Laserdisc: Pioneer CLD-D704.
Amazon Firestick
tape deck: Pioneer CT 1380WR (double cassette deck)
(But I still have to get up for my beer) |
|
Back to top |
|
|
vickyg2003 Site Admin
Joined: 20 Mar 2004 Posts: 7073 Location: Florida |
Posted: Fri Jul 18, 2008 11:53 am Post subject: |
|
|
Quote: | If all of the stuff in the beginner's Read Me docs is JP1 elementary School |
Ouch, I didn't feel like ANYTHING in the JP1 world was ELEMENTARY! Junior high/middle school at least! But maybe that was just me. I felt like I was scaling a mountain when I started with JP1. Of course I got involved because I wanted a cleaner coffee table, not because I had any interest in AV equipment, IR signals, electronics or soldering.
Speaking of graduate school though, since IRTool didn't identify the signal as a comon protocol, the next step will be to analyze all the signals and then transfer the information to protocol builder to write a protocol upgrade (some assembly code to format the IR with the proper frequency and amount of on/off time), and then use this with KM or RM to create a device upgrade ( that describes the pattern for each function).
This signal would probably be a good one for someone who want's to begin their graduate work in protocol builder. I tried to master this last year, but just couldn't quite get my head around this. Rob, John, Mike and Elizabeth gave tried to teach me year. It wasn't done in PM's or Emails. I asked all my questions, no matter how dumb they were, in the public forum, so I know that everything you need to know can be found in the forum. |
|
Back to top |
|
|
Revwillie
Joined: 04 Aug 2003 Posts: 39
|
Posted: Fri Jul 18, 2008 4:24 pm Post subject: |
|
|
sweet fancy moses
I started reading the protocol builder docs. I'd like to tackle this as a way to give back to JP1...although my binary and hex skillz are way rusty. I'll have to set aside some time this weekend. But if any of the gurus want to take a stab at it, be my guest! |
|
Back to top |
|
|
kupakai
Joined: 29 Sep 2006 Posts: 283 Location: New York |
Posted: Fri Jul 18, 2008 9:50 pm Post subject: |
|
|
I've decoded the Pronto hex to the following, in LSB:
Code: | Power On 10101011 01010100 11000000 00000011 = AB 54 C0 03
Power Off 10101011 01010100 00100000 00001101 = AB 54 20 0D
Skip Backward 10101011 01010100 01011000 10001010 = AB 54 58 8A
Skip Forward 10101011 01010100 11011000 10000010 = AB 54 D8 82
Play 10101011 01010100 10011000 10000110 = AB 54 98 86
Pause 10101011 01010100 10111000 10000100 = AB 54 B8 84
Back 10101011 01010100 11010000 00000010 = AB 54 D0 02
Page Up 10101011 01010100 10100000 00000101 = AB 54 A0 05
Page Down 10101011 01010100 01100000 00001001 = AB 54 60 09
VUDO Home 10101011 01010100 00000100 01001111 = AB 54 04 4F
More Info 10101011 01010100 10010100 01000110 = AB 54 94 46
Direction Up 10101011 01010100 01001000 10001011 = AB 54 48 8B
Direction Down 10101011 01010100 11001000 10000011 = AB 54 C8 83
Direction Left 10101011 01010100 00101000 10001101 = AB 54 28 8D
Direction Right 10101011 01010100 10101000 10000101 = AB 54 A8 85
Select 10101011 01010100 11010100 01000010 = AB 54 D4 42
Power Toggle 10101011 01010100 01000000 00001011 = AB 54 40 0B
|
It seems the device number is 213 (the first 8 bits) and subdevice number is 42 (the second set of 8 bits). The 3rd set of 8 bits seems to be the command number and the 4th is a check byte. From the pattern above, the check byte seems to be created by taking the upper 4 bits of the command byte and puts them in the lower 4 bits, and taking the complement of the lower 4 bits of the command byte and assigning them to the upper 4 bits.
I believe in IRP notation it would be:
{39.86k,560}<1,-1|1,-3>(16,-8,D:8,S:8,F:8,F:4:4,~F:4,1,-81,(16,-4,1:1,1,-169)*)
(Hopefully, John can correct me if it is wrong). I've verified with the following entry for makehex IRP file and it seems to generate matching Pronto hex codes:
Protocol=Vudu
Frequency=39857
Time Base=560
One=1,-3
Zero=1,-1
Prefix=16,-8
Suffix=1,-81
R-Prefix=16,-4
R-Suffix=1,-169
Form=*,D:8,S:8,F:8,F:4:4,~F:4,_;*,1:1,_
I'm attempting to create the protocol upgrade for it, but I'm not quite proficient with it, so I'm posting the info above just in case someone can write it faster than I can. |
|
Back to top |
|
|
vickyg2003 Site Admin
Joined: 20 Mar 2004 Posts: 7073 Location: Florida |
Posted: Sat Jul 19, 2008 6:40 am Post subject: |
|
|
kupakai, thanks for the explanation. I'd turned this into my 1's and 0's, saw that the first 16 bytes were the same, and then been trying to identify any kind of pattern in the last 16 bytes, and that's what I can't seem to master, but that's also the part that looks like "fun".
Quote: | From the pattern above, the check byte seems to be created by taking the upper 4 bits of the command byte and puts them in the lower 4 bits, and taking the complement of the lower 4 bits of the command byte and assigning them to the upper 4 bits |
Now when I look at the Skip back that seems so obvious but I couldn't see that for the life of me
01011000 10001010
I do have a question though. You said
Quote: | I've verified with the following entry for makehex IRP file and it seems to generate matching Pronto hex codes: |
What is makehex? |
|
Back to top |
|
|
kupakai
Joined: 29 Sep 2006 Posts: 283 Location: New York |
Posted: Sat Jul 19, 2008 9:47 am Post subject: |
|
|
vickyg2003 wrote: |
What is makehex? |
Makehex is a utility to make Pronto hex codes using parameters similar to irp notations. |
|
Back to top |
|
|
Revwillie
Joined: 04 Aug 2003 Posts: 39
|
Posted: Sat Jul 19, 2008 3:37 pm Post subject: |
|
|
"I like cheese"
that's what I say in response to a discussion so technical that I'm utterly lost.
I just ordered an IR dongle from vudu so that I can at least test the protocol upgrade.
Thanks kupaki, does one just have to fill in the protocol builder spreadsheet using values inferred from the command sequences? |
|
Back to top |
|
|
kupakai
Joined: 29 Sep 2006 Posts: 283 Location: New York |
Posted: Sat Jul 19, 2008 4:31 pm Post subject: |
|
|
Revwillie wrote: | "I like cheese"
that's what I say in response to a discussion so technical that I'm utterly lost.
I just ordered an IR dongle from vudu so that I can at least test the protocol upgrade.
Thanks kupaki, does one just have to fill in the protocol builder spreadsheet using values inferred from the command sequences? |
Unfortunately, it's not that easy. Because of the checksum byte, I think it's going to need a small executor. I'm going to try to build one, but I've only done some translations between processors and I'm not quite clear on which DCBUF holds what yet. |
|
Back to top |
|
|
The Robman Site Owner
Joined: 01 Aug 2003 Posts: 21234 Location: Chicago, IL |
Posted: Sat Jul 19, 2008 4:36 pm Post subject: |
|
|
Here's some PB tips. Using this part of kupakai's IRP...
Code: | Time Base=560
One=1,-3
Zero=1,-1 |
... you can deduce that the ONE pair is +560 -1620 and the ZERO pair is +560 -560
from this...
Code: | Prefix=16,-8
Suffix=1,-81 |
you can deduce that the leadin pair is +8960 -4480.
You'll notice that the OFF time for the 2nd prefix is 1/2 the time of the first one (ie, Prefix=16,-8 compared to R-Prefix=16,-4) so you would need to use the "half after first" option for the leadin style.
The one thing that I noticed that isn't present in the IRP is the fact that the leadout should use the "off as total" option. You'll notice that some of the leadout times are bigger than others. The signals with the larger leadout times have less ONEs in the signal than the ones with the smaller leadout times, and the repeating portion has an even larger leadout time. As the IRP calls for 169 units of time for the repeating leadout and there's one ONE in this string, I will deduce that the true leadout time is 173 units of time (because a ONE uses 1 unit of ON time and 3 units of OFF time). 173 units of time is 96880.
As you will need to change the format of the signal before you allow it to repeat, you'll need to create the base signal as non-repeating. As you'll be formatting the check byte in the code, you'll need to set up the base signal as using just 1 variable byte. (You'll change both of these settings in the assembler code).
Once you've entered all the base signal info into PB, you should switch over to the Assembler sheet and click on "Load Generated Code" (I prefer to have the "Use pre-defined constants" item un-checked).
To format the checksum, you would need to copy the variable byte (R05) to the next position (R06), then you would need to SWAP the nibbles and then you would need to complement the 4 right bits (which you can do by XORing it with binary 00001111, hex 0F). To include the checksum byte you'll need to increase the number of variable bytes (R11) to 2.
Note: Due to a limitation in PB, you can't just select 1 variable byte and then increase it in the code, so you'll need to select 3 bytes and then edit the hex once it's generated. Ie, change the $FF02 line from $23 to $21.
Now you can send the signal once (by calling $0146).
Now you'll need to format the repeating portion. First reduce the fixed bits(R12) to 1 then reduce the variable bytes (R11) to 0. As the first fixed bit is already 1, there's no need to change the data.
Now you can send the repeating signal (by jumping to $0146).
The following PB file is the result of me doing all the steps outlined above:
http://www.hifi-remote.com/forums/dload.php?action=file&file_id=5666
The next step is to create a compatible upgrade and test the signal. It almost certainly won't work the first time, so you'll need a way to capture the learned signals so you can look at them to see what's wrong (ie, which part of the generated signal isn't what you were expecting). Even if the signal is what you were expecting, it still doesn't mean that it will work. _________________ 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 |
|
|
Revwillie
Joined: 04 Aug 2003 Posts: 39
|
Posted: Sat Jul 19, 2008 5:33 pm Post subject: |
|
|
The Robman wrote: | Here's some PB tips. ...
The next step is to create a compatible upgrade and test the signal. It almost certainly won't work the first time, so you'll need a way to capture the learned signals so you can look at them to see what's wrong (ie, which part of the generated signal isn't what you were expecting). Even if the signal is what you were expecting, it still doesn't mean that it will work. |
That's some good cheese
Hi Robman, it's been a long time. Thank you for the explanation. I don't mean to be flip, but I think I'll have to read your post a few more times with the PB docs in front of me. A pint of guinness might help, too. What I can do is upload the draft code to my 2116 or HTPro and then use the two remotes as a teacher learner pair to see what comes out in the learned signals. I'm not sure how long the vudu dongle will take to ship, but I'll test on the actual device as soon as I can. |
|
Back to top |
|
|
The Robman Site Owner
Joined: 01 Aug 2003 Posts: 21234 Location: Chicago, IL |
Posted: Sat Jul 19, 2008 8:48 pm Post subject: |
|
|
The other step that I forgot to mention is that in order to test the protocol, you'll need to convert the third byte of binary above into either hex or OBCs in order to enter them into KM or RM. _________________ 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 |
|
|
vickyg2003 Site Admin
Joined: 20 Mar 2004 Posts: 7073 Location: Florida |
Posted: Sat Jul 19, 2008 8:52 pm Post subject: |
|
|
~Rob,
Thanks for the explanation. I'm trying to get my head around what you've told us. I popped open your pb file, and I can see that you needed to write a few lines of assembly code to do some manipulation before you send the signal to get that checksum byte that kupaki identified. And then do some manipulation and send the signal a second time.
I've got a couple of conceptual questions.
1) Why wouldn't/couldn't you just say this was a 2 byte command set and than figure out what both bytes need to be. My guess is that for some devices this would require a lot more upgrade&keymove space if there are a lot of functions for the device. (Note I've never progressed to the device upgrade for a custom protocol, so maybe this can't even be done.
2) What information told you how this code was going to repeat and that you'd need to do the manipulation before the 2nd call to the IR engine?
~Kupaki thanks for leading me to makehex. |
|
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
|