|
JP1 Remotes
|
View previous topic :: View next topic |
Author |
Message |
Mog
Joined: 02 Jun 2004 Posts: 48
|
Posted: Sat Jun 26, 2004 7:56 am Post subject: Developing upgrade for the Panasonic PT-AE500E projector |
|
|
I am trying to create a device upgrade for the Panasonic PT-AE500E projector
I have used the Protocol-Builder spreadsheet to make up a new protocol, and have defined 5 bytes of fixed data as follows: BF FB FE ED FF
I have pasted this protocol into KM 8.23, no problem, and the fixed data is correctly shown in cells C12 and C17
BUT, when I copy the device upgrade data and paste it into IR 5.06,
the fixed data is treated as part of the keymap, and the fixed data area of the dialog is left empty...
The protocol has two command bytes for each key, and I am trying to configure keys as follows:
BF FB FE ED FF_______B1 A2 (Enter)
BF FB FE ED FF_______A1 B2 (Menu)
BF FB FE ED FF_______A5 B6 (Up)
BF FB FE ED FF_______25 36 (Down)
BF FB FE ED FF_______C5 D6 (Left)
BF FB FE ED FF_______45 56 (Right)
After the paste operation, the dialog reads as follows:
#___Keyname_____HEX
1___0____________BF FB
2___(____________FE ED
3___1____________FF B1
4___2____________A2 A1
T8__3____________B2 A5
As you can see, the fixed data appears as part of the first three key definitions
Can anybody help me with this?
( The upgrade is for the Topline URC8550 ) |
|
Back to top |
|
|
johnsfine Site Admin
Joined: 10 Aug 2003 Posts: 4766 Location: Bedford, MA |
Posted: Sat Jun 26, 2004 8:08 am Post subject: |
|
|
IR often makes that type of display error when there are very few buttons defined in an upgrade.
If the upgrade was correct (from KM), the display error doesn't matter.
IR uploads the upgrade to the remote exactly as it received it from KM. IR doesn't need to be able to understand the upgrade. It only tries to understand the upgrade in order to display helpful information to the user. |
|
Back to top |
|
|
johnsfine Site Admin
Joined: 10 Aug 2003 Posts: 4766 Location: Bedford, MA |
Posted: Sat Jun 26, 2004 8:13 am Post subject: Re: Cannot Set Fixed Data when pasting device |
|
|
Mog wrote: |
I have used the Protocol-Builder spreadsheet to make up a new protocol, |
Why?
What is wrong with the standard Panasonic protocol? |
|
Back to top |
|
|
Mog
Joined: 02 Jun 2004 Posts: 48
|
Posted: Sat Jun 26, 2004 8:40 am Post subject: Re: Cannot Set Fixed Data when pasting device |
|
|
johnsfine wrote: | Why?
What is wrong with the standard Panasonic protocol? |
Well, one reason is that I have other less standard devices to create upgrades for,
and I am trying to learn how to use all of these wonderful tools
Using the learning facility on my other remote, a Kameleon, it reported the protocol as
Panasonic2 ($109), but the nearest one I could find was Panasonic2 (LCD) which
has a different fixed byte sequence to what I need ( BF FB 00 00 00 )
After your suggestion, I can see that the standard Panasonic ( $C9) does have the sequence I need, ( BF FB FE ED FF ),
so that does indeed look promising
Thanks - I'll give it a go! |
|
Back to top |
|
|
jon_armstrong Expert
Joined: 03 Aug 2003 Posts: 1238 Location: R.I.P. 3/25/2005 |
Posted: Sat Jun 26, 2004 9:01 am Post subject: |
|
|
There is an upgrade in the files for the AE-100.
This is a 56 bit protocol as compared to the usual Panasonic 48 bit protocol. Also if you use the XOR-comp feature and select the third through the 6th bytes you derive the last byte. It will make searching for hidden commands a little easier, although Panasonic has a nasty habit of using multiple sub-devices.
The protocol in the upgrade already does the XOR although the 0/1 values are inverted from what you are using.
BTW, if you post the text file from PB in the diagnosis area it will allow others to see what you did. _________________ -Jon |
|
Back to top |
|
|
Mog
Joined: 02 Jun 2004 Posts: 48
|
Posted: Sat Jun 26, 2004 11:08 am Post subject: |
|
|
OMG!
Well, using that upgrade works fine on the Kameleon for my PTAE500
However, that protocol hasn't exactly made me see the light.
When I look at this protocol using protocol builder, it is shown as having five device bytes, and one command byte,
I guess that it's just the protocol code that generates the extra byte using the XOR method you described.
Would it not be possible to do the get the same result by defining two command bytes, and not bothering with the XOR code?
Also, although I can see that the HEX values on the KM functions page
match the data in byte 6 of the 7 bytes sent, where on earth do the
OBC and EFC values come from (and go, for that matter)?
I understand that the protocol is 56 bit, as I clearly see a sequence of seven bytes.
I can also see that all the 0/1 values are inverted from the examples I gave before
But where is the 'XOR-comp' feature you mentioned?
And how can I get a version of the protocol for the P8/740?
This relates back to my first post:
http://www.hifi-remote.com/forums/viewtopic.php?t=2320
Ultimately, I want to put this device and others yet to be investigated on my Topline8
I can see that I have a way to go before I get to grips with all this |
|
Back to top |
|
|
johnsfine Site Admin
Joined: 10 Aug 2003 Posts: 4766 Location: Bedford, MA |
Posted: Sat Jun 26, 2004 11:14 am Post subject: |
|
|
Mog wrote: |
Would it not be possible to do the get the same result by defining two command bytes, and not bothering with the XOR code? |
Sure. But usually we prefer having a few extra bytes in a protocol upgrade to having a second byte in every hex command.
Mog wrote: |
Also, although I can see that the HEX values on the KM functions page
match the data in byte 6 of the 7 bytes sent, where on earth do the
OBC and EFC values come from (and go, for that matter)?
|
I assume (haven't checked this particular example) that the OBC is the decimal value of the command. The HEX command is that value in hex but with its bits reversed (because the sending routines in a UEI remote assume MSB, but this protocol is LSB).
The EFC is just an encription of the hex command. Unless you want to use the Set### method to test EFCs, it best to ignore them when working with this kind of upgrade.
Mog wrote: |
But where is the 'XOR-comp' feature you mentioned?
|
That is a feature of PB that adds assembler code to the protocol upgrade, which XORs together some bytes of the signal and compliments the result to compute an extra byte which is added to then end.
That matches the check byte that Panasonic uses in the original remote.
Mog wrote: |
And how can I get a version of the protocol for the P8/740?
|
The lastest PB, just posted seems to have very impressive support for other CPUs (beyond the S3C80 support for which I started the PB design). I have no idea whether/how that other CPU support works, but the first thing you should try is just trusting PB and seeing if it does the right thing. |
|
Back to top |
|
|
Mog
Joined: 02 Jun 2004 Posts: 48
|
Posted: Sat Jun 26, 2004 12:02 pm Post subject: |
|
|
Thanks a lot for the speedy replies, guys
I have to say, this is all very impressive stuff, and it looks as if I have
just joined at the right time!
The latest PB looks terrific...
OK, I think maybe I am beginning to see the light.
Hopefully I will get my Topline working with the PTAE500 sometime today... 8) |
|
Back to top |
|
|
mr_d_p_gumby Expert
Joined: 03 Aug 2003 Posts: 1370 Location: Newbury Park, CA |
Posted: Sat Jun 26, 2004 12:16 pm Post subject: |
|
|
You may have problems if you develop your own protocol in PB using an S3C80, and then try to translate it into P8/740 for your Topline. The S3C80-based remotes have a 64-bit transmit buffer, while the P8/740s only have a 48-bit buffer. This means that you cannot use the P8/740 remote's IR engine to generate a 56-bit frame. You might be able to use the P8/740 Direct Calls option in PB, which bypasses the IR engine, but it also generates a larger protocol upgrade.
While it is commendable that you've jumped right into PB, I think overall you'd be better off developing your upgrade using the built-in 00C9 Panasonic protocol if you can. I believe it is present in your Topline (URC-8550 or 5550?). _________________ Mike England |
|
Back to top |
|
|
johnsfine Site Admin
Joined: 10 Aug 2003 Posts: 4766 Location: Bedford, MA |
Posted: Sat Jun 26, 2004 12:26 pm Post subject: |
|
|
mr_d_p_gumby wrote: |
While it is commendable that you've jumped right into PB, I think overall you'd be better off developing your upgrade using the built-in 00C9 Panasonic protocol if you can. I believe it is present in your Topline (URC-8550 or 5550?). |
His device doesn't use the standard Panasonic protocol (00C9). It uses the less common 56-bit version of the Panasonic protocol.
I haven't checked what KM or RM support exist for the 56 bit Panasonic protocol.
If they don't support it, they should. If it's a tricky protocol to support in the non S3C80 models, hopefully one of the experts (in those models) will tackle it. 56-bit Panasonic is common enough we ought to have full support for it (sorry for not taking the time at the moment to check whether we already do). |
|
Back to top |
|
|
Mog
Joined: 02 Jun 2004 Posts: 48
|
Posted: Sat Jun 26, 2004 2:02 pm Post subject: |
|
|
Hmmm, I never seem to get it easy
I have disassembled the PT-AE100 protocol in PB, and get the following:
Code: |
FF17 20 11 LFF17: INC R11
FF19 E4 05 09 LD DCBUF+6,DCBUF+2
FF1C B4 06 09 XOR DCBUF+6,DCBUF+3
FF1F B4 07 09 XOR DCBUF+6,DCBUF+4
FF22 B4 08 09 XOR DCBUF+6,DCBUF+5
FF25 8D 01 46 JP 0146H
|
The Check byte style remains 'off'
I am happy that I can see four bytes being checksummed, and placed at the end of the byte stream.
By the way, I see explanations for R12 through R2C in the protocol-builder-assembler-readme.txt file.
What would the P8/740 equivalent to the 'R11' reference be?
Reading between the lines, it would seem that on the S3C8+, R11 contains
a transmit byte count, and as we are adding a checksum byte here, we need to bump the value by one.
However, I was expecting to be able to use the Check byte style.
Interestingly, if I set it to XOR-comp, for 4 bytes, then I get the following:
Code: |
FF17 E4 04 08 LFF17: LD DCBUF+5,DCBUF+1
FF1A B4 05 08 XOR DCBUF+5,DCBUF+2
FF1D B4 06 08 XOR DCBUF+5,DCBUF+3
FF20 B4 07 08 XOR DCBUF+5,DCBUF+4
FF23 60 08 COM DCBUF+5
FF25 8D 01 46 JP 0146H
|
It would seem that the first code snippet is a non-standard variant of the XOR-comp option?
To sum up, I was trying to code an equivalent to the first code fragment,
and wondered what the 'R11' equivalent is on the P8/740?
Maybe it would be $69 ??? i.e one less than R12
I think the darkened room is now beckoning.... |
|
Back to top |
|
|
johnsfine Site Admin
Joined: 10 Aug 2003 Posts: 4766 Location: Bedford, MA |
Posted: Sat Jun 26, 2004 2:15 pm Post subject: |
|
|
I forget where the "XOR-comp" quote started (I assume in some related previous thread). I just replied to that quote, I didn't verify that XOR-comp is actually correct. The working (I assume) code you quoted seems to be for XOR, not XOR-comp and I think XOR is more likely correct for Panasonic.
Also the code you created with PB for XOR-comp/4-bytes seems to be for too few command bytes. In PB you must set the number of command bytes to include the check byte, not to be the length of the hex command. In this case 1 command byte is in the hex command, but two are in the transmitted data. The code you quoted doesn't seem to get that right.
I think R11 is the number of command bytes (with certain exceptions). The protocol code must change it in most cases in which the length of the hex command does not match the number of command bytes transmitted. I have no idea what the non S3C80 version of that is. |
|
Back to top |
|
|
Mark Pierson Expert
Joined: 03 Aug 2003 Posts: 3017 Location: Connecticut, USA |
Posted: Sat Jun 26, 2004 2:47 pm Post subject: |
|
|
johnsfine wrote: | IR often makes that type of display error when there are very few buttons defined in an upgrade. |
Mark Pauker once told me that IR needs something like 4 to 6 buttons defined in an upgrade for IR to properly parse it for display. The reason for this is that it doesn't have any access to protocol-specific details like how many fixed data bytes there's supposed to be... it has to guess based on only the raw hex data. It tries to make some intelligent guesses on the number of buttons defined by basically decoding the upgrade in reverse to ascertain the fixed data. _________________ Mark |
|
Back to top |
|
|
mr_d_p_gumby Expert
Joined: 03 Aug 2003 Posts: 1370 Location: Newbury Park, CA |
Posted: Sat Jun 26, 2004 3:55 pm Post subject: |
|
|
Here's a completely untested version of the 56-bit protocol for the P8/740:
Code: | Upgrade protocol 0 = 01 C9 (P8/740)
0D 1A 51 A9 8B 20 DB 00 A2 45 A0 03 22 44 A2 00
3C 00 63 B5 5D 85 56 45 63 85 63 E8 86 66 3C 08
57 A9 11 20 DB 00 A2 91 A0 01 26 56 90 04 A2 B4
A0 02 22 44 C6 57 D0 E9 A6 66 E0 07 D0 D5 A9 11
20 DB 00 A2 86 A0 61 22 44 22 06 90 B6 60
End | The PB file I used to generate this is here. Maybe it'll give you a good enough start to get it working. I haven't checked the timing values, so they may need to be tweaked a little. The best way to do this is to teach it to a learning remote and note the results in IR.
Jason's code in PB for the Direct Calls method seems to have a few glitches in it, and it sets the bit count to 256 for one of the bytes. Jason, if you're out there, maybe you could take a look at this & see what's wrong.
Mog wrote: | What would the P8/740 equivalent to the 'R11' reference be?
...
Maybe it would be $69 ??? i.e one less than R12 | $69 contains a count of the number of device bytes in the buffer, or, to look at it another way, it points to the first command byte. There isn't a direct equivalent to R11 in the P8/740 (which is a count of the number of command bytes in the buffer). Somewhere, it does keep track of the total number of bytes in the buffer, but I don't recall the address of that at the moment. _________________ Mike England |
|
Back to top |
|
|
Mog
Joined: 02 Jun 2004 Posts: 48
|
Posted: Sat Jun 26, 2004 7:20 pm Post subject: |
|
|
First off - thanks a lot for taking so much trouble
It has all been very educational, I must say
Unfortunately, it's not quite working, but I'm not sure if it's something
I did wrong (it's rather late here in the UK now, and I'm getting sleepy)
I appear to be getting the following sequence for every key:
Code: | 40 04 01 12 00 00 57 |
I don't think it's because I have put zero in the 6th byte every time...
However, the timings look pretty good.
I'll have another look in the morning |
|
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
|