|
JP1 Remotes
|
View previous topic :: View next topic |
Author |
Message |
raycmaple
Joined: 13 Nov 2003 Posts: 13
|
Posted: Fri Nov 21, 2003 8:10 pm Post subject: Context switching buttons? |
|
|
Hello,
Great site! I've been lurking for a while, and plan to buy a 15-2116 to play with in the near future. In the meantime, I've been reading a lot, collecting information, and developing my initial "plan of attack". I found a device file on the Yahoo site that matches my VCR (JVC setup 0067) pretty well, but noticed that it assigned the vol and pip buttons to timed record start up/down, stop up/down, date up/down. While these are logical assignments (they match the location of those buttons on the OEM remote), these functions are only used after a button press to start the recoding setup. It occured to me that it would be nice if these function bindings were only active during that time. At first glance it looks like this would require the ability to do dynamic key moves from within a macro, which I haven't seen any mention of, so I assume they don't exit. Looking at the docs for ext2, it looks like it wouldn't be difficult to achieve a similar effect if there was a duplicate device set up with just the special context buttons established, so long as the context set was restricted to the extension button groupings. However, using this approach, one would require a large number of virtual devices if a lot of context switching on the same buttons was needed. (For example, it one wanted to use the up/down arrows for each of the above functions, and use the left/right arrows to switch between date, start, stop, etc., it would require 3 additional devices just for that function. Am I missing something? Is there another way to achieve this effect?
Thanks,
Ray |
|
Back to top |
|
|
johnsfine Site Admin
Joined: 10 Aug 2003 Posts: 4766 Location: Bedford, MA |
Posted: Fri Nov 21, 2003 8:23 pm Post subject: |
|
|
I only half understand how you intend to enter the special mode and don't understand at all how you intend to exit it. The important thing is that YOU first understand the intended behavior (which button presses when do what to the effective state of the remote).
Once you know the intended behavior, there are several ways to achieve it. The ToadTog protocol is the most obvious. Another obvious way is to use a whole device mode for it. Another way is to use a setup code and the device multiplexor or device toggler protocol. Each of those ways uses significant resources within the remote, but if those resources are available after everything else you want the remote to do, there's no reason to leave them unused vs. using a lot of resources on even a small feature. |
|
Back to top |
|
|
Nils_Ekberg Expert
Joined: 02 Aug 2003 Posts: 1689 Location: Near Albany, NY |
Posted: Fri Nov 21, 2003 8:25 pm Post subject: |
|
|
The simple answer to your questions is that no "dynamic button assignments" are not available. There are however ways to make it appear that that is happening. One way is by using dynamic device selection by setting up more than one device upgrade for the same device and having a macro switch devices depending on what series of buttons you press. This is tough (for me) to explain but you can read up on the dynamic device selection special protocol.
This is only one of many possibilities but may not be worth attempting since more than likely those button will send a signal but not do anything unless the VCR is in record set up mode.
Enjoy your reading and tinkering but don't knock yourself out with ideas until you can try them as that is when the fun starts. _________________ Nils
Files Section
Diagnosis File Section |
|
Back to top |
|
|
raycmaple
Joined: 13 Nov 2003 Posts: 13
|
Posted: Fri Nov 21, 2003 10:13 pm Post subject: |
|
|
Hello again,
Thanks for the responses. I've always been one to jump right into the deep end with something like this! I've been writing parsers and user interfaces for engineering research software for about 15 years, and my approach has always been to figure out what I want first, then find out if it can be done, then figure out how to make it happen if it "can't".
Re how the special state would exit, ANY context sensitive behavior has to to have clear entry and exit events. In the case of setting up a timer record with my vcr, a press of a "prog" button is required to bring up the timer record set up screen, and a second press of the prog button is required to save and exit the vcr recording setup. Six of the buttons used while this screen is up are dedicated buttons that are only meaningful while that screen is active. I hate to lose the button real estate to something like this. (yes, putting them on shifted buttons would get them out of the way, but would be very inconvenient when they did need to be used - sort of like moving your volume buttons to the shifted state)
I understand how to get context sensitive behavior via multiple devices using the extender, if not the special protocol (that is what I was trying to describe in my original post - must have failed) but realize that it would consume a lot of memory, to store the extra devices, thus the question about other approaches.
I've read the toadtog docs and understand what it does, but hadn't thought of using it this way. I'll have to think about it. Stupid question, but if toadtog can (apparently) write to the eprom to change the state of its toggle bits, couldn't a protocol be written to change an EFC on the fly if it had the correct address, which IR must know, since it generates the eprom image that is downloaded? I'd try it myself if I only I could write it in C.
At this point, even wanting to do any this is conjecture of course - just feeling out the possible from the impossible, and waiting eagerly for the real fun to begin. It won't be long now!
Thanks for your patience.
Ray |
|
Back to top |
|
|
johnsfine Site Admin
Joined: 10 Aug 2003 Posts: 4766 Location: Bedford, MA |
Posted: Fri Nov 21, 2003 11:17 pm Post subject: |
|
|
raycmaple wrote: | I've read the toadtog docs and understand what it does, but hadn't thought of using it this way. I'll have to think about it. Stupid question, but if toadtog can (apparently) write to the eprom to change the state of its toggle bits, couldn't a protocol be written to change an EFC on the fly if it had the correct address, which IR must know, since it generates the eprom image that is downloaded? I'd try it myself if I only I could write it in C. |
ToadTog does not write to the eeprom. The remote has registers and ram that can both be read and written easily, in addition to the eeprom that is hard to read and write. Counterintuitively, the ram is a for very temporary use (less than the duration of one key press) but some of the registers can be used for stable data. Toadtog uses a register.
A protocol could write to eeprom, but that's very hard. Given the limited space for storing protocols it just isn't a practical approach.
It's a very tight programming environment for asm programming. There isn't anywhere near enough space for C compiled code. |
|
Back to top |
|
|
raycmaple
Joined: 13 Nov 2003 Posts: 13
|
Posted: Sat Nov 22, 2003 12:12 am Post subject: |
|
|
Ah, back to the good old days, when a programmer was handed a memory budget of a few bytes. I knew a compiled language was not applicable - just wishful thinking. As an aero engineer, I've never had a reason to work with assembly, other than to analyze some disassembled compiled code. Do you folks have an assembler/disassembler, or do you write and analyze machine code by hand? In any case, my hat's off to you. What you have accomplished is amazing.
I'm very surprised there is a free register available to store data with any kind of persistance.
Later,
Ray |
|
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
|