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

Help with converting CCF to JP1 (Electrohome protocol)
Goto page Previous  1, 2
 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - General Forum
View previous topic :: View next topic  
Author Message
jon_armstrong
Expert


Joined: 03 Aug 2003
Posts: 1238
Location: R.I.P. 3/25/2005

                    
PostPosted: Tue Jan 04, 2005 7:38 pm    Post subject: Protocol Assembly Language Help Needed Reply with quote

OK, I think I see the problem but we also need some help. If you hold a button down, the start frame just keeps getting repeated. The other frames are produced only after a botton release.

This is the IR protocol in irp format:

{42.3k.or 336k,msb}<-376,+376|376,-376>((1:1,31:6,376,^46046)2,(1:1,F:6,376,^46046)+,(1:1,31:6,376,^46046)2)

All frames are the same. The first is the "start frame" repeated twice, the second the data frame should repeat as long as the button is held. The final frame is the same as the first and sent twice at button release. It is in the spec here

There are two versions of the Protocol, one at 42.3KHz and the other at 336 KHz that are otherwise the same.

Here is John Fine's original protocol disassembled with Mike's disassembler in PB:

Code:
Addr   Code   Label   Op   Op Args   Comments
FF00   37 82      DB   37H,82H   ;42.3 kHz 30%
FF02   01      DB   01H   ;0 dev, 1 cmd
FF03   8B 13      JR   LFF18   
FF05   C4      DB   C4H   ;pf0: 11000100=1-cmd,dev-cmd,OffAsTotal
FF06   85      DB   85H   ;pf1: 10000101=RptHeld,LI-same,-LO
FF07   10      DB   10H   ;pf2: 00010000=0-rev
FF08   08      DB   08H   ;pd00: DevBits1=8
FF09   07      DB   07H   ;pd01: CmdBits1=7
FF0A   00 BC      DW   00BCH   ;pd02/03: 1-burst on=376 uS
FF0C   00 A8      DW   00A8H   ;pd04/05: 1-burst off=376 uS
FF0E   00 BC      DW   00BCH   ;pd06/07: 0-burst on=376 uS
FF10   00 A8      DW   00A8H   ;pd08/09: 0-burst off=376 uS
FF12   59 EF      DW   59EFH   ;pd0A/0B: Leadout off=46046 uS
FF14   00 BC      DW   00BCH   ;pd0C/0D: Leadin on=376 uS
FF16   03 98      DW   0398H   ;pd0E/0F: Leadin off=1880 uS
FF18   58 03   LFF18:   LD   W5,DCBUF   
FF1A   E6 03 BE      LD   DCBUF,#BEH   
FF1D   F6 01 46      CALL   0146H   
FF20   F6 01 46      CALL   0146H   
FF23   59 03      LD   DCBUF,W5   
FF25   56 C5 03      AND   RC5,#03H   
FF28   EB 02      JRNE   LFF2C   
FF2A   5C 0B      LD   W5,#0BH   
FF2C   DF   LFF2C:   SCF      
FF2D   C0 03      RRC   DCBUF   
FF2F   02 55      ADD   W5,W5   
FF31   F6 01 46   LFF31:   CALL   0146H   
FF34   5A FB      DJNZ   W5,LFF31   
FF36   E6 03 BE      LD   DCBUF,#BEH
FF39   F6 01 46      CALL   0146H
FF3C   8D 01 46      JP   0146H


When I initially tested this I used the Tap method since I wanted to see all the different frames using Tommy's original IRAnalyzer. The start bit was being repeated 6 times. Other than that all seemed to work well. I removed:
Code:
FF20   F6 01 46      CALL   0146H

since I thought it was getting three minimum repeats from each pass at the protocol engine and after I did that, it started reliably doing two repeats and Vynce started testing.

To make long story short it was inreliable and it looks like the protocol just repeats the start frame as long as you hold the button down. So my guess is the protocol engine doesn't release it to execute the next steps until the key is released. I think Vynce was getting a little better recognition out of the Taps.

Also, if it will simplify matters, there is a Pronto ccf file that was generated by Guy Kuo and Barry Gordon five years ago, and they simplified the protocol to {42.3k.or 336k,msb}<-376,+376|376,-376>((1:1,31:6,376,^46046)2,(1:1,F:6,376,^46046)+)

John created a protocol that sought to create the exact signal since you can do that with an OFA remote but not a Pronto. Certain commands need 2 minimum repeats of the data frame, most 4 repeats and four commands require 22 repeats. John did that using the bottom bit of OBC as a trigger (0 repeats 22 time and 1 four). However, everyone reported that the Pronto version works well, so that may not be necessary and may simplify fixing the problem.
_________________
-Jon
Back to top
View user's profile Send private message Send e-mail Visit poster's website
jon_armstrong
Expert


Joined: 03 Aug 2003
Posts: 1238
Location: R.I.P. 3/25/2005

                    
PostPosted: Thu Jan 06, 2005 12:35 am    Post subject: Reply with quote

let's try these they should be closer:
Low Frequency
Upgrade protocol 0 = 01 E1 (S3C8)
37 82 01 8B 13 C4 84 10 08 07 00 BC 00 A8 00 BC
00 A8 59 EF 00 BC 03 98 58 03 E6 03 BE F6 01 46
F6 01 46 59 03 56 C5 03 EB 02 5C 0B DF C0 03 02
55 F6 01 46 5A FB E6 03 BE F6 01 46 8D 01 46
End

High Frequency
Upgrade protocol 0 = 01 E2 (S3C8)
0A 0A 01 8B 13 C4 84 10 08 07 00 BC 00 A8 00 BC
00 A8 59 EF 00 BC 03 98 58 03 E6 03 BE F6 01 46
F6 01 46 59 03 56 C5 03 EB 02 5C 0B DF C0 03 02
55 F6 01 46 5A FB E6 03 BE F6 01 46 8D 01 46
End
_________________
-Jon
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Vynce



Joined: 30 Jul 2004
Posts: 17

                    
PostPosted: Thu Jan 06, 2005 1:07 am    Post subject: Reply with quote

Those work about the same as the previous ones, maybe slightly less reliably. They both work. The high frequency one works better. It still takes several presses for commands to be recognised.

I might try to use Digitrace to capture some output from the wired remote sometime in the next few days.
Back to top
View user's profile Send private message
jon_armstrong
Expert


Joined: 03 Aug 2003
Posts: 1238
Location: R.I.P. 3/25/2005

                    
PostPosted: Thu Jan 06, 2005 9:19 am    Post subject: Reply with quote

From my testing, those commands send out exactly two start frames, two data frames and two stop frames. Those should be better for L/R/U/D commands, but then I don't have the gear Smile
_________________
-Jon
Back to top
View user's profile Send private message Send e-mail Visit poster's website
jon_armstrong
Expert


Joined: 03 Aug 2003
Posts: 1238
Location: R.I.P. 3/25/2005

                    
PostPosted: Thu Jan 06, 2005 6:50 pm    Post subject: Reply with quote

OK, try these the second segment appears to now repeat as long as the button is held:

Low Freq

Upgrade protocol 0 = 01 E1 (S3C8+) PB v3.10
37 82 01 8B 13 C4 84 10 08 07 00 BC 00 A8 00 BC
00 A8 59 EF 00 BC 03 98 58 03 E6 03 BE F6 01 46
F6 01 46 E6 29 85 59 03 56 C5 03 EB 02 5C 0B DF
C0 03 02 55 F6 01 46 5A FB E6 03 BE E6 29 84 F6
01 46 8D 01 46
End

High Freq

Upgrade protocol 0 = 01 E2 (S3C8)
0A 0A 01 8B 13 C4 84 10 08 07 00 BC 00 A8 00 BC
00 A8 59 EF 00 BC 03 98 58 03 E6 03 BE F6 01 46
F6 01 46 E6 29 85 59 03 56 C5 03 EB 02 5C 0B DF
C0 03 02 55 F6 01 46 5A FB E6 03 BE E6 29 84 F6
01 46 8D 01 46
End
_________________
-Jon
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Vynce



Joined: 30 Jul 2004
Posts: 17

                    
PostPosted: Thu Jan 06, 2005 7:55 pm    Post subject: Reply with quote

Power toggle seems to work perfectly - worked on the first try both times I tried it. Brightness and contrast still require several presses or holding the button down. Arrows don't work at all.

I tried to use Digitrace to grab the output from the wired remote by connecting it to my parallel port. So far I have been unable to get it to work. Digitrace and the parallel port work fine - grounding a data pin causes Digitrace to record. Perhaps the output has a DC offset, so that the lows are too high for parallel port to detect as low.
Back to top
View user's profile Send private message
jon_armstrong
Expert


Joined: 03 Aug 2003
Posts: 1238
Location: R.I.P. 3/25/2005

                    
PostPosted: Thu Jan 06, 2005 8:13 pm    Post subject: Reply with quote

The butons now should work correctly. There are exactly two start frames the center data frame repeats as long as you depress the button (sends a minimum of 2) and then two stop frames. Did you try both high and low frequency?

Are you using any sort of IR distribution system? (are you pointing the remote directly at the IR receiver?)
_________________
-Jon
Back to top
View user's profile Send private message Send e-mail Visit poster's website
jon_armstrong
Expert


Joined: 03 Aug 2003
Posts: 1238
Location: R.I.P. 3/25/2005

                    
PostPosted: Thu Jan 06, 2005 8:21 pm    Post subject: Reply with quote

You might also try tweaking minimum repeat. If you take the "true" OBC values and:
1. Multiply by four you get 22 minimum repeats,
2. Multiply by four and add three you get six minimum repeats,
3. Multiply by four and add one you get two minmum repeats.

True OBC values (you must do 1, 2, or 3 above and then enter into KM Master) for example Power would be 28 for 22 repeats, 29 for two repeats and 31 for 6 repeats:

0 #
2 EXIT
3 HELP
4 SIZE
5 4
7 POWER
8 FAST/SLOW Sync
9 SOURCE
12 KEY
13 7
16 TINT
19 2
20 H Hold
21 6
23 VOL
24 *
25 CONT
26 Up
28 FOCUS
29 9
30 Down
32 DETAIL
33 Power On
34 Power Off
35 3
36 V Hold
37 5
38 Right
39 MUTE
40 PIN
41 BRITE
42 Mute On
43 Mute Off
44 VBLANK
45 8
46 Standby On
47 Standby Off
48 0
50 CONVERGE
51 1
52 BOW
53 STANDBY
54 Left
55 RESET
56 PROJ
57 COLOR
60 MOVE
61 RECALL
_________________
-Jon
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: 21234
Location: Chicago, IL

                    
PostPosted: Thu Jan 06, 2005 9:54 pm    Post subject: Reply with quote

jon_armstrong wrote:
You might also try tweaking minimum repeat. If you take the "true" OBC values and:
1. Multiply by four you get 22 minimum repeats,
2. Multiply by four and add three you get six minimum repeats,
3. Multiply by four and add one you get two minmum repeats.

And just in case you hadn't thought of it, Excel is a great tool for doing this sirt of thing.
_________________
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
Vynce



Joined: 30 Jul 2004
Posts: 17

                    
PostPosted: Thu Jan 06, 2005 11:15 pm    Post subject: Reply with quote

I tried redoing all the OBCs according to your directions and the minimum number of repeats listed in the service manual.

Power toggle still works well. It actually doesn't work every time, but it usually works. Other buttons still require several presses or holding the button down. Arrow buttons don't work at all.

I've been trying both frequency versions all along. They both generally work. The high frequency one works from various distances. The low frequency one only works when the remote is about a foot away - any closer or futher and it doesn't work at all.

I'm not using any distribution system. I'm pointing the remote directly at the sensor or at the wall that the sensor faces - I always try both and at various distances.
Back to top
View user's profile Send private message
jon_armstrong
Expert


Joined: 03 Aug 2003
Posts: 1238
Location: R.I.P. 3/25/2005

                    
PostPosted: Fri Jan 07, 2005 10:08 am    Post subject: Reply with quote

The only thing I can think of is tweaing the framing or a skewing of On/Off times due to the higher frequency. Lets tackle framing first:

Low Freq

Upgrade protocol 0 = 01 E1 (S3C8+) PB v3.10
37 82 01 8B 13 C4 84 10 08 07 00 BC 00 A8 00 BC
00 A8 58 78 00 BC 03 98 58 03 E6 03 BE F6 01 46
F6 01 46 E6 29 85 59 03 56 C5 03 EB 02 5C 0B DF
C0 03 02 55 F6 01 46 5A FB E6 03 BE E6 29 84 F6
01 46 8D 01 46
End

High Freq

Upgrade protocol 0 = 01 E2 (S3C8)
0A 0A 01 8B 13 C4 84 10 08 07 00 BC 00 A8 00 BC
00 A8 58 78 00 BC 03 98 58 03 E6 03 BE F6 01 46
F6 01 46 E6 29 85 59 03 56 C5 03 EB 02 5C 0B DF
C0 03 02 55 F6 01 46 5A FB E6 03 BE E6 29 84 F6
01 46 8D 01 46
End


The two bytes in bold control the degment lenth of all segments. According to the spec it's 46046 uSec. The previous value 59 EF is decimal 23023 and is in two second increments (or 46046).

When I tested the low frequency version (and I have no way to test the high frequency version) it was about 400uS too long so I have adjusted this number to be closer to the Pronto files.

Try these and if that doesn work you could keep shortening it untill it gets more reliable or less reliable and then try the opposite.
_________________
-Jon
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Vynce



Joined: 30 Jul 2004
Posts: 17

                    
PostPosted: Tue Mar 08, 2005 9:33 pm    Post subject: Reply with quote

I haven't given up on getting this working yet Wink

Good news...
The reseller that I bought my projector from sent me a URC-8811 which he taught several ECP commands to. I have tested it with my projector and all the commands work perfectly, so hopefully we can use it to develop a working protocol. Here are the contents of the remote that I grabbed with IR v5.15: Learned ECP commands.

According to IR, the learned commands seem to be the low frequency type.

Here is the key mapping:
Code:
URC            ECP
---            ---
Power          Power
Arrows         Arrows
Menu           Crosshatch pattern
Guide          Converge
Exit           Exit
Numbers        Numbers
Channel Up     Brightness
Channel Down   Tint
Volume Up      Contrast
Volume Down    Color
Prev           Move
Back to top
View user's profile Send private message
jon_armstrong
Expert


Joined: 03 Aug 2003
Posts: 1238
Location: R.I.P. 3/25/2005

                    
PostPosted: Thu Mar 17, 2005 1:56 pm    Post subject: Reply with quote

I just posted a new device and protocol upgrade based on the learned commands. I have assigned very few keys in the buttons tab and it is set for a 6131 PVR remote but if you are using the extender you apparently select a different remote type in the setup tab, cell C2, "6131 PVR Extender".

Please do not use this with any prior KM upgrades since I started over.

Based on my limited testing it is sending the same commands as those that were learned. I have added the other commands that were in the Pronto file for the ECP (as those were consistent with what I decoded.)
_________________
-Jon
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Vynce



Joined: 30 Jul 2004
Posts: 17

                    
PostPosted: Thu Mar 17, 2005 11:31 pm    Post subject: Reply with quote

Cool! I tested several commands and they all seem to work just as well as the learned commands! Very Happy I'll do some more testing over the next few days.

I'm interested in what the differences are between this protocol and the previous one.

Thanks!
Back to top
View user's profile Send private message
jon_armstrong
Expert


Joined: 03 Aug 2003
Posts: 1238
Location: R.I.P. 3/25/2005

                    
PostPosted: Fri Mar 18, 2005 7:15 pm    Post subject: Reply with quote

Here is the long answer to what's different:

The spec in the manual that we saw was:

{42.3k,msb}<-376,+376|376,-376>((1:1,31:6,376,^46m)2,(1:1,F:6,376,^46m)+,(1:1,31:6,376,^46m)2)

and what was learned was:

{42.3k,msb}<-376,+376|376,-376>((1:1,31:6,376,^24m),(1:1,F:6,376,^46m)+)

What this means is:
{42.3k,msb} ==> 42KHz carrier frequency, the bits are sent most significant bit first, which is the normal way we think of binary
<-376,+376|376,-376> ==> these are the Zero|One definitions + means carrier On, - means off

(1:1,31:6,376,^46m)2 ==>1 decimal expressed in 1 bit (1:1), 31 in 6-bits (011111), 376 uSec of On time followed by a long off period (gap) such that the interval between frames is 46 mS. The final 2 means two repeats of the first frame.

The data frames are all (1:1,x:6,376,^46m) and in the the first two frames x=31. The third and subsequent frames (as long as the button is held) have x=OBC. In the spec when the key is released, you get another two frames where x=31. The plus at the end of the expression in the center means that it repeats when the button is held. So in theory it would be 1-1-2-2-2- ... 2-1-1.

The learned command was simpler. One frame with x=31 and a repeating frame where x=OBC. However, I think the most significant difference is the gap between the between the leading pulse of the first to second frame (24 mS) compared to 46 mS thereafter. There were no repeated first frames that I saw either.

The learned command may well have a release command but if you hold the key being learned down, until the remote being taught double-blinks, you never see the release command in the learn.

At this point if it's reliable, the release command probably isn't very important (if it even exists). It usually isn't that important and will only show up in fast macros, where the IR receiver is looking for a release flag before being ready to move on to another command. But much of that that is conjecture on my part, based on keyboards.
_________________
-Jon
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic       JP1 Remotes Forum Index -> JP1 - General Forum All times are GMT - 5 Hours
Goto page Previous  1, 2
Page 2 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