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

Vudu code conversion request
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
Revwillie



Joined: 04 Aug 2003
Posts: 39

                    
PostPosted: Thu Jul 17, 2008 12:20 am    Post subject: Vudu code conversion request Reply with quote

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


Joined: 03 Oct 2003
Posts: 3990

                    
PostPosted: Thu Jul 17, 2008 7:19 am    Post subject: Reply with quote

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



Joined: 04 Aug 2003
Posts: 39

                    
PostPosted: Thu Jul 17, 2008 3:50 pm    Post subject: Reply with quote

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


Joined: 03 Oct 2003
Posts: 3990

                    
PostPosted: Thu Jul 17, 2008 4:58 pm    Post subject: Reply with quote

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
View user's profile Send private message
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Fri Jul 18, 2008 11:53 am    Post subject: Reply with quote

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! Laughing 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. Embarassed 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
View user's profile Send private message Visit poster's website
Revwillie



Joined: 04 Aug 2003
Posts: 39

                    
PostPosted: Fri Jul 18, 2008 4:24 pm    Post subject: Reply with quote

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



Joined: 29 Sep 2006
Posts: 283
Location: New York

                    
PostPosted: Fri Jul 18, 2008 9:50 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Sat Jul 19, 2008 6:40 am    Post subject: Reply with quote

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



Joined: 29 Sep 2006
Posts: 283
Location: New York

                    
PostPosted: Sat Jul 19, 2008 9:47 am    Post subject: Reply with quote

vickyg2003 wrote:

What is makehex?


Makehex is a utility to make Pronto hex codes using parameters similar to irp notations.
Back to top
View user's profile Send private message Send e-mail
Revwillie



Joined: 04 Aug 2003
Posts: 39

                    
PostPosted: Sat Jul 19, 2008 3:37 pm    Post subject: Reply with quote

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



Joined: 29 Sep 2006
Posts: 283
Location: New York

                    
PostPosted: Sat Jul 19, 2008 4:31 pm    Post subject: Reply with quote

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


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

                    
PostPosted: Sat Jul 19, 2008 4:36 pm    Post subject: Reply with quote

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



Joined: 04 Aug 2003
Posts: 39

                    
PostPosted: Sat Jul 19, 2008 5:33 pm    Post subject: Reply with quote

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 Surprised

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


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

                    
PostPosted: Sat Jul 19, 2008 8:48 pm    Post subject: Reply with quote

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


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Sat Jul 19, 2008 8:52 pm    Post subject: Reply with quote

~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
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 - 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