I'm not sure this will cure all your ills, but try calling $FF5C the second time (instead of $FF5F). This re-initializes the IR engine before it executes. While this is not always necessary, to get the second call to start all over in this case, I think it might be needed to reset the "half-after-first" logic.vickyg2003 wrote:The question is HOW!
DVICO TVIX HD M-5100SH
Moderator: Moderators
-
mr_d_p_gumby
- Expert
- Posts: 1370
- Joined: Sun Aug 03, 2003 12:13 am
- Location: Newbury Park, CA
Mike England
-
vickyg2003
- Site Admin
- Posts: 7109
- Joined: Sat Mar 20, 2004 12:19 pm
- Location: Florida
- Contact:
The good news is that I figured out how to get my code to repeat.
The bad news is that I can't get the whole signal to send out once I change the hold to NO. I'm only getting DEV-CMD Not DEV-cmd-cmd-cmd.
Once I realized that I went back and looked at the code, and realized that the information was really supposed to be a 3cmd code, that's what rob was doing in the three lines of assembly code. So I went back to protocol builder and recalculated the other flags based on this being a 3cmd data bytes, the Pf0 then changed to CD instead of the C5 I used before, but even at that, the engine is still not sending out those two cmd bytes of zeros.
Does that ring any bells for anybody?
The bad news is that I can't get the whole signal to send out once I change the hold to NO. I'm only getting DEV-CMD Not DEV-cmd-cmd-cmd.
Once I realized that I went back and looked at the code, and realized that the information was really supposed to be a 3cmd code, that's what rob was doing in the three lines of assembly code. So I went back to protocol builder and recalculated the other flags based on this being a 3cmd data bytes, the Pf0 then changed to CD instead of the C5 I used before, but even at that, the engine is still not sending out those two cmd bytes of zeros.
Does that ring any bells for anybody?
-
The Robman
- Site Owner
- Posts: 21988
- Joined: Fri Aug 01, 2003 9:37 am
- Location: Chicago, IL
- Contact:
The trick that I do is this, in PB I say that I want 1 fixed byte and 3 variable bytes, then I let PB generate the code. Once in assembler mode, I change the number of variable bytes to 1 but I don't change any of the bits that format the signal. In the S3C8 world, that means that I don't change the R28 register, which should indicate 1 fixed bytes and all the variable bytes. I believe it's the same with HCS08.
The HCS08 upgrade that I originally created formatted all the bytes correctly, so if you used that as a starting point, you should have the dev-cmd-zero-zero thing taken care of, the only problem remaining is to format the delay and the repeats.
The HCS08 upgrade that I originally created formatted all the bytes correctly, so if you used that as a starting point, you should have the dev-cmd-zero-zero thing taken care of, the only problem remaining is to format the delay and the repeats.
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
-
vickyg2003
- Site Admin
- Posts: 7109
- Joined: Sat Mar 20, 2004 12:19 pm
- Location: Florida
- Contact:
Yes I figured out the trick to manipulate PB when I first realized I was missing bytes.
After more testing I find that if the Flag says
$4D all keys repeat
$4E the repeating keys work as normal, but the non-repeating keys are missing 2 bytes of data
$4C no keys repeat , and all keys are missing 2 bytes of data
CBytes is still set to 3 after the signal is sent, if I change to $4d for the retransmit I get all the bytes, so my only conclusion is that
non-repeating keys don't use CBytes to figure out what to transmit.
After more testing I find that if the Flag says
$4D all keys repeat
$4E the repeating keys work as normal, but the non-repeating keys are missing 2 bytes of data
$4C no keys repeat , and all keys are missing 2 bytes of data
CBytes is still set to 3 after the signal is sent, if I change to $4d for the retransmit I get all the bytes, so my only conclusion is that
non-repeating keys don't use CBytes to figure out what to transmit.
The formating of the delay and repeats works, its the figuring out what the IRengine is using instead of Cbytes for the nonrepeating forms that is the challenge here.The HCS08 upgrade that I originally created formatted all the bytes correctly, so if you used that as a starting point, you should have the dev-cmd-zero-zero thing taken care of, the only problem remaining is to format the delay and the repeats.
-
mr_d_p_gumby
- Expert
- Posts: 1370
- Joined: Sun Aug 03, 2003 12:13 am
- Location: Newbury Park, CA
R28 in S3C8 is $A2 in HCS08 (i.e., flag byte PF0), and yes it works the same as far as I am aware. Vicky is manipulating PF1 (R29 in S3C8 speak) for the repeats.The Robman wrote:In the S3C8 world, that means that I don't change the R28 register, which should indicate 1 fixed bytes and all the variable bytes. I believe it's the same with HCS08.
I think Cbytes is only used if bits 2 & 3 of PF0 are set to 1. When you call the IR engne, it first loads the bit buffer from DCBUF, using code something like this:vickyg2003 wrote:The formating of the delay and repeats works, its the figuring out what the IRengine is using instead of Cbytes for the nonrepeating forms that is the challenge here.
Code: Select all
LDA pf0
AND #$0C
BEQ NoCmdBits
CMP #$0C
BNE NotAllCmds
TXA
ADD Cbytes
...
JSR LoadBitsFor PF1, bits 0 & 1 are the repeat-if-held types (both S3C8 & HCS08 are coded the same in PB):
00 No
01 Yes
10 Only Ch/Vol/FF/Rew
11 No data bits in repeat frames
Are you calling $FF5C to send the frames after the delay?
Mike England
-
vickyg2003
- Site Admin
- Posts: 7109
- Joined: Sat Mar 20, 2004 12:19 pm
- Location: Florida
- Contact:
-
vickyg2003
- Site Admin
- Posts: 7109
- Joined: Sat Mar 20, 2004 12:19 pm
- Location: Florida
- Contact:
I haven't given up, but this is going to be quite tricky.
I tried changing pf0 to $CC to use with the no repeat.
The resulting signal was
CMD-CMD-CMD
Second showing was
CMD CMD CMD also and the Leadin times were very,very screwy. The lead-in might be correctable, but if the first frame isn't right, its not worth pursuing.......
I tried changing pf0 to $CC to use with the no repeat.
The resulting signal was
CMD-CMD-CMD
Second showing was
CMD CMD CMD also and the Leadin times were very,very screwy. The lead-in might be correctable, but if the first frame isn't right, its not worth pursuing.......
-
vickyg2003
- Site Admin
- Posts: 7109
- Joined: Sat Mar 20, 2004 12:19 pm
- Location: Florida
- Contact:
Doh!
The answer was in front of me all the time, I was just too busy concentrating on the flags.
I'll finish up with documenation when I get back.
The answer was in front of me all the time, I was just too busy concentrating on the flags.
I just needed to do this on the first call and it fixed all my ills.mr_d_p_gumby wrote:
I'm not sure this will cure all your ills, but try calling $FF5C the second time (instead of $FF5F). This re-initializes the IR engine before it executes. While this is not always necessary, to get the second call to start all over in this case, I think it might be needed to reset the "half-after-first" logic.
I'll finish up with documenation when I get back.
-
vickyg2003
- Site Admin
- Posts: 7109
- Joined: Sat Mar 20, 2004 12:19 pm
- Location: Florida
- Contact:
Friday
Try this upgrade. It should give you the type of repeating you want for your arrows.
Is the timing correct? Too long, too short?
Upgrade protocol 0 = 01 FF (HCS08) Tvix 5000 DELAYED REPEAT (PB v4.01)
20 15 23 47 11 C5 4C 08 08 01 21 03 45 01 21 01
1A FF FD 11 A7 08 CB 3F 62 3F 63 6E 03 AA CD FF
5C CD FF 92 24 0E 45 10 4D CD FF 74 3B A3 F7 CD
FF 92 25 01 81 6E 4D A3 1D AB CC FF 5F
End
Try this upgrade. It should give you the type of repeating you want for your arrows.
Is the timing correct? Too long, too short?
Upgrade protocol 0 = 01 FF (HCS08) Tvix 5000 DELAYED REPEAT (PB v4.01)
20 15 23 47 11 C5 4C 08 08 01 21 03 45 01 21 01
1A FF FD 11 A7 08 CB 3F 62 3F 63 6E 03 AA CD FF
5C CD FF 92 24 0E 45 10 4D CD FF 74 3B A3 F7 CD
FF 92 25 01 81 6E 4D A3 1D AB CC FF 5F
End
-
vickyg2003
- Site Admin
- Posts: 7109
- Joined: Sat Mar 20, 2004 12:19 pm
- Location: Florida
- Contact:
I'm sorry. I do not know where I got that from. That's not what my working remote had in it.
Upgrade protocol 0 = 01 FF (HCS08) Tvix 5000 DELAYED REPEAT (PB v4.01)
20 15 23 47 11 CD 4C 08 08 01 21 03 45 01 21 01
1A FF FD 11 A7 08 CB 3F 62 3F 63 6E 03 AA CD FF
5C CD FF 92 24 0E 45 10 4D CD FF 74 3B A3 F7 CD
FF 92 25 01 81 6E 4D A3 1D AB CC FF 5C
End
This is what was working.
This may not be a protocol that you want to work with your Non-Repeating keys, like 1,2,3,4,5,6,7,8,9, 0 , Ok, Menu, ..... Because your Tvix probably ignores repeats on those keys, where this protocol sends a second "first frame" which is like a second key press.
I would probably create a dummy device for doing keymoves to cover the up/down arrows and any other keys you want to use with delayed repeats.
Upgrade protocol 0 = 01 FF (HCS08) Tvix 5000 DELAYED REPEAT (PB v4.01)
20 15 23 47 11 CD 4C 08 08 01 21 03 45 01 21 01
1A FF FD 11 A7 08 CB 3F 62 3F 63 6E 03 AA CD FF
5C CD FF 92 24 0E 45 10 4D CD FF 74 3B A3 F7 CD
FF 92 25 01 81 6E 4D A3 1D AB CC FF 5C
End
This is what was working.
This may not be a protocol that you want to work with your Non-Repeating keys, like 1,2,3,4,5,6,7,8,9, 0 , Ok, Menu, ..... Because your Tvix probably ignores repeats on those keys, where this protocol sends a second "first frame" which is like a second key press.
I would probably create a dummy device for doing keymoves to cover the up/down arrows and any other keys you want to use with delayed repeats.
-
The Robman
- Site Owner
- Posts: 21988
- Joined: Fri Aug 01, 2003 9:37 am
- Location: Chicago, IL
- Contact:
But that will only happen if the user holds the button down for quite a while, right? So I don't think it will be a problem, but we'll only know once Friday gets it working and tries it out.
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
-
vickyg2003
- Site Admin
- Posts: 7109
- Joined: Sat Mar 20, 2004 12:19 pm
- Location: Florida
- Contact:
Yes, if I'm interpetting what I see correctly (the ligt on my widget takes about 1 second before the rapid flashing starts).But that will only happen if the user holds the button down for quite a while, right? So I don't think it will be a problem, but we'll only know once Friday gets it working and tries it out.
I don't know if 1 second, will be "quite a while" for Friday. Its just about right for me. I couldn't get any signals to shoot without a repeat when I was using the original protocol.
with your last 2 protocols befor, the tvix dont even turn on. but with the last change you made it is nearly perfect.
but i found a strange effect. note that this might not be kritik on your work. only for me to know how it works.
the repeat starts now a bit later so my problems with that are gone. but when i do many single-pushes on down-arrow - exactly 2times a second - the tvix only responds 1time./sec.
when i do this only a bit slower, then the tvix responds on every push.
once again, now it works very very good, thanks a lot
friday
-
vickyg2003
- Site Admin
- Posts: 7109
- Joined: Sat Mar 20, 2004 12:19 pm
- Location: Florida
- Contact:
.but when i do many single-pushes on down-arrow - exactly 2times a second - the tvix only responds 1time./sec.
when i do this only a bit slower, then the tvix responds on every push
Hey Friday, .
I needed to add a little delay before I checked to see if the key was still down.
Try this
Upgrade protocol 0 = 01 FF (HCS08) Tvix 5000 DELAYED REPEAT (PB v4.01)
20 15 23 47 11 CD 4C 08 08 01 21 03 45 01 21 01
1A FF D7 11 A7 08 CB 3F 62 3F 63 6E 03 AA CD FF
5C 6E 10 A3 AD 18 CD FF 92 24 0A 6E 4D A3 AD 0E
CD FF 92 25 01 81 6E 4D A3 1D AB CC FF 5C 45 11
4D CD FF 74 3B A3 F7 81
End
Friday, Rob just provided me with a better solution. Don noty bother with this one, I'll fix the other one tomorrow.
Last edited by vickyg2003 on Thu Jun 18, 2009 4:14 pm, edited 1 time in total.